La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Contrôle, configuration et acquisition de données à l’Irfu Laboratoire d’Ingénierie Logicielle pour les Applications Scientifiques.

Présentations similaires


Présentation au sujet: "Contrôle, configuration et acquisition de données à l’Irfu Laboratoire d’Ingénierie Logicielle pour les Applications Scientifiques."— Transcription de la présentation:

1 Contrôle, configuration et acquisition de données à l’Irfu Laboratoire d’Ingénierie Logicielle pour les Applications Scientifiques

2 Le Lilas Laboratoire d’Ingénierie Logicielle pour les Applications Scientifiques

3 Ingénierie logicielle pour les projets de l’Irfu simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

4 Ingénierie logicielle pour les projets de l’Irfu simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

5 Ingénierie logicielle pour les projets de l’Irfu simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

6 Ingénierie logicielle pour les projets de l’Irfu simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

7 Ingénierie logicielle pour les projets de l’Irfu simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

8 Ingénierie logicielle pour les projets de l’Irfu simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

9 Ingénierie logicielle pour les projets de l’Irfu embarqué / temps réel systèmes distribués visualisation calcul haute performance frameworks HEP Web / bases de données embarqué / temps réel systèmes distribués visualisation calcul haute performance frameworks HEP Web / bases de données technologies versioningwiki intégration continue mutualisation orientation « framework » versioningwiki intégration continue mutualisation orientation « framework » processus télescopessatellitesdétecteurs stations de calcul grilles de calcul supercalculateurstélescopessatellitesdétecteurs stations de calcul grilles de calcul supercalculateursplateformes CTA, Svom, Miri, Coast, KM3NeT, Herschel, GET, Atlas, CMS, T2K, Minos, Clas12, ILC… simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config simulation visualisation de données analyse de données sci ques gestion de données sci ques acquis n / contrôle & config applications

10 Acquisition, contrôle et configuration Dispositif typique Détecteur Front-end Acquisition embarquée Réseau GbE Ferme de PC Linux Stockage brut Contrôle Monitoring Base de données

11 Acquisition, contrôle et configuration Framework « Mordicus » : gestion du flot de données Performance Parallelism Computing Farm Intrinsic Parallelism Detection Nodes Standard COTS High performance Switch Fabric

12 Data Sender Run Control Framework « Mordicus » modules d’acquisition Embedded acq. node Command Line Interface Graphical User Interface Graphical User Interface Embedded acq. node Acquisition state machine & process control Data Filter Data Router Data Storage Monitoring

13 Run Control Framework « Mordicus » modules de contrôle et configuration Embedded acq. node Electronics Control & Configuration Command Line Interface Graphical User Interface Graphical User Interface Embedded acq. node

14 Data Sender Run Control Framework « Mordicus » Système d’acquisition: une application distribuée Embedded acq. node Electronics Control & Configuration Command Line Interface Graphical User Interface Graphical User Interface Embedded acq. node Acquisition state machine & process control Data Filter Data Router Data Storage Monitoring

15 Application distribuée: middleware OO

16 ClientClientServerServer Contract: Interface Defintion Contract: Code: Client Language Code: Code: Server Language Code: Code: Server Implementation Code: GeneratedGenerated ImplementedImplemented

17 Mordicus-hw Contrôle & configuration de l’électronique Network EmbeddedEmbedded EmbeddedEmbedded Mordicus-HW – Policy-based register access – Dynamic Remote Registers Communication middleware (ICE) Communication Communication middleware (ICE + SOAP)

18 Mordicus-hw Contrôle & configuration de l’électronique Mordicus-HW – Policy-based register access – Dynamic Remote Registers ICE Interface & data definitions Embedded C++ library (VxWorks & Linux) Host C++ library (Linux, MacOS) ICE Interface & data definitions Embedded C++ library (VxWorks & Linux) Host C++ library (Linux, MacOS) Node (network) Device (Mem, ASIC…) * ECCECC * RegisterRegister * Bit Field * (C++ templates) (CConfig framework) Optimal collaborative work between electronics and software engineers

19 Mordicus-ccfg « CompoundConfig » #include "CCfg/CConfig.h" #include "CCfg/Document.h" Ccfg::Document doc("hardware_descr.xcfg"); CCfg::CConfig cfg(doc.getConfig()); CCfg::CConfig agetCfg = cfg("Setup","Hardware")("Device","aget"); int offset = agetCfg ("Register","reg3")("offset"); #include "CCfg/CConfig.h" #include "CCfg/Document.h" Ccfg::Document doc("hardware_descr.xcfg"); CCfg::CConfig cfg(doc.getConfig()); CCfg::CConfig agetCfg = cfg("Setup","Hardware")("Device","aget"); int offset = agetCfg ("Register","reg3")("offset");

20 Mordicus-acq & Mordicus-ctrl Run control & processus d’acquisition  Patch et lancement des processus  Icegrid (middleware Ice)  Configuration centralisée des processus  Machine d’états du run distribuée sur tous les processus  Synchronisation des états  Gestion des états d’erreur  Contrôle de la configuration (RunID ↔ RunData)  Délégation des transitions au RC hôte du site  Session de contrôle unique, sessions de suivi multiples  Mécanismes d’extension  Classes C++ « Policy » instanciées dans des « Factory »  Organisation en « plugins »  Interfaces Ice pour tous les services  extensions multi-langages  Monitoring  Systématisation de la notion de « métrique »  Serveur publish/subscribe IceStorm  Patch et lancement des processus  Icegrid (middleware Ice)  Configuration centralisée des processus  Machine d’états du run distribuée sur tous les processus  Synchronisation des états  Gestion des états d’erreur  Contrôle de la configuration (RunID ↔ RunData)  Délégation des transitions au RC hôte du site  Session de contrôle unique, sessions de suivi multiples  Mécanismes d’extension  Classes C++ « Policy » instanciées dans des « Factory »  Organisation en « plugins »  Interfaces Ice pour tous les services  extensions multi-langages  Monitoring  Systématisation de la notion de « métrique »  Serveur publish/subscribe IceStorm

21 IHM largement réutilisable

22 Format de données « Multiframe Metaformat » A DOPTÉ PAR LE G ANIL COMME FORMAT STANDARD POUR LES DONNÉES D ’ ACQUISITION DES EXPÉRIENCES S PIRAL 2

23 Depuis 2006 processus de développement professionalisé Versioning Wiki Gestion développement en équipe

24 Depuis 2006 processus de développement professionalisé Intégration continue

25 Irfu/Sédi/Lilas

26 Bancs de test hautes performances

27 Visualisation avec SDVision (ici : simulation de formation de galaxie)

28 Développement logiciel: une activité en expansion Mise en œuvre de vraies « forges logicielles » Distribution et mises à jours automatisées Intégration plus poussée logiciel-électronique Développement des compétences HPC (GPU, MPI, OpenMP) Développement des interfaces avancées (tablettes, 3DsTR…) Browser-based applications & cloud computing Mise en œuvre de vraies « forges logicielles » Distribution et mises à jours automatisées Intégration plus poussée logiciel-électronique Développement des compétences HPC (GPU, MPI, OpenMP) Développement des interfaces avancées (tablettes, 3DsTR…) Browser-based applications & cloud computing Quelques pistes


Télécharger ppt "Contrôle, configuration et acquisition de données à l’Irfu Laboratoire d’Ingénierie Logicielle pour les Applications Scientifiques."

Présentations similaires


Annonces Google