Utilisation de COTS pour les systmes distribus tempsrel strict critiques - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Utilisation de COTS pour les systmes distribus tempsrel strict critiques

Description:

au pire cas (WCET) des programmes. M thodes courantes d'estimation des ... 1. Calcul tat abstrait de BTB. 2. Classification des instructions de transfert de ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 29
Provided by: pua36
Category:

less

Transcript and Presenter's Notes

Title: Utilisation de COTS pour les systmes distribus tempsrel strict critiques


1
Utilisation 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

2
Problématique
3
Temps-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

4
Temps-réel -  COTS Problématique (2/3)
  • Langage adapté à lanalyse
  • absence de récursivité et dappels dynamiques
  • annotations de boucle
  • Représentations du programme

5
Temps-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)

6
Temps-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

7
Temps-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)

8
Temps-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

9
Temps-réel -  COTS Analyse matériel  COTS 
(4/5)
  • Résultats danalyse concernant la prédiction de
    branchement

10
Temps-réel -  COTS Analyse matériel  COTS 
(5/5)

  • Heptane (Hades Embedded Processor Timing ANalyzEr)

11
Temps-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

12
Temps-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)

13
Temps-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

14
Tolé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

15
Tolé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

16
Tolé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

17
Tolé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

18
Tolé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
19
Tolé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

20
Tolé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

21
Tolé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
22
Tolé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

23
Tolé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é
  • Exé-Prévisibilité

Synchronisation horloges
  • Hor-Accord
  • Hor-Exactitude

24
Tolé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

25
Tolé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)

26
Prototype
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
27
Travaux 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)

28
Pour 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.
Write a Comment
User Comments (0)
About PowerShow.com