Title: OSTRE Optimisation des Syst
1OSTREOptimisation des Systèmes Temps Réel
Embarqués
Yves Sorel http//www-rocq.inria.fr/sorel/work/o
stre
2Plan
- Contexte
- Programme de recherche
- Logiciel
- Collaborations
- Enseignement
- Equipe
- Perspectives
3Contexte
- Entre automatique et informatique communauté du
temps réel et de larchitecture 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
4Programme 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 dimplantation temps réel
- Génération automatique de code
- Tolérance aux pannes
5Programme 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
6Programme de recherche modélisation algorithme
Filtrea
Filtrea
Filtrea
adap
adap
adap
gensig
gensig
gensig
sub
sub
sub
filtre
filtre
filtre
coeff
coeff
coeff
visu
visu
visu
Dépendance donnée avec ou sans
précédence Précédence seulement
Dépendance donnée inter-itération
7Programme de recherche modélisation architecture
processeur1
processeur2
processeur3
Opr1
Opr2
Opr3
RAM D/P
RAM D/P
RAM D
RAM D/P
Com1b
Com2b
SAM
Com1a
Com2a
Com3a
SAM
RAM D
moyen de communication passage de msg
mémoire partagée
CI spécifique
RAM D
Opr4
8Programme de recherche modélisation implantation
- Implantation multicomposant transformation des
graphes dalgorithme et darchitecture, 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 dopérations de communication et
dallocation de mémoire - Ajout darcs renforce ordre partiel initial en
fonction de larchitecture - Implantation circuit transformation du graphe
dalgorithme 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 dordre sur les
événements
9Programme de recherche modélisation implantation
processeur1
processeur2
Opr1
Com1a
Com2a
Opr2
RAM D/P
RAM D/P
SAM
10Programme de recherche optimisation multicomposant
- Adéquation implantation optimisée, choix dune
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
heuristiquesrapides (prototypage) gloutonne
(ordonnancement de liste) lentes itératives
voisinage local, global - Fonctions coût latence flexibilité
dordonnancement, chemin critique de Gal étiqueté
par durées, calculs dans (max,) - Méta heuristique pour minimisation du nombre de
composants
11Programme de recherche optimisation monoprocesseur
- Adéquation implantation optimisée, choix dune
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
12Programme de recherche optimisation circuit
- Adéquation implantation optimisée de
lalgorithme 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
heuristiquesrapides (prototypage)
gloutonnelentes itératives recuit simulé - Fonctions coût pour minimisation latence chemin
critique de Gal étiqueté par durées et nombre de
fonctions logiques
13Programme 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 dexécutifs - Noyaux dexé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
14Programme 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
15Tolé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 lheuristique
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
16Logiciel
Environnement sans rupture daide à 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
lenvironnement 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
17Logiciel 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
Industrialisé par Robosoft www.robosoft.fr
18Logiciel spécification/Simulation
Scilab/Scicos gratuit sur www-rocq.inria.fr/sci
lab
Scilab/Scicos
Modèle du CyCab
Sol
Suspension
Masses
Roues
Ecran
Moteurs
Contrôleur Discret Synthétisé
Pilote
Joystick, Radio...
Codeurs, Caméra...
Lois de commande
Retards
SynDEx
19Logiciel implantation temps réel optimisée
AAA/SynDEx gratuit sur www-rocq.inria.fr/syndex
Scicos/Scilab
Retards
Lois de commande
AAA/SynDEx
Algorithme
Architecture
Adéquation Distribution/Ordonnancement Heuristique
s Générateur
Performances Calculées
Contraintes
Macro-Exécutifs 386 et 555 noyaux génériques
libs
m4 / gcc
CyCab
Exécutifs
20Logiciel programmation CyCab application conduite
manuelle
21Collaborations
- 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
22Enseignement
- Cours DEA Orsay système électronique et
traitement de linformation, ESIEE, ENSTA - Thèses
- Soutenues entre 99 et 2001
- R. Djenidi coopération Scicos/SynDEx
- T. Grandpierre modèle darchitecture et
dexé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 dimplantations 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
23Equipe
- 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
24Perspective recherche
- Modélisation STRE control-flow/data-flow (TICK
/OSTRE), unification multicomposant/circuit
conception conjointe HW/SW - Optimisation dimplantation 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