Analyse temporelle de systmes tempsrel embarqus - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Analyse temporelle de systmes tempsrel embarqus

Description:

Temps r el embarqu dans la formation: option STR. Travaux pratiques L go Mindstorm. 3 ... Lien avec le code source ais . Complexit des calculs ma tris e. Limitations. Ne supporte ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 40
Provided by: pua33
Category:

less

Transcript and Presenter's Notes

Title: Analyse temporelle de systmes tempsrel embarqus


1
Analyse temporelle de systèmes temps-réel
embarqués
  • Isabelle PUAUT
  • Université de Rennes I / IRISA Rennes
  • Juin 2006

2
Plan
  • Contexte systèmes temps-réel embarqués
  • Vue densemble des méthodes de validation
    temporelle
  • Classes de méthodes dobtention des WCET
  • Méthodes dynamiques
  • Méthode statiques
  • Méthodes statiques d'obtention des WCET
  • Analyse de flot
  • Calcul des WCET
  • Analyse de bas niveau
  • Temps réel embarqué dans la formation option STR
  • Travaux pratiques Légo Mindstorm

3
Systèmes embarqués
  • Système embarqué
  • Système faisant partie dun dispositif qui nest
    pas un ordinateur (système enfoui)
  • Interagit fortement avec son environnement
  • Caractéristiques typiques
  • Fonctions spécifiques à un domaine dapplication
    particulier
  • Ressources limitées
  • Processeurs simples, Energie, Mémoire limitée
  • Contraintes de temps-réel
  • Contraintes de sûreté de fonctionnement

4
Systèmes embarquésDomaines dapplication
  • Produits de grande consommation
  • Cafetière, machines à laver, fours à micro-onde
  • Electronique grand public
  • Caméras numériques, appareils photo numérique
  • Multimédia, téléphonie, jeu
  • Automobile
  • Systèmes anti-blocage de freins, contrôle
    moteur, informatique de confort
  • Avionique, spatial, nucléaire
  • Périphériques informatique FAX, imprimantes
  • Grande diversité des besoins, marché en forte
    expansion

5
Notion de temps-réel
  • Définition
  • Le temps réel (physique) est un critère de
    correction des applications
  • Contraintes de temps
  • Limite quantifiée sur le temps séparant deux
    événements (limite min et/ou max)
  • Ex échéance de terminaison au plus tard
    (deadline)
  • Source des contraintes de temps
  • Délai de réaction du système avant
    dysfonctionnement
  • Stabilité du processus physique contrôlé
  • Corrélation  temps-réel embarqué  forte

6
Classes de systèmes temps-réel
  • Temps-réel strict/dur (hard real-time)
  • non respect dune contrainte de temps a des
    conséquences graves besoin de garanties
  • Ex applications de contrôle dans lavionique,
    le spatial, le nucléaire, contrôle de production
    de matériaux toxiques
  • Temps-réel souple/mou (soft real-time)
  • on peut tolérer le non respect occasionnel dune
    contrainte de temps (garanties probabilistes)
  • Ex applications multimédia grand public (vidéo
    à la demande, TV)

7
Validation des systèmes temps-réel
  • Tests
  • Jeux dentrée exécution (architecture réelle,
    simulateur)
  • Nécessaire, mais pas suffisant (exhaustivité)
  • Validation à partir de modèles
  • Temps-réel strict modèle pire-cas (besoin de
    garanties pour tous les scénarios dexécution)
  • Méthodes de vérification analytiques sur les
    modèles
  • Analyse dordonnançabilité
  • Domaine de recherche ancien (début années 60)
    et toujours très actif

8
Analyse dordonnançabilitéIntroduction (1/2)
  • Rôle
  • Formules mathématiques ou algorithmes permettant
    de vérifier (prouver) que les tâches respecteront
    leurs contraintes de temps (ex échéances)
  • Classification
  • Vérification hors-ligne (avant exécution)
  • Critères analytiques calculables (CN, CS, CNS)
  • Cibles systèmes temps-réel strict
  • Vérification en-ligne (pendant exécution)
  • Tests dacceptation en-ligne pour savoir si on
    accepte de nouvelles tâches
  • Risque de rejet de tâches ? cibles systèmes
    temps-réel souple

