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

OSTRE Optimisation des Systèmes Temps Réel Embarqués

Présentations similaires


Présentation au sujet: "OSTRE Optimisation des Systèmes Temps Réel Embarqués"— Transcription de la présentation:

1 OSTRE Optimisation des Systèmes Temps Réel Embarqués
Yves Sorel INRIA is the French National Institute for Research in Computer Science and Control, Christophe LAVARENNE is expert engineer, main SynDEx developper CyCab is an intelligent vehicle prototype developped at INRIA by the « La Route Automatisee » project, The CyCab is now industrialized by the Robosoft company, 1

2 Plan Contexte Programme de recherche Logiciel Collaborations
Enseignement Equipe Perspectives Application domains include image and signal processing and process control, requiring maybe huge amounts of computations to be executed under hard real-time constraints by distributed architectures in embedded systems. These applications must interact with their environment through sensors (sampling input stimuli) and actuators (holding output commands). They are « reactive » in the sense that output commands are computed from, in « reaction » to, input stimuli, they are « synchronous » in the sense of the Synchronous Languages (Esterel, Lustre, Signal). Distributed architectures put processing power close to sensors and actuators to shorten analog wiring and then multiplex digitalized signals, thus reducing overall wiring. They also allow modular processing power, provided that processors are available not only for low-level signals preprocessing, but also for application data processing, thus allowing application load balancing. Embedded applications have usually strong constraints on volume, power consumption, cost, and development time. 2

3 Contexte Entre automatique et informatique : communauté du temps réel et de l’architecture : depuis 1990 méthodologie AAA Applications : automobile et avionique (AEE, EAST), robotique mobile (CyCab, SAFE), télécom (PROMPT) Algorithmes applicatifs : contrôle-commande, TSI Systèmes Réactifs : événement stimulus - opérations – événement réaction Temps réel : temps de réaction borné sinon conséquences catastrophiques : contraintes latences (temps de réponse entrée-sortie) cadences (période entrée) Distribués : puissance calcul, modularité, câblage réduit Embarqués : minimisation des ressources Application domains include image and signal processing and process control, requiring maybe huge amounts of computations to be executed under hard real-time constraints by distributed architectures in embedded systems. These applications must interact with their environment through sensors (sampling input stimuli) and actuators (holding output commands). They are « reactive » in the sense that output commands are computed from, in « reaction » to, input stimuli, they are « synchronous » in the sense of the Synchronous Languages (Esterel, Lustre, Signal). Distributed architectures put processing power close to sensors and actuators to shorten analog wiring and then multiplex digitalized signals, thus reducing overall wiring. They also allow modular processing power, provided that processors are available not only for low-level signals preprocessing, but also for application data processing, thus allowing application load balancing. Embedded applications have usually strong constraints on volume, power consumption, cost, and development time. 2

4 Programme de recherche 4 axes
Modélisation des STRE : fondée sur la sémantique des langages synchrones et le modèle matériel RTL Modèles de graphes pour algorithme (fonctionnalités) et architecture (multicomposant et circuits intégrés spécifiques) Implantation transformation de graphes Optimisation d’implantation temps réel Génération automatique de code Tolérance aux pannes

5 Programme de recherche modélisation algorithme architecture
Théorie des graphes, ordre partiel, automate Spécification Algorithme applicatif (parallélisme potentiel) : hypergraphe orienté factorisé de dépendances de donnée (avec ou sans précédence) et/ou de conditionnement entre opérations (branchements), répétitif infini (réactif), répétitif fini (boucle) Vérification : langages Synchrones (ordre sur les événements) Spécification Architecture multicomposant (parallélisme effectif) : graphe orienté de machines séquentielles : processeurs + circuit intégrés spécifiques (ASIC, FPGA) + moyens de communication (mémoire partagée, passage de message) : adapté à conception conjointe logiciel/matériel

6 Programme de recherche modélisation algorithme
Itération n Filtrea Filtrea Filtrea gensig adap gensig adap gensig adap filtre sub filtre sub filtre sub coeff coeff coeff visu visu visu gensig filtre adap filtre sub adap visu retard coeff Dépendance donnée avec ou sans précédence Précédence seulement Dépendance donnée inter-itération

