Title: Utilisation de COTS pour les systmes distribus tempsrel strict critiques
1Utilisation de COTS pour les systèmes
distribuéstemps-réel strict critiques
- Isabelle Puaut, Pascal Chevochot
- IRISA - projet Solidor
- Coopération Inria/DGA/Dassault-Aviation
- P. Chevochot, A. Colin, D. Decotigny, I. Puaut
2Problématique
3Temps-réel - COTS Problématique (1/3)
- Tests dordonnançabilité ? temps dexécution au
pire cas (WCET) des programmes - Méthodes courantes destimation des WCETs
- Tests et mesures problèmes
- Exhiber le pire comportement de lapplication
- Sûreté
- Obtention du temps dexécution au pire cas par
analyse statique du code source - sûre (mais pessimiste)
- automatique
4Temps-réel - COTS Problématique (2/3)
- Langage adapté à lanalyse
- absence de récursivité et dappels dynamiques
- annotations de boucle
- Représentations du programme
5Temps-réel - COTS Problématique (3/3)
- Problèmes posés par lutilisation de COTS
- Matériel sur étagères
- complexité des architectures actuelles des
processeurs (caches, pipelines, prédiction de
branchement) - ? analyseur statique intégrant ces
caractéristiques (innovation BTB)(C, Pentium) - Système dexploitation sur étagères
- Disponibilité des sources du système
- Restrictions du langage source
- ? analyse de logiciel existant (RTEMS)
6Temps-réel - COTS Analyse matériel COTS
(1/5)
- Pipeline
- Rôle entrelace lexécution dinstructions
consécutives - Méthode simulation statique de létat
doccupation du pipeline - Fusion de létat du pipeline en cas de rupture de
séquence - Pentium pipeline double simuler lappariement
des instructions
7Temps-réel - COTS Analyse matériel COTS
(2/5)
- Cache dinstructions
- Rôle réduit la latence daccès à la mémoire
- Méthode simulation statique du contenu du cache
dinstructions - 1. calcul des états abstraits de cache (ACS)
daprès le graphe de contrôle de flot (contenu
pessimiste du cache) - 2. classification des instructions (always hit,
first-hit, first-miss, always miss) - utilise les ACS et larbre syntaxique
- 3. calcul de WCET selon la classification
(modification formules de réduction de larbre
syntaxique)
8Temps-réel - COTS Analyse matériel COTS
(3/5)
- Mécanisme de prédiction de branchement rôle
- BTB Branch Target Buffer enregistre
lhistorique des branchements (4 états) - Prédit si un branchement sera pris ou non lors de
son exécution - Délai en cas de mauvaise prédiction
- Méthode utilisée simulation statique du BTB
JRTS00 - 1. Calcul état abstrait de BTB
- 2. Classification des instructions de transfert
de contrôle - 3. Calcul du surcoût à lexécution daprès leur
classification et intégration au calcul de WCET
9Temps-réel - COTS Analyse matériel COTS
(4/5)
- Résultats danalyse concernant la prédiction de
branchement
10Temps-réel - COTS Analyse matériel COTS
(5/5)
- Heptane (Hades Embedded Processor Timing ANalyzEr)
11Temps-réel - COTS Analyse logiciel COTS
(1/3)
- Analyse du noyau temps-réel RTEMS (Oar)
- Analyse de 12 directives (gestion de tâches,
sémaphores) - 82 fichiers, 14000 lignes de code
- Par directive RTEMS
- en moyenne 38 fonctions dans son graphe dappel
- en moyenne 11 blocs de base par fonction
12Temps-réel - COTS Analyse logiciel COTS -
(2/3)
- Restrictions sur la langage sources réalistes
- Appels dynamiques
- peu nombreux
- fonction appelée toujours connue statiquement
(sauf routines dextension) - Pas de récursivité
- Boucles annotables, mais pas toujours trivial
- Peu de code non structuré (une routine
assembleur, gotos restructurables)
13Temps-réel - COTS Analyse logiciel COTS
(3/3)
- Annotations de boucles
- Pas dimbrication de boucles
- Boucles infinies pas de problème (tâche idle)
- Nombre maximal ditérations
- Obtention directe 25 des boucles
- Gestion des noms dobjets (chaînes C)
- Allocation dynamique de mémoire (first-fit)
- Boucle de lordonnanceur dépend de
lenvironnement - Profil de code système
- Fort taux de réutilisation des fonctions ? WCET
partiel - Algorithmes non adaptés à lanalyse de WCET
- Allocation dynamique de mémoire
14Tolérance aux fautes - temps-réelProblématique
- Temps-réel strict ? test dordonnançabilité
hors-ligne - Connaissance hors-ligne
- Temps dexécution et de blocage au pire cas
- Communications et synchronisations
- Loi darrivée de tâches
- Tolérance aux fautes ? Réplication de tâches
- n copies de chaque tâche (? copies des états
dexécution) - Blocs de base de tolérance aux fautes
- Détection derreurs
- Recouvrement derreurs
- Maintien de la cohérence
- Synchronisations
- ? Test dordonnançabilité global
15Tolérance aux fautes - temps-réelApproche
- Réplication hors-ligne
- Transformation hors-ligne dune application
pour répliquer ses traitements - Mécanisme sélectif ? Économie en ressources
- Banalisation de la tolérance aux fautes
- ? Intégration aisée dans tests dordonnançabilité
RTCSA99 - Support dexécution tolérant aux fautes
- Blocs de base de tolérance aux fautes
asynchrones aux tâches répliquées - Traitement derreurs (diffusion fiable, gestion
de groupes, synchronisation dhorloges, ) - Détection derreurs
16Tolérance aux fautes - temps-réelRéplication
hors-ligne
- Structure dune tâche graphe
- Nud séquence de code
- Arc contrainte de précédence
- Ensemble dattributs
- Nuds utilisent des ressources
- Abstraction composant matériel ou structure de
données - Associée à une zone mémoire Etat
17Tolérance aux fautes - temps-réelRéplication
hors-ligne
- Schémas de transformations
- Algorithmes pour répliquer les traitements
dune tâche - Entrée Motif
- Sortie Motif transformé
- Traitement des défaillances de
- Calculateurs (Réplication active, passive,
semi-active) - Capteurs (Réplication active)
- Sous-graphe dune tâche
- Niveau de réplication
- Placement des copies
- Copies du motif
- Blocs de base de tolérance aux fautes
18Tolérance aux fautes - temps-réelRéplication
hors-ligne
Tâche T1
Tâche T1
C1
C2
C3
C1
C2
C3
A
A
qp
qp
RscExR1
RscExR1
B
B1
B2
B3
M
Dl10
Dl10
RepCompC1,C2 ,C3
r1r
r2r
r3r
M
Cons2
Cons1
tr
sr
tr
sr
C
D
D
C
19Tolérance aux fautes - temps-réelCorrection (1/3)
- Schéma de transformation correct
- déf exécution de M une exécution possible
de M - Modèle de fautes
- Calculateur à arrêt sur défaillances
- Propriétés dexécution
- Propriété Exé-OrdreSérie
- Définit des contraintes dordre lors dexécutions
concurrentes (équivalence à un ordre d exécution
en série) - Nécessaire pour la cohérence des copies
- Propriétés Exé-Prévisibilité, Exé-Accord,
Exé-Vivacité, Exé-Correction - Définissent le comportement dune tâche en cas
derreurs - Nécessaire pour le recouvrement derreurs
20Tolérance aux fautes - temps-réelCorrection (2/3)
- Exé-Prévisibilité Temps au pire cas du support
dexécution bornés pour - Valider une contrainte de précédence
- Lancer lexécution dune tâche
- Terminer lexécution dun nud
- Y compris en cas de faute
21Tolérance aux fautes - temps-réelCorrection (3/3)
- Exé-Accord Pour chaque exécution de SG, la
validation de toutes les contraintes de
précédence est soit correcte, soit incorrecte
A
SG
B
C2
C1
C2
C3
C1
C3
B1
B2
B3
B
M
4
5
M
3
X
3
5
Exécution non correcte
Cons2
Cons1
sr
tr
sr
tr
?
3
4
C
D
22Tolérance aux fautes - temps-réelSupport
dexécution (1/4)
- Service de gestion de la distribution
- Lancement et terminaison des exécutions de tâches
- Validation des contraintes de précédence
- Calculateurs et réseau COTS
23Tolérance aux fautes - temps-réelSupport
dexécution (2/4)
- Garantie de Exé-Prévisibilité
Diffusion multipoint fiable
- Dif-Validité
- Dif-Ponctualité
Gestion de la distribution
Gestion de groupes
- Grp-Vivacité
- Grp-Ponctualité
Synchronisation horloges
- Hor-Accord
- Hor-Exactitude
24Tolérance aux fautes - temps-réelSupport
dexécution (3/4)
- Garantie de Exé-Prévisibilité (suite)
- Temps de réponse au pire cas du service de
distribution
25Tolérance aux fautes - temps-réelSupport
dexécution (4/4)
- Assurance de lhypothèse darrêt sur défaillance
- Erreur détectée ? Arrêt immédiat
- Au niveau du support dexécution
- Au niveau des applications
- Aucune vérification sur les valeurs des variables
de sortie - Schéma pour la réplication temporelle
Services
- Tests de vraisemblance (valeurs)
Noyau dexécution
- Vérification contraintes temporelles des tâches
- Vérification des accès aux ressources des tâches
- Tests de vraisemblances (valeurs temps)
26Prototype
Gestion de la distribution
Hades IDE
Ordonn-ancement
Hydra
Heptane
Halt
Diffusion multipoint fiable
Gestion de groupes
Synchro. Horloges
Réveil pério- dique
Test dordonnançabilité
Non
Oui
Noyau dexécution (RTEMS, Chorus)
PCs Pentium
PCs ou Stations SUN
Commutateur ATM
Ethernet
27Travaux futurs
- Conception dexécutifs temps-réel strict (analyse
WCET) - Evaluations quantitatives sur différents systèmes
- Algorithmes adaptés à lanalyse de WCET
- WCET partiel
- Tolérance aux fautes et éléments COTS
- Evaluation de la robustesse des éléments
(injection de fautes) - Dynamicité
- Environnement applications
- ? utilisation pour augmenter la qualité de
service des applications (temporelle, fiabilité) - ? applications à contraintes temporelles souples
(multimédia)
28Pour plus dinformations
- Site Web
- http//www.irisa.fr/solidor/work/hades.html
- Publications
- RTCSA99 P. Chevochot, I. Puaut, Scheduling
Fault-Tolerant Distributed Hard Real-Time Tasks
Independently of the Replication Strategies,
Proc. of the 6th International Conference on
Real-Time Computing Systems and Applications
(RTCSA'99), Hong-Kong, China, december 1999.
- JRTS00 A. Colin, I. Puaut, Worst Case Execution
Time Analysis for a Processor with Branch
Prediction, Real-Time Systems, Special issue on
worst-case execution time analysis, 2000
(également rapport IRISA 1236). - RTEM99 A. Colin, I. Puaut, Worst-case timing
analysis of the RTEMS real-time operating system,
IRISA Research Report No. 1277 (ftp.irisa.fr) - TSI99 P. Chevochot, I. Puaut, Tolérance aux
fautes dans les systèmes répartis temps-réel
strict, Techniques et Sciences Informatiques
(TSI), 1999. - SRDS99 P. Chevochot, I. Puaut. An approach for
fault-tolerance in hard real-time distributed
systems. IRISA Research Report No. 1257, July
1999, (également papier court dans SRDS18)
- ISORC99 E. Anceaume, G. Cabillic, P. Chevochot,
I. Puaut, A flexible run-time support for
distributed dependable hard real-time
applications, Proc. of the 2nd IEEE International
Symposium on Object-Oriented Real-Time
Distributed Computing (ISORC'99), St Malo,
France, May 1999. - CFSE99 P. Chevochot, I. Puaut, La réplication
hors-ligne comme approche flexible pour la
tolérance aux fautes des applications temps-réel
dur. Première Conférence Française sur les
Systèmes d'Exploitation (CFSE'1), Juin 1999. -
-