9
Analyse dordonnançabilitéIntroduction (2/2)
  • Données dentrée modèle du système
  • Connaissance des informations sur les tâches
    (modèle de tâches)
  • Arrivée des tâches périodique, sporadique,
    apériodique (dates darrivées)
  • Synchronisations précédences, exclusions
  • Temps dexécution au pire-cas (WCET)
  • Architecture
  • Connaissance statique pour système TR strict
  • Sorties
  • Verdict sur lordonnançabilité

10
Analyse dordonnançabilitéExemple (1/2)
  • Cadre dapplication
  • Tâches périodiques (Pi), deadline DiltPi
  • Ordonnancement par priorité (priorité au Di le
    plus faible)
  • Pire temps dexécution Ci
  • Condition nécessaire
  • Condition suffisante
  • Faible complexité

11
Analyse dordonnançabilitéExemple (2/2)
  • Cadre dapplication identique au précédent
  • Mode de calcul itératif du temps de réponse
  • Quand la série converge, on a calculé le temps de
    réponse Ri
  • Le système est ordonnançable quand Ri ? Di
  • Complexité plus importante

12
WCETDéfinition
  • Borne supérieure pour les temps dexécution de
    portions de code
  • Temps pris par le processeur pour lexécution
  • Code considéré de manière isolée
  • WCET ? temps de réponse
  • Variable Ci dans les analyses dordonnançabilité



13
WCETUtilité
  • Vérification temporelle
  • Vérification dordonnançabilité
  • Garantie (pire cas)
  • Dimensionnement des systèmes
  • Choix de larchitecture
  • Optimisation des applications
  • Tôt dans le cycle de développement