7 Programme de recherche modélisation architecture
processeur1 processeur2 processeur3 Opr1 Opr2 Opr3 RAM D/P RAM D/P RAM D RAM D/P Com1b SAM Com2b Com1a Com2a Com3a SAM RAM D moyen de communication : passage de msg mémoire partagée CI spécifique RAM D Opr4

8 Programme de recherche modélisation implantation
Implantation multicomposant : transformation des graphes d’algorithme et d’architecture, toutes les implantations sont décrites en intention comme la composition de trois relations binaires sur des couples (Gal, Gar) : rout. o dist. o ordo. ou comme une loi composition externe : Gal * Garout = Gal’ Ajout d’opérations de communication et d’allocation de mémoire Ajout d’arcs : renforce ordre partiel initial en fonction de l’architecture Implantation circuit : transformation du graphe d’algorithme par remplacement des opérations par des fonctions logiques, ajout de fonctions logiques pour synthèse du contrôle (boucles, conditionnements) Conserve les propriétés d’ordre sur les événements

9 Programme de recherche modélisation implantation
processeur1 processeur2 Opr1 RAM D/P Com1a SAM Com2a RAM D/P Opr2 in calc1 out calc2 allocP allocDl allocD in out calc1 calc2 send receive

10 Programme de recherche optimisation multicomposant
Adéquation : implantation optimisée, choix d’une transformation de graphes qui respecte une contrainte temps réel (1 latence = 1 cadence) et minimise les ressources de calcul et de com. Caractérisation hétérogène opération/opérateur et dépendance/moyen-de-communication : durée, interférence calcul/communication Distribution/ordonnancement calculs et communications : hors ligne sans préemption PB NP-difficile : solution approchée avec heuristiques rapides (prototypage) : gloutonne (ordonnancement de liste) lentes itératives : voisinage local, global Fonctions coût latence : flexibilité d’ordonnancement, chemin critique de Gal étiqueté par durées, calculs dans (max,+) Méta heuristique pour minimisation du nombre de composants

11 Programme de recherche optimisation monoprocesseur
Adéquation : implantation optimisée, choix d’une transformation de graphe (ordonnancement) qui respecte des contraintes temps réel multiples (plusieurs latences et plusieurs cadences) Caractérisation opération/opérateur (processeur) : durées, périodes Ordonnancement : hors ligne sans préemption Solution exacte

12 Programme de recherche optimisation circuit
Adéquation : implantation optimisée de l’algorithme respectant une contrainte temps réel (1 latence = 1 cadence) et minimisant le nombre de fonctions logiques lors du remplacement et de la synthèse du contrôle Défactorisation (data parallélisme) Refactorisation (pipe-line, retiming) PB NP-difficile : solution approchée avec heuristiques rapides (prototypage) : gloutonne lentes itératives : recuit simulé Fonctions coût pour minimisation latence : chemin critique de Gal étiqueté par durées et nombre de fonctions logiques

13 Programme de recherche génération de code multicomposant
Exécutif dédié : Synchronized Distributed Executive Transformation graphes : ajout sommets système : init. final. E/S, loop, synchronisations calcul communications (sémaphores) Sans interblocage et à faible surcoût Chaque sommet remplacé par macro-code indépendant processeur Code obtenu par macro-génération avec m4 et noyaux d’exécutifs Noyaux d’exécutif (macros) dépendant processeur pour : Processeurs : MPC555, MC68332, 80C196, ADSP2160, TMS320C40/C60, i386... Moyens de communication : links DSP, CAN, RS232, TCP/IP... Exécutif standard : configuration RTOS (RTlinux, Osek, etc) : priorités fixes avec ou sans préemption

14 Programme de recherche génération de code circuit
Transformation de graphe : remplacement des fonctions logiques par des net-list de composants Sommet factorisé : composant VHDL exécuté sur différentes données Hyperarc factorisé : signal VHDL Composant et signaux contrôlés par des compteurs, des multiplexeur, des démultiplexeur et des registres

15 Tolérance aux pannes Silence sur panne : pannes processeurs et moyens de communication Redondance logicielle : automatique réalisée à partir des pannes autorisées Optimisation : 2 extensions de l’heuristique multicomposant Fondée sur les communications redondées : première arrivée prise Fondée sur un mélange de solutions, chacune calculée pour une situation de panne possible

