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

Slides:



Advertisements
Présentations similaires
Yassine Lakhnech Prof. UJF Verimag
Advertisements

Fabrice Lauri, François Charpillet, Daniel Szer
Machines séquentielles
« Systèmes électroniques »
Un processus de conception des logiciels distribués pour l’automobile
SYSTEMES DE CONTRÔLE – COMMANDE ET INFORMATIQUE DISTRIBUEE TEMPS REEL
STRIE Systèmes Temps-Réel et Informatique Enfouie
Calcul géométrique avec des données incertaines
Affichage interactif, bidimensionnel et incrémental de formules mathématiques Hanane Naciri et Laurence Rideau INRIA Sophia Antipolis CARI'2000.
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Introduction : plasticité des IHMs – Page 1 IHM et plasticité 1 IHM et Différents supports Différents utilisateurs Différents environnements Problématique.
Types des systèmes d’exploitation
Joscelin OUDRY IR2000 année
Eric BONJOUR, Maryvonne DULMET
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Informatique parallèle hautes performances
Modélisation et commande hybrides d’un onduleur multiniveaux monophasé
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
Flow de conception (4h)-demo
Programmation graphique du processeur CELL : Faciliter la programmation T. Grandpierre.
Ordonnancement des mouvements de deux robots
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Sélection automatique d’index et de vues matérialisées
Le Concept. Régulation électronique LonWorks communicante pour application poutre froide.
Cours Systèmes logiques
Plan Évolution Système On Chip Difficultés de la testabilité des SOCs
MIAGE MASTER 1 Cours de gestion de projet
™.
le profil UML en temps réel MARTE
26 novembre 2009 Présenté par : René CORBEFIN Ex VP Electronics AIRBUS
Journée ConecsSdF 27 janvier 2011 ATELIER BENCHMARK Mise en œuvre du cas-test sur le simulateur Samovar Adrien GUENARD, INRIA Nancy, France Date.
III – Convergence Asymptotique
[photo d'un système] Schéma ordonnancement XML Évaluation Code C Modélisation Solution GÉNÉRATEUR AUTOMATIQUE DE CODE pour OUTIL DE MODÉLISATION-IMPLANTATION.
SCIENCES DE L ’INGENIEUR
Synthèse d’activités Présentation.
Interprétation de séquences dimages pour des applications MédiaSpace Alberto AVANZI François BREMOND Monique THONNAT Projet ORION INRIA de Sophia Antipolis.
II- L’algorithme du recuit simulé (pseudo-code)
Plan Introduction DFT d’un additionneur asynchrone
3ème partie: les filtres
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Ordonnancement de tâches
LES RESEAUX INDUSTRIELS
Référence PRE.022.AtelierTechAMUE_ ppt APOGEE SOA et Système d’information Atelier technique 10/02/2006.
1 Modèle pédagogique d’un système d’apprentissage (SA)
Méthodologie de conception d’architectures parallèles dédiées
DESIGN D’UN CODEUR- DÉCODEUR CHAOTIQUE AUTO-SYNCHRONISANT EN TEMPS RÉEL ET EN PRÉSENCE DE BRUIT Laboratoire d’Automatique et d’Informatique Industrielle-POITIERS.
Afficheur industriel « AIW » MAT Électronique
Programmation dynamique
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
1 Rencontres IrisaTech Modélisation formelle de systèmes embarqués et applications Programme IntroductionJean-Pierre Talpin Composants riches et modélisation.
Automatisation du vol de “ La Drenalyn ”
Amélioration de la simulation stochastique
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
Supports de formation au SQ Unifié
MICROLOR Le savoir partagé
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Les systèmes mono-puce
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Université de Cergy-Pontoise, 7 juin 2006 Aibo Compagnon.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Construction d'une hiérarchie mémoire faible consommation
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Optimisation pour la Conception de Systèmes Embarqués
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
Parcours « Systèmes & Automatique »
Algorithmes génétiques en optimisation combinatoire
Sujet 5 : Intégration d’une loi d’ordonnancement dans un modèle
Transcription de la présentation:

OSTRE Optimisation des Systèmes Temps Réel Embarqués Yves Sorel http://www-rocq.inria.fr/~sorel/work/ostre INRIA is the French National Institute for Research in Computer Science and Control, http://ww.inria.fr Christophe LAVARENNE is expert engineer, main SynDEx developper http://ww-rocq.inria.fr/~lavarenn CyCab is an intelligent vehicle prototype developped at INRIA by the « La Route Automatisee » project, http://www.lara.fr/ The CyCab is now industrialized by the Robosoft company, http://www.robosoft.fr/ 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 (http://www-rocq.inria.fr/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 (http://www-rocq.inria.fr/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

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. http://www.robosoft.fr/ 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 www.robosoft.fr

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 http://ww-rocq.inria.fr/syndex/ 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

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 http://ww-rocq.inria.fr/syndex/ 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

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.

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, …)

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, …)

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, …)

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