14
WCETDéfinition
  • Défis pour l'obtention des WCET
  • Sûreté (WCET gt tout temps d'exécution possible)
    confiance analyse dordonnançabilité
  • Précision
  • Surestimation ? échec potentiel des tests de
    faisabilité ou surdimensionnement des ressources
    matérielles nécessaires



15
WCETEléments influençant le WCET
  • Mises en séquence possibles des actions (chemins
    dexécution)
  • Dépendent des données d'entrée
  • Durée de chaque occurrence dune action
  • Dépendant de l'architecture cible

16
Méthodes destimation des WCETMéthodes dynamiques
  • Principe
  • Jeu de données d'entrée
  • Exécution (matériel ou simulateur)
  • Mesure
  • Génération des jeux de test explicites
  • Définis par l'utilisateur besoin dexpertise
  • Exhaustifs
  • Uniquement pour les entrées à domaines finis
  • Problème de combinatoire
  • Générés automatiquement (génétique,etc.)
  • Sûreté ?

17
Méthodes destimation des WCET Méthodes statiques
  • Principe
  • Analyser de la structure du programme(pas
    dexécution)
  • Calculer la WCET à partir de la structure
  • Composants de l'analyse
  • Analyse de flot
  • Détermine les chemins dexécutions possibles
  • Analyse de bas niveau
  • Détermine le temps dexécution dune séquence
    dinstructions sur une architecture donnée
  • Calcul
  • Calcul du WCET à partir des composants précédents
  • Tous les chemins sont considérés sûreté

18
Méthodes statiquesVue synthétique des composants
Analyse de flot
(Annotations)
Programme source
ou
Représentation des flots
Compilateur
Calcul
Analyse de bas niveau
Programme objet
WCET
19
Méthodes statiques Analyse de flot (1/4)
Flots structurellement faisables (infinis)

Basic finiteness (boucles bornées)
Effectivement faisables (chemins infaisables,
mutuellement exclusifs)
20
Méthodes statiques Analyse de flot (2/4)
  • Chemins infaisables
  • Le chemin ABDEF est infaisable
  • Connaissance des chemins infaisables améliore la
    précision des estimations de WCET

int baz (int x) if (xlt5) // A x
x1 // B else xx2 // C if (xgt10) //
D x sqrt(x) // E return x // F
21
Méthodes statiques Analyse de flot (3/4)
  • Nombres maximum ditérations des boucles
  • Une estimation précise des bornes améliore
    lestimation du WCET

Borne de boucle N
for i 1 to N do for j 1 to i do
begin if c1 then A.long
else B.short if c2 then C.short
else D.long end
Borne de boucle N
(N1)N 2
executions
22
Méthodes statiques Analyse de flot (4/4)
  • Modes de détermination des flots
  • Automatique infaisable en général (halting
    problem)
  • Manuelle annotations
  • Constantes, annotations symboliques
  • Annotations pour chemins infaisables / exclusifs
  • Résultats de lanalyse de flot (P. Puschner)

23
Méthodes statiques calcul Analyse à base
d'arbres (tree-based)
  • Structures de données utilisées
  • Arbre syntaxique du programme
  • Blocs de base
  • Principe de la méthode
  • Détermination des temps d'exécution des blocs de
    base (analyse de bas-niveau)
  • Calcul récursif sur les structures syntaxiques
    (timing schema)

Seq1
Loop 4
BB0
BB6
Seq2
BB1
If
BB5
BB2
BB4
BB3
24
Méthodes statiques calcul Analyse à base
d'arbres

WCET(SEQ) S1Sn WCET(S1)
WCET(Sn) WCET(IF) if(test) then else
WCET(test) max( WCET(then) , WCET(else))
WCET(LOOP) for(tstinc) body maxiter
(WCET(tst)WCET(bodyinc)) WCET(tst)
Seq1
Loop 4
BB0
BB6
Seq2
BB1
If
BB5
BB2
BB4
BB3
25
Méthodes statiques calcul Analyse à base
d'arbres
  • Attrait des méthodes tree-based
  • Lien avec le code source aisé
  • Complexité des calculs maîtrisée
  • Limitations
  • Ne supporte pas toutes les optimisations de
    compilation
  • Prise en compte d'informations de flot élaborées
    n'est pas aisée

26
Méthodes statiques calcul Analyse IPET
(Implicit Path Enumeration Technique)
  • Programmation linéaire en nombres entiers
  • But max f1t1f2t2fntn
  • Contraintes structurelles ? v fi ? ai
    ? ai
  • f1 f7 1
  • Contraintes sur les chemins fi ? k (maxiter
    boucle) fi fj ? 1 (chemins mutuellement
    exclusifs)

ai?In(v)
ai?Out(v)
27
Méthodes statiques calcul Analyse IPET
  • Attrait des méthodes IPET
  • Supporte les flots non structurés (goto, jumps,
    ...)
  • Supporte toutes les optimisations de compilation
  • Limitations
  • Complexité des calculs non maîtrisée
  • Liens avec le code source non évidents

28
Méthodes statiques analyse de bas
niveauIntroduction
  • Architecture simple
  • Temps d'exécution d'une instruction dépend
    uniquement de son type et de ses opérandes
  • Pas de recouvrement entre instructions, pas de
    hiérarchie de mémoire
  • Architecture complexe
  • Effets locaux
  • Recouvrement entre instructions (pipelines)
  • Effets globaux
  • Caches de données, d'instructions, prédicteurs de
    branchement
  • Demande une connaissance de l'ensemble du code

29
Méthodes statiques analyse de bas niveau
(locale)Prise en compte des pipelines
  • Principe parallélisme entre instructions
  • Intra bloc de base
  • Inter bloc de base

Fetch Decode Execute Memory Write Back
Temps
Temps
IF ID EX ME WB
IF ID EX ME WB
Temps
30
Méthodes statiques analyse de bas niveau
(locale)Prise en compte des pipelines
  • Solution intra-BB
  • Tables de réservation décrivant quand chaque
    instruction accède les étages du pipeline
  • Obtenu par l'analyseur lui-même ou outil externe
    (simulateur, processeur cible)
  • Solution inter-BB modification de la méthode de
    calcul
  • Tree-based opérateur d'addition spécifique
  • IPET contraintes supplémentaires dans le
    problème d'ILP

31
Méthodes statiques analyse de bas niveau
(globale)Caches d'instructions
  • Cache
  • Tire profit de la localité spatiale et temporelle
    des accès aux instructions
  • Spéculatif comportement dépend du comportement
    passé des programmes
  • Bon comportement en moyenne, mais problème de
    déterminisme en contexte temps-réel strict
  • Problème estimation sûre du comportement des
    caches
  • Solution simple (tout miss) excessivement
    pessimiste
  • Objectif prédire si une instruction causera un
    hit ou pourra causer un miss (de manière
    conservatrice)

32
Méthodes statiques analyse de bas niveau
(globale)Caches d'instructions
  • Simulation statique de cache
  • Calcul d'états abstraits de caches (ACS)
  • État du cache représentant tous les chemins
    d'exécution possibles
  • Itération de point fixe pour le calcul
  • Division des instructions en catégories selon les
    ACS
  • always hit
  • always miss
  • first miss, first hit (cas d'instructions dans
    des boucles)

33
Méthodes statiques analyse de bas niveau
(globale)Caches d'instructions
  • input_state(top) all invalid lines
  • while any change do
  • for each basic block instance B do
  • input_state(B) null
  • for each immediate predecessor P of B do
  • input_state(B) output_state(P)
  • end for
  • output_state(B) (input_state(B)
    prog_lines(B)) -
  • conf_lines(B)
  • end for
  • end while
  • Amélioration prise en compte niveaux de boucles

34
Méthodes statiques analyse de bas niveauAutres
éléments maîtrisés
  • Caches de données
  • Problème supplémentaire obtention de ladresse
    des données (dynamique)
  • Prédicteurs de branchement

35
Méthodes statiquesRésultats quantitatifs
  • Impact de la modélisation darchitecture (analyse
    noyau RTEMS, Heptane, Irisa)

36
Méthodes destimation des WCET Quelle méthode
pour quel usage ?
  • Méthodes statiques
  • Sûreté ?
  • Pessimisme ?
  • Besoin de modèle du matériel ?
  • Compromis précision-rapidité du calcul
    (tree-based / IPET) ?
  • Méthodes dynamiques
  • Sureté ? Probabiliste
  • Pessimisme ?
  • Pas de modèle du matériel ?
  • Une méthode pour chaque usage

37
Points ouverts et recherches actuelles
  • Prise en compte de matériel complexe
  • Compilation pour le temps réel
  • Approches probabilistes

38
Option STR (Systèmes Temps-Réel Embarqués)
  • Master-1, option semestre 2, 48h (CMTDTP)
  • Ordonnancement temps-réel
  • Classification, politiques dordonnancement,
    optimalité
  • Systèmes dexploitation temps-réel multi-tâches
  • Mécanismes de base, ordonnancement,
    synchronisation inversion de priorités,
    communication, gestion de la mémoire
  • Vérification
  • Analyse dordonnançabilité
  • Obtention de pires temps dexécution (WCET)
  • Ordonnancement hybride temps réel strict et
    souple
  • Consommation énergétique
  • Travaux pratiques Lego Mindstorm
  • Master-2 pro programmation temps-réel (Ada95)

39
TPs Lego Mindstrom
  • Objectif pédagogique
  • Programmation multi-tâche temps-réel
  • Langage C
  • Objectif ludique
  • Sortir 8 bouteilles dune enceinte délimitée par
    un trait noir, le plus vite possible
  • Challenge 2006 STR http//www.irisa.fr/caps/people
    /puaut/Mindstorm/TPMindstorm.html
  • Record à battre 1mn28s
  • Encadreurs J.F. Deverge, E. Petit
Write a Comment
User Comments (0)
About PowerShow.com