16 Logiciel Environnement sans rupture d’aide à la Spécification/simulation/implantation optimisée de systèmes distribués temps réel embarqués Spécification/simulation avec langage orienté métier : exemple Scicos pour spécification de l’environnement et du contrôleur, simulation hybride continu/discret Implantation optimisée avec AAA/SynDEx : Adéquation Algorithme Architecture implantation distribuée optimisée du contrôleur discret Scilab ( is a scientific software package for numerical computations with a sophisticated Matlab-like interpreter and rich libraries, among which Scicos with user-friendly GUI-based editor for modeling hybrid dynamical systems as hierarchical block diagrams. SynDEx ( is a system-level CAD software for the optimized implementation of control and signal/image processing applications on embedded distributed and multiprocessor architectures. m4 is the standard Unix macroprocessor, gcc is GNU ’s free (cross) compiler/assembler/linker. 4

17 Logiciel programmation CyCab généralités
Vitesse 30km/h Moteurs électriques 4 roues motrices 2 directions AV, AR Multi-processeur MPC555 + un Pentium Bus Can A new CyCab generation is developped and will be comercialized by Robosoft S.A. Under the same external shell as the original prototype, the mechanical and electronical components have been completely revised for the sake of industrialization. Industrialisé par Robosoft

18 Logiciel spécification/Simulation
Scilab/Scicos gratuit sur : www-rocq.inria.fr/scilab Scilab/Scicos Modèle du CyCab Sol Masses Suspension Roues Ecran Moteurs Contrôleur Discret Synthétisé Pilote Joystick, Radio... Codeurs, Caméra... The SynDEx system-level computer-aided-design software has been developed at INRIA to support the AAA methodology, and is freely downloadable from It offers a friendly graphical user interface allowing: - the interactive specification of the algorithm and architecture graphs, - the input of the real-time characteristics of computation and communication operations for each different kind of component of the maybe heterogeneous architecture, - the specification of distribution constraints for sensors, actuators, and maybe some computation operations, - the execution of the distribution/scheduling optimization heuristics, - the visualization of the resulting performance predictions, - the automatic generation of a deadlock-free synchronized distributed executive, mainly static for low-overhead, composed of a macrocode for each processor (to be translated by a « generic executive kernel » library of macros specific to each kind of architecture component), and a makefile to automate the macroprocessing / compilation / linking / loading process for all the processors. SynDEx Lois de commande Retards 3

19 Logiciel implantation temps réel optimisée
AAA/SynDEx gratuit sur : www-rocq.inria.fr/syndex Scicos/Scilab Lois de commande Retards AAA/SynDEx Algorithme Architecture Adéquation Distribution/Ordonnancement Heuristiques + Générateur Performances Calculées Contraintes The SynDEx system-level computer-aided-design software has been developed at INRIA to support the AAA methodology, and is freely downloadable from It offers a friendly graphical user interface allowing: - the interactive specification the algorithm and architecture graphs, here the algorithm is the discrete controler imported from Scicos - the input of the real-time characteristics of computation and communication operations for each different kind of component of the maybe heterogeneous architecture, - the specification of distribution constraints for sensors, actuators, and maybe some computation operations, - the execution of the distribution/scheduling optimization heuristics, - the visualization of the resulting performance predictions, - the automatic generation of a deadlock-free synchronized distributed executive, mainly static for low-overhead, composed of a macrocode for each processor (to be translated by a « generic executive kernel » library of macros specific to each kind of architecture component), and a makefile to automate the macroprocessing / compilation / linking / loading process for all the processors. m4 / gcc Macro-Exécutifs 386 et 555 + noyaux génériques + libs CyCab Exécutifs 3

20 Logiciel programmation CyCab application conduite manuelle
This is an example of basic CyCab application. The blue architecture graph on the top of the left window shows the PC (root), and the two MPC555 driving the front (F555) and rear (R555) axles. The green algorithm graph in the bottom of the left window shows dark green sensor operations on the left, dark green actuator operations on the right, and ligth green computation operations in between. Each operation (resp. data type, i.e. potential communication) is also characterized by its real-time execution duration, which may be different (or even undefined) for each different type of processor (resp. communication media). The right window shows the predicted performances of the computed distribution and scheduling for one « reactive » cycle. Time is flowing from top to bottom, with one column for each sequential resource: processors operations are in green, and communications are in gray. Arrows show inter-operation data-dependences.

21 INRIA : SOSSO, METALAU, MAXPLUS, BIP, ESPRESSO, TICK, HIPERCOM, etc
Collaborations INRIA : SOSSO, METALAU, MAXPLUS, BIP, ESPRESSO, TICK, HIPERCOM, etc Universitaires : COSI, A2SI, AXIS, LIESIB, LASL, LASMEA, LIP6, LISI, etc Industriels : AEE-EAST (Psa, Renault, Sagem, Valeo, DC, Volvo, Opel, Bosh, ZF, Etas, Vector, etc), PROMPT (Thales-communications, Esterel-Technology, Nokia), ACOTRIS (EADS, Sitia, CS-SI), SAFE (Robosoft, Frog-Navigation), Synopsis-Castor, etc On the CyCab first prototype, Scilab has been used for simulating applications such as trains of CyCabs with a unique driver in the front CyCab and each other CyCab following the CyCab before it, such that all CyCabs follow the same path. Several applications have been easily developped with SynDEx, for different hardware variants (for example to compensate for a missing microcontroller under repair, or for optional components such as a front camera, a GPS, a magnet sensor for road embedded magnets marking a path to follow, a wavelan communication media with the infrastructure, …), as well as for different application variants (remote control, vehicle following, path following, map-matching, …)

22 Enseignement Cours : DEA Orsay système électronique et traitement de l’information, ESIEE, ENSTA Thèses Soutenues entre 99 et 2001 R. Djenidi : coopération Scicos/SynDEx T. Grandpierre : modèle d’architecture et d’exécutif distribué temps réel A. Dias : synthèse de circuit intégrés R. Kocik : data-flow/control-flow, ordonnancement multicontraintes A. Vicard : formalisation d’implantations temps réel avec des graphes En cours depuis 2001 L. Cucu : ordonnancement multicontraintes et tolérance aux pannes L. Kaouane : synthèse de circuit intégrés Débute en 2002 H. Kalla : tolérance aux pannes On the CyCab first prototype, Scilab has been used for simulating applications such as trains of CyCabs with a unique driver in the front CyCab and each other CyCab following the CyCab before it, such that all CyCabs follow the same path. Several applications have been easily developped with SynDEx, for different hardware variants (for example to compensate for a missing microcontroller under repair, or for optional components such as a front camera, a GPS, a magnet sensor for road embedded magnets marking a path to follow, a wavelan communication media with the infrastructure, …), as well as for different application variants (remote control, vehicle following, path following, map-matching, …)

23 Equipe Y. Sorel, DR2 C. Macabiau, ingénieur associé
L. Cucu, doctorante INRIA H. Kalla, doctorant INRIA L. Kaouane, doctorant ESIEE T. Grandpierre et R. Kocik, collaborateurs extérieurs ESIEE On the CyCab first prototype, Scilab has been used for simulating applications such as trains of CyCabs with a unique driver in the front CyCab and each other CyCab following the CyCab before it, such that all CyCabs follow the same path. Several applications have been easily developped with SynDEx, for different hardware variants (for example to compensate for a missing microcontroller under repair, or for optional components such as a front camera, a GPS, a magnet sensor for road embedded magnets marking a path to follow, a wavelan communication media with the infrastructure, …), as well as for different application variants (remote control, vehicle following, path following, map-matching, …)

24 Perspective recherche
Modélisation STRE : control-flow/data-flow (TICK /OSTRE), unification multicomposant/circuit conception conjointe HW/SW Optimisation d’implantation : contraintes temps réel multiples Monoprocesseur : ordonnancement hors ligne avec préemption, en ligne pour événements apériodiques (HIPERCOM/OSTRE) Multicomposant : distribution et ordonnancement hors ligne et en ligne avec préemption : solution approchée Unification heuristiques multicomposant/circuit : conception conjointe logiciel/matériel avec partitionnement automatique : fonction de coût pour choix logiciel/matériel (flexibilité, performance) Génération de code : exécutif/net-list Tolérance aux pannes (BIP/OSTRE) : pannes capteurs-actionneurs, pannes intermittentes


Télécharger ppt "OSTRE Optimisation des Systèmes Temps Réel Embarqués"

Présentations similaires


Annonces Google