Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011

La page est créée Jean-Francois Voisin
 
CONTINUER À LIRE
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                          Introduction au Temps Réel

                                                               Emmanuel Grolleau
                                                                Septembre 2011

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers   2

                                                      Plan de la présentation

Introduction
      Contexte applicatif
      Contraintes temporelles
      Problématique de la validation temporelle
La validation temporelle dans l’industrie
      Analyse de temps de réponse
      Prise en compte de facteurs pratiques
Limiter le surdimensionnement
      Transactions
      Modèles Multiframe
Positionnement dans le cycle de développement logiciel
      UML et le temps réel
      MARTE
Enjeux de demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       3

                                                   Introduction
                                                   Enjeux industriels
                                                   Surdimensionnement
                                                         Introduction
                                                   Cycle de développement
                                                   Enjeux industriels de demain

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       4

                                                           Contexte applicatif

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       5

                                               Parallélisme des traitements

                                                                            Période=150ms
                                                                                   Envoyer
                                                                                   donées

                                                                                          Commandes
                Période=20ms

                                                          Réguler
                                                          attitude
                      Centrale
                      inertielle

Période=100ms                                                      Période=250ms
                                 Lire                                                                                    Lire
                               consignes                                                                                 GPS
MODEM                                                                      Récepteur
                                                                             GPS
Introduction                           Enjeux                           Dimension    Cycle de dévt                                                 Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       6

                                Contraintes structurelles et temporelles

                                Envoyer
                                donées

                            Lire
                          consignes

           Réguler                                                        Envoyer
           attitude                                                       donées

                                        Réguler
                                        attitude

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       7

                                               Deux types d’implémentation

                                                                                  Réguler
                                                                                  attitude

Implémentation dirigée par le temps
        Pire durée d’exécution

                                                                                                                                                     temps
                                  période

            Dates connues
Implémentation dirigée par les événements
                                          Dates inconnues

                                                                                                                                                     temps

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       8

                                                             Types d’approche

Approche synchrone

                                                                                                                                                       temps

Approche asynchrone

                                                                                       Séquence
                                                                                       pré-calculée

      Algorithme d’attribution de priorités + ordonnanceur

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers       9

                                                  Spécificités du temps réel

S’assurer du respect des contraintes de temps
       Ordre d’exécution = ordonnancement

Déterminisme de déclenchement des traitements
       La dynamique du système doit pouvoir être caractérisée
       Un pire cas doit pouvoir être extrait

Déterminisme des durées de traitement
       Un Worst Case Execution Time (WCET) caractérise les tâches

Déterminisme du service et de l’interférence du support d’exécution
       Hardware déterministe
       Faible latence noyau

Introduction                            Enjeux                           Dimension                          Cycle de dévt                           Demain

    Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                  Traitement généraliste (OS) vs. Traitement temps réel (RTOS)

 Buts non compatibles avec le temps réel
      Privilégier la flexibilité par rapport au déterminisme
           Mémoire virtuelle
      Garantir l’indépendance des processus
           Systèmes de protection mémoire
      Augmenter la vitesse moyenne de traitement
           Pipeline, mémoire cache, prédiction des sauts et prefetch, cache disque
      Favoriser l’équité du partage du processeur entre les processus
           Algorithmes d’ordonnancement à base de tourniquet, comme Multi-Level
            Feedback
      Faciliter la maintenance et le diagnostic du système avec de nombreux processus
      de maintenance, mise à jour, surveillance, etc.
      Accélérer la vitesse de traitement en utilisant une structure monolithique
 « Mesures » de la compatibilité au temps réel
      Déterminisme
      Robustesse
      Latence du noyau

 ( Temps réel = déterministe ) ≠ ( mon PC = rapide « la plupart du temps »)

Introduction                            Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                Noyau, exécutif, système d’exploitation
Le noyau : gère les interruptions matérielles, crée les tâches et ou processus,
 gère la mémoire, se sert d’une interruption horloge pour faire
 l’ordonnancement des tâches et des processus
L’exécutif = noyau + pilotes de périphériques (gestion des entrées/sorties –
 USB, RS-232C, E/S numériques et analogiques, …), protocoles réseaux (pile
 IP, CAN, bluetooth, etc.)
Système d’exploitation (SE, Operating System, OS)= exécutif + shell +
 moyens de maintenance, mise à jour, …

Systèmes d’exploitations généralistes
      Unix, Linux, Microsoft Windows 7, Windows Vista, Windows XP, Windows 2000,
      etc.
      Très consommateurs de ressources (processeur, mémoire,…)
Exécutifs temps réel
      VxWorks, norme OSEK/VDX (automobile), norme ARINC 653 (avionique civile),
      norme Ada (aérospatiale, avionique militaire), norme POSIX (généraliste), etc.
      Peu consommateurs de ressources et déterministes (embarquables)
      La plupart ne proposent (à part ARINC653) que la notion de tâches et pas la
      notion de processus

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                 Qu’est-ce qu’une tâche/un processus ?

Le programme principal est une tâche
Un sous-programme s’exécutant parallèlement au programme principal est une
 tâche
Un processus est un ensemble de tâche partageant des variables globales
Deux processus s’exécutent en parallèle comme des tâches mais ont leur
 mémoire propre
L’entité chargée de partager le ou les processeurs entre les tâches et
 processus est l’ordonnanceur
L’ordonnanceur est au cœur du noyau

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers        13

                                       Qu’est-ce qu’une tâche temps réel ?

Une tâche est temps réel si elle doit s’exécuter dans une fenêtre temporelle
         Respect d’échéance
Validation temporelle
         S’assurer que toutes les tâches temps réel soient exécutées « dans les temps »
         Pour toute la vie du système = ∞
         Quels que soient les événements

                                       Modèle                                                               Modèle
                                    d’application                                                      d’environnement

                                                                        Modèle de
                                                                          support
                                                                        d’exécution

 Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                 D’où viennent les contraintes ?
 Aéronef Miniature Autonome de Détection et d’Observation
       Mini drone
       Envergure 55 cm
       Autonomie 20 à 30 minutes en vol de croisière
       Masse ~930 grammes
 Récepteur GPS 12 canaux 4Hz
             30g

Centrale inertielle IMU 38g
• 3 gyromètres                                                                                                                                  MODEM 860 MHz
• 3 accéléromètres                                                                                                               38+25g         • 9600 bps
• Echantillonnage interne > 1kHz                                                                                                                • portée max 8km
                                                                                                                                                • 100 mW

                                                                           MPC-555 58g
                                                                                  • 40 MHz                                               Servocommandes
    Récepteur RC                                                                  • RTOS OSEK/VDX
                                                                                  • Coprocesseur FP
  Modes de vol
                                                                           Utilisation
  • Manuel : pilotage par RC
                                                                                  • 2 UART (←GPS, ↔Modem)
  • Assisté : roulis/vitesse ascensionnelle
                                                                                  • 5 entrées PWM ←RC
  • Autonome : assisté + navigation mission
                                                                                  • 4 sorties PWM,→Servos
  • Retour à la base
                                                                                  •CAN (← IMU)
  • Montée sur panne GPS/RC/Modem
  • Crash sur place sur panne grave (IMU+RC)

 Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                             D’où viennent les contraintes de temps ?/2
  Gestion parallèle de
            Réception GPS
                 1 trame toutes les 250 ms, événement initié par un dispositif externe
                 chaque trame arrive octet par octet (120 octets/trame), chaque octet doit être stocké avant
                  l’arrivée du prochain octet (1/5600o/s ~ 175 µs après)
                              Pénalité : perte de la trame, donc prise en compte de la position retardée de 250 ms
            Réception de données venant du sol
                 1 trame au plus toutes les 100 ms, événement initié par un dispositif externe
                 Chaque trame est composée de 10 octets, chaque octet doit être lu et stocké en moins de
                  1/960o/s ~ 1 ms
                              Pénalité : perte d’une commande provenant du sol
            Réception de donnés de la centrale inertielle
                 1 message toutes les 20 ms, événement initié par un dispositif externe
                 Chaque message CAN est composé de 3 trames de 8 octets de données, séparés de 80 µs,
                  comme dans le cas des liaisons RS-232, chaque trame doit être lue et stockée avant l’arrivée de
                  la suivante
                              Pénalité : perte totale ou partielle de contrôle pouvant mener au crash
            Récepteur de consignes manuelles via le récepteur RC
                 Assure le pilotage en mode répéteur lorsque le système est en mode manuel, initié par un
                  dispositif externe
                 5 entrées doivent être surveillées (différence temporelle entre front montant et descendant)
                  et mises à jour toutes les 20 ms
                              Pénalité : fonctionnement saccadé pouvant entraîner un crash
            Génération des commandes vers les servo-moteurs
                 Initié par l’horloge interne
                 5 sorties doivent être programmées avec une valeur de commande toutes les 20 ms
                              Pénalité : fonctionnement saccadé pouvant entraîner un crash

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                             D’où viennent les contraintes de temps ?/3
            Envoi des données vers le sol de navigation/horizon artificiel
                  Initié par l’horloge interne (choix de 50 ms)
                              Pénalité : retard d’affichage d’informations au pilote
            Navigation
                 Calqué sur l’arrivée d’informations GPS (~250 ms)
                              Pénalité : mauvaise trajectoire
            Détection/gestion de pannes
                 Initié par l’horloge interne (choix de 200 ms)
                              Pénalité : retard de détection de panne, danger de crash moteur allumé
            Algorithme de régulation d’attitude
                 Initié 1 fois sur 3 par les informations provenant de la centrale
                              Pénalité : perte de contrôle

  Récapitulatif :
            4 « tâches périodiques » sont initiées par un dispositif externe, leur période est imposée par ceux-ci, il
           nous faut répondre en temps réel à ceux-ci
            3 « tâches périodiques » initiées par l’horloge interne
            2 tâches initiées par une autre tâche

            Contraintes de temps inhérentes à la dynamique du système et des dispositifs capteurs/actionneurs
            Les pénalités de retard peuvent aller d’un certain inconfort à la destruction du système, voire à
           exposer les opérateurs à un risque physique
            La plupart des événements se produisent de façon périodique (il arrive cependant que des événements
           soient apériodiques)

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                           Types de contraintes de temps
  Contrainte stricte (hard real-time)
            Une violation des contraintes temporelles peut être dangereuse pour le système
                 Exemple : tâche d’acquisition centrale inertielle du drone
  Contraintes fermes (firm real-time)
            Violer une échéance n’est pas catastrophique mais la qualité du résultat diminue
                  Exemple : tâche d’acquisition GPS, cependant, il faut au moins 1 trame sur 2 pour une navigation
                   presque correcte (1,2)-firm
  Contraintes molles (soft real-time)
            Respecter les échéances augmente la qualité du résultat
                 Exemple : aucun sur le drone, applications multimedia

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      18

                                                   Introduction
                                                   Enjeux industriels

          ValidationAnalyse en-ligne
                      temporelle     industrielle
                                                   Cycle de développement
                                                   Perspectives

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Introduction au Temps Réel - Emmanuel Grolleau Septembre 2011
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers        19

                       Validation temporelle : place dans le cycle de vie

Ordonnancement de tâches temps réel
         Domaine de recherche né dans les années 1970
         S’appuie sur des travaux d’ordonnancement de production des années 1950
S’applique en fin de cycle de développement logiciel
         Exemple : dans un cycle en W (ou Y)

                                                                                                                                                      Validation
Spécification                                                                  Simulation
                                                                                                                                                      temporelle

                                                                   Intégration                                                               Intégration
                                                                                                  Spécification                              avec noyau
             Conception
                                                                                                  &Conception
                                                                                                  adaptée                              Tests
                                                    Tests

                                Codage                                                                                       Codage
                                                                                                                             croisé

Introduction                              Enjeux                           Dimension                          Cycle de dévt                            Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                              Structures typiques des tâches
  •     Tâches réveillées par l’horloge interne
            Date_réveil ← date_courante
            Faire toujours
               …
               Date_réveil ← Date_réveil + Période_tâche                                                             ≤C                         ≤C
               Dormir jusqu’à Date_réveil
                                                                                                            r                     r+T                  r+2T
            Fait
  •     Tâches réveillées par événement extérieur
            – Utilisent une ISR (Interrupt Service Routine) exécutée dès que l’interruption a lieu qui déclenche la
              tâche
            Faire toujours                                                        ≤C                      ≤C
              Attendre événement déclencheur                               r=?                    ?≥r+T
              …
            Fait
  •     Tâches logicielles (héritent de la périodicité de la tâche qui les réveille)
            Faire toujours
              Attendre événement ou message ou événement ou …
              …
            Fait

Introduction                              Enjeux                           Dimension                          Cycle de dévt                            Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      21

                                                          Validation temporelle

                                        RTOS                             RTOS                           RTOS

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

     Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                                Ordonnancement
 •     Buts de l’ordonnancement généraliste ≠ buts ordonnancement temps réel
           – Ordonnancement généraliste
                » Prendre en compte des notions de priorité tout en évitant qu’un processus souffre de famine
                » Améliorer les performances moyennes
                » Algorithme le plus fréquent : Multi-Level Feedback (MLF) = tourniquets à priorités avec
                  changement de niveau de priorité en cas de famine prolongée
           – Ordonnancement temps réel
                » Garantir que même dans le pire cas, une tâche respecte ses échéances
                » Note : cela signifie qu’il faut pouvoir caractériser le pire cas
                » Algorithme le plus fréquent aujourd’hui : algorithme à priorités (simple en apparence…)

                                        τ4
                                                                                    Principe du tourniquet (round robin)
                                                                τ3
              τ5

                                                                    τ1               Tâche active pendant un quantum de temps
     τ2

                                                               τ7
              τ9
                                     τ6
Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                             Algorithme d’ordonnancement MLF
                         τ4
                  τ15                τ3

                                     τ1
Priorité τ    2

élevée τ                         τ22
                   25
                         τ6

                         τ68
                   τ5            τ45                                 L’ordonnanceur utilise le tourniquet non vide de plus haute priorité

Priorité τ    2
                                     τ14

moyenne                          τ17
                   τ9
                        τ68                                   Changement de priorité lorsqu’une tâche attend « très longtemps » jusqu’à
                                                              ce qu’elle obtienne un quantum de temps du processeur. Elle retourne alors
                         τ42                                  à son niveau de priorité initial.
                  τ43            τ31

                                     τ19
Priorité τ    47

basse              τ9
                                 τ1
                        τ11

  •     Exemple de systèmes d’exploitation utilisant MLF
             – Unix
             – MS Windows
  •     Avantages
             – Prise en compte des priorités, Absence de famine, S’adapte parfaitement aux systèmes dans
               lesquels on n’a pas d’informations sur la charge
  •     Inconvénients
             – Coûteux, difficile à caractériser (quel est le pire cas pour une tâche ?)

Introduction                                Enjeux                          Dimension                         Cycle de dévt                           Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                          Algorithme d’ordonnancement à priorités
                                                                                       •     Avantages
                        Processeur                     Echelle
                                                     des priorités                               – Plus simple à caractériser, implémentation aisée
                                                                                                   et peu coûteuse
                                                                                       •     Inconvénients
      Tτ11                                                  Niveau de priorité N                 – Risques de famine

    Tâche
  terminée
 ou bloquée
                              Tτ33                         Niveau de priorité N-1

                          Tâche
                          active

                                              τ44
                                              T            Niveau de priorité N-2

                                              Tτ22         Niveau de priorité N-3

                                              Tτ77         Niveau de priorité N-4

                                            Tâches activables

Introduction                                Enjeux                          Dimension                         Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                   Algorithme Rate Monotonic
 •     Article de référence :
          – C.L. Liu and J.W. Layland,"Scheduling algorithms for multiprogramming in real-time environment",
            Journal of the ACM, vol. 20(1), pp. 46-61, 1973
 •     Contexte
          – Tâches indépendantes, périodiques, à échéance sur requête, simultanées (donc concrètes) : une
            tâche est définie par un WCET et une période
 •     Algorithme
          – Affecter une priorité en fonction de la période : plus la période est petite, plus la priorité est élevée
 •     Résultats
          – Rate Monotonic est optimal dans la classe des algorithmes à priorités fixes
               » Cela signifie que si un algorithme à priorités fixes ordonnance fiablement un système de
                  tâches S, alors RM ordonnance fiablement S
               » De façon équivalente, tout système ordonnançable par un algorithme à priorités fixes est
                  ordonnançable par RM
          – Théorème de l’instant critique: pour des tâches indépendantes, le pire temps de réponse pour une
            tâche de priorité i advient lorsque toutes les tâches de priorité supérieure à i sont activées
            simultanément avec la tâche étudiée.
               » Conséquence : pour des tâches non concrètes, le cas concret simultané est un pire cas. Si un
                  algorithme ordonnance fiablement un système de tâches simultanées, alors il ordonnance
                  fiablement le même système de tâches non simultanées
          – On peut déterminer si un système est ordonnançable dans ce contexte par RM uniquement en
            testant la charge du système
 •     Tests d’ordonnançabilité possibles
          – Simulation => nous aurons à déterminer sur quelle durée (durée d’étude) (CNS)
          – Calcul du pire temps de réponse (CNS)
          – Calcul du facteur d’utilisation processeur (charge processeur) (CS)

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

     Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                Instant critique : illustration
 •     Soit un système de 2 tâches non concrètes. Une affectation de priorités RM
       donnerait Prio(ττ1)>Prio(ττ2)

     τ1

                                                                                                                                                        temps
     τ2
                Temps de réponse τ2,1 = 12                                    Temps de réponse τ2,2 = 13

 •     Remarque : le temps de réponse d’une tâche ne dépend que des tâches de
       priorité supérieure (ou égale) : τ1 n’est pas influencée par τ2
 •     Ou doit-on arrêter la simulation pour conclure que le système est fiablement
       ordonnancé ?

          Supposons les tâches simultanées
     τ1

                                                                                                                                                        temps
     τ2
                  Temps de réponse τ2,1 = 14                                 Temps de réponse τ2,2=13

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                Tests de complexité polynomiale

 •           Un système dont la charge U = ΣWCET/période>1 ne peut être fiablement
             ordonnancé sur un processeur
             –      U≤1 est donc une condition nécessaire d’ordonnançabilité triviale
 •           Liu & Layland ont proposé une condition suffisante d’ordonnançabilité
             –      CS signifie que
                     »    si la réponse au test est OUI, le système est fiablement ordonnancé par RM
                     »    Si la réponse au test est NON, on ne peut conclure
 •           Condition suffisante de Liu & Layland 73
             –      Soit S une configuration de n tâches indépendantes à échéance sur requête. Le système S est
                    ordonnancé fiablement par RM si U≤ n (21/n – 1)

                                                                   (
                                                 limn→∞ n × (21/ n −1) = ln(2) ≈ 0.69              )
             –      Il en résulte que tout système de tâches indépendantes à échéance sur requête de charge inférieure
                    à 69% est ordonnancé fiablement par RM
             –      La complexité du test est linéaire
     1
0.82
                                                                                                                                  incertitude
0.78
0.69

                                                                                   0%                                      69%              100% charge

                                               n
Introduction                                 Enjeux                           Dimension                          Cycle de dévt                           Demain

         Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                 Tests polynomiaux plus récents
 •           Borne de Sjödin et Hansson 98 : le pire temps de réponse pour les tâches
             d’un système  est majoré par

                 Ui=Ci/Ti                                              TRi ≤
                                                                                ∑     j∈hp(i )∪i
                                                                                                   Cj
                                                                               1− ∑       j∈hp(i )
                                                                                                     Uj
 •           Borne hyperbolique (Bini et al. 03) : un système  est ordonnançable
             (par RM) si

                                                                       ∏  i∈1..n
                                                                                   (Ui +1) ≤ 2

             –      Les auteurs ont amélioré la borne de L&L73, ainsi la borne hyperbolique est toujours meilleure (i.e.
                    moins pessimiste, mais bien entendu jamais optimiste) que le test de L&L73
 •           Tests polynomiaux réglables basés sur la RTA
             –      δ-HET (δ
                           δ Hyperbolic Exact Test) de Bini et Buttazzo 04
             –      Schémas d’approximation de Richard, Baruah, Fisher

                                                                                incertitude

                             CS dit OUI                                CS NON, CN OUI                            CN dit non

                                                       Tâches indépendantes, ER

Introduction                                 Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      29

                                                          Surdimensionnement

                          Système réel
                      la plupart du temps

   Système réel
     pire cas
                                                                                              Ressources nécessaires

       Modèle du système réel

                  Condition suffisante

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      30

              Méthodes exactes : complexité et passage à l’échelle

• La problématique principale de l’ordonnancement est qu’un bon nombre de
  problèmes (par exemple, lorsque les tâches partagent des ressources
  critiques) est NP-difficile ou Co-NP-difficile
    – Par conjecture, il n’existe donc pas d’algorithme donnant en tant raisonnable une réponse
      exacte
    – Donner une réponse exacte résulte en une explosion combinatoire
• Problématiques principales de l’ordonnancement
    – Evaluer des algorithmes d’ordonnancement (les contraintes temporelles sont-elles
      respectées ? Tel critère est-il minimisé ?) en utilisant des tests approchés (heuristiques)
      polynomiaux ou pseudo-polynomiaux permettant d’approximer de façon la moins
      pessimiste possible le comportement d’un algorithme
         » Par exemple, calculer une borne supérieure du temps de réponse des tâches qui soit la
            moins pessimiste possible, mais qui ne puisse en aucun cas être optimiste
    – Evaluer et comparer des algorithmes
         » Par exemple trouver un ratio qui caractérise l’écart maximal donné par une heuristique
            par rapport à la réponse que donnerait un algorithme optimal exponentiel
    – Limiter au maximum l’explosion combinatoire en réduisant au maximum l’espace des états,
      en trouvant des classes d’équivalence entre états lors d’une construction/exploration de
      l’espace des solutions.

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                               Rate Monotonic Analysis (RMA)

      τ1

                                                                                                                                                               temps
       τ2

•    Remarque 1 : le système se retrouve dans le même état à l’instant 28 qu’à l’instant 0
       – Par même état nous entendons même motif d’arrivées des tâches, et comme à l’instant initial, le processeur
         n’a plus rien à traiter
•    Observons cela sur un diagramme de charge (ou de demande processeur) de niveau
     de priorité 1
    Charge
    à traiter

                                                                                                                                                                temps

    Introduction                           Enjeux                           Dimension                          Cycle de dévt                                Demain

       Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                             Demande processeur

    Demande processeur
                                                                           Traitement

                                                                                          Point creux

                                                 Période d’activité

                                                                                                                                                               temps
               τ1               τ1               τ1              τ1 τ2 τ1                         τ1               τ1               τ1                 τ1
               τ2                                                                                                                   τ2

    Introduction                           Enjeux                           Dimension                          Cycle de dévt                                Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers           33

                   Formule pseudo-polynomiale de calcul de temps de réponse

Une tâche τ2 de charge C2 met, au pire, C2 unités de temps à s’exécuter
Demande processeur (RBF)
                                                                           Traitement
                                            R (1)  13 
                R  ( 2)
                          = C2 + ∑  2 Cj = C2 +  C1 = 14                                                                     R2( 2 )  14 
                                                                                                   R2(3) = C2 +       ∑  Cj = C2 +  4 C1 = 14
                   2
                                j∈hp ( i )  T  j   4
                                                                                                                     j∈hp ( i )  Tj 

                                                R2( 0 )           10 
                  R2(1) = C2 +       ∑                  Cj = C2 +  C1 = 13
                                    j∈hp ( i )  Tj                4

                R2( 0) = C2 = 10

                                                                                                                                                              temps
              τ1               τ1               τ1              τ1 τ2 τ1                         τ1               τ1               τ1                 τ1
              τ2                                                                                                                   τ2

Introduction                              Enjeux                           Dimension                          Cycle de dévt                                Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                             Calcul de pire temps de réponse
  •     Articles de référence :
           – M. Joseph and P. Pandya,"Finding response times in real-time system", The Computer Journal, vol.
             29(5), pp. 390-395, 1986
  •     Contexte
           – Tâches indépendantes à échéance inférieure ou égale à la période pour [JP 86]
  •     Résultats
           – Soit hp(i) l’ensemble des indices de tâches de priorité supérieure (ou égale) à la priorité de τi, en
             excluant τi
                » Par exemple, soient {ττ1, τ2, τ3, τ4} de priorité croissante, hp(2)={3,4}
           – Le temps de réponse de τi est donné par la charge à traiter plus l’interférence des tâches de priorité
             supérieure, en démarrant à l’instant critique, car le pire temps de réponse de τi intervient dans la plus
             longue période d’activité de niveau de priorité prio(ττi), et celle-ci démarre (y compris pour les tâches
             à échéances arbitraires) à l’instant critique
  •     Application au cas Di≤Ti
           – Si τi respecte ses échéances, son pire temps de réponse est le plus petit point fixe de la suite

                                          RTA Response Time Analysis
                            Ri(0) = Ci
                                                                                     Converge si et seulement si U≤1
                                                            R     ( n)
                                                                          
                            Ri(n+1) = Ci +           ∑      
                                                                  i
                                                                          Cj
                                                   j∈hp(i )  Tj                    Complexité pseudo-polynomiale

Introduction                              Enjeux                           Dimension                          Cycle de dévt                                Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers        35

                                  Types d’approche lors de la validation

                                                                Modèle du système
                                                                       réel

                             Au choix – surdimensionnement vs passage à l’échelle

                                                                           CNS ou CS
             Condition                                                     (suivant les                                                 Méthode
                                                Heuristiques
            suffisante                           hybrides
                                                                               cas)                                                      exacte
            polynomiale                                                      Pseudo-                                                  exponentielle
                                                                           polynomiale

Introduction                           Enjeux                           Dimension                          Cycle de dévt                            Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers        36

                                          Simulation : un test exponentiel

           Montée en charge ≤ r+H
                                                                            Taille H = PPCM(périodes)

Plus Petit Commun Multiple 1..m borné par 3m
Méthode fortement exponentielle
      Pros : les périodes sont souvent harmoniques/à PGCD important car les
      concepteurs sont humains
      Cons : avec l’avènement de l’aide à la conception, pros de moins en moins vrai,
      anomalies d’ordonnancement

Introduction                      Prios Fixes                           Prios Dyn.                               Offsets                           Conclusion
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      37

                                                           Facteurs pratiques

Exclusion mutuelle
Communications / contraintes de précédence entre les tâches
Suspension
Réveils de tâches liés
Incertitude sur les dates d’activation des tâches
Durées non modélisables par WCET
                                                       Système réel
 Modèles probabilistes
Modèles                                           la plupart du temps
Etc.

                                                                                        Système réel
                                                                                          pire cas

                                                                                             Modèle du
                                                                                            système réel

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      38

                                               Exemple : exclusion mutuelle
                                 Tâche A                          x       0                              Tâche B
                                   x++                                                                     x++

                                                                  Election de A

                    Transférer X dans registre R
                                                                  R    0
                                                               Préemption par B (sauvegarde du contexte de A dans son BCP)

                                         BCPA
                                          …                                                     Transférer X dans registre R
                                                                   R       0
                                         R=0
                                         CO                                                     Incrémenter le registre R
                                                                   R       1
                                                                                                Transférer le registre R dans X

                                                                   x       1

                                                              Election de A (restauration du contexte de A à partir de son BCP)

                                                                   R       0
                       Incrémenter le registre R
                                                                   R       1
                       Transférer le registre R dans X
                                                                    x       1

           Mécanisme d’exclusion mutuelle (sémaphore, moniteur)
Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                  Anomalie d’ordonnancement
 •     Lorsque des ressources critiques sont en jeu, il faut prendre en compte le
       problème de l’exclusion mutuelle
          – Problèmes possibles
               » Interblocage (dîner des philosophes)                                                          Utilisation de la ressource R
               » Inversion de priorité (voir plus loin)
               » Anomalies d’ordonnancement
 τ1

                                                                                                                                                       temps
  τ2

 τ3

                                               C3=6 => cela fonctionne sur la simulation
                                                                                             La tâche est bloquée lors de l’accès à la ressource,
 τ1                                                                                          c’est normal, cela s’appelle un blocage (direct)

                                                                                                                                                       temps
  τ2

 τ3

                                                 C3=5 => violation d’échéance, c’est une anomalie d’ordonnancement
Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

     Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                           Inversion de priorité
 •     Une inversion de priorité a lieu lorsqu’une tâche se voit retarder par une tâche
       de priorité inférieure, alors qu’elle ne partage pas de ressource directement
       avec cette tâche
                                                                                                                    Utilisation de la ressource R
 τ1

                                                                                                                                                       temps
  τ2

 τ3

                                        Inversions de priorité : τ2 s’exécute alors que τ1 est bloquée, pourtant ce n’est pas τ2 qui
                                        détient la ressource bloquant τ1
                blocage

        héritage
 τ1

                                                                                                                                                       temps
  τ2
                                          Libération R => retour au niveau de priorité initiale
 τ3

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      41

                                              Exemple d’inversion de priorité

                                                                                                    Mission Mars Pathfinder (1997)

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

     Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                            Protocole à Priorité Héritée

 •     Article de référence :
          – L. Sha, R. Rajkumar and J.P. Lehoczky,"Priority inheritance protocols : an approach to real-time
            synchronization", IEEE Transactions on Computers, vol. 39n. 9, 1990, pp. 1175-1185
 •     Contexte
          – Algorithmes à priorités fixes
 •     Nom
          – Protocole à priorité héritée (PPH) ou Priority Inheritance Protocol (PIP)
 •     Principe
          – Lorsqu’une tâche τi est bloquée pour accéder à une ressource R, la tâche τj détenant R hérite de la
            priorité de τi pendant la durée de sa section critique sur R
 •     Résultats
          – Supprime toute inversion de priorité
 •     Effets de bord
          – Même une tâche n’utilisant pas de ressource peut subir un blocage indirect de la part d’une tâche de
            priorité inférieure

 τ1

                                                                                                                                                       temps
  τ2

 τ3

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                   Etude du Protocole à Priorité Héritée

 •      Inconvénients
           – Ne supprime pas l’interblocage
           – Si une tâche utilise plusieurs ressources, elle peut être bloquée à chaque entrée en section critique
           – Complexe à implémenter
 •      Implémentation
           – Lorsqu’une tâche est en section critique, son niveau de priorité peut être augmenté lorsqu’elle est en
             attente du processeur ou bloquée par une instruction de type prendre(ressource) sur une ressource
             qu’elle détient. Pendant son exécution, plusieurs tâches peuvent augmenter sa priorité

 τi

                                  La priorité retombe à prio(τj)
      Héritage de prio(τj) à cause de R1
                Héritage de prio(τk) à cause de R2

                Héritage de prio(τm) à cause de R2
                                                                                                                       Utilisation de R1
                                                                                                                       Utilisation de R2
                                                                                                                       Utilisation de R1 et R2

Introduction                              Enjeux                           Dimension                          Cycle de dévt                           Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                   Etude du Protocole à Priorité Héritée

 τ1

                                                                                                                                                         temps
 τ2

 τ3

                                                                                                  Héritage de priorité                         Utilisation de R1

 •      Une tâche peut être bloquée par une section critique pour                                                                              Utilisation de R2
        chaque ressource
           – Blocage direct ou indirect                                                                                                        Utilisation de R1 et R2
 •      La durée de blocage Bi d’une tâche due aux sections
        critiques du système est la durée pendant laquelle une
                                                                                                                                         Note: on suppose que τ1
        tâche peut être bloquée (de façon directe ou indirecte) par
                                                                                                                                         fait P(S2);P(S1)
        une tâche de priorité inférieure
 •      Pour PIP      Bi =                        ∑
                                 max∀j∈lp(i ) (durée SCj( R))
                                             ∀ressourceR

           – lp(i) ensemble des indices de plus petite priorité que τi
           – Durée SCi(R) : durée maximale de section critique de τi sur R
 •      Dans l’exemple, B1 = 5, B2=3, B3 = 0

Introduction                              Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                  Etude du Protocole à Priorité Héritée
 •     S’il y avait une tâche de priorité intermédiaire située entre τ1 et τ2, même si elle
       n’utilisait pas de ressource, son Bi serait de 5 (durée SC3(R1)+durée SC2(R2)) car
       elle peut subir un blocage indirect dû à τ1
 •     Si il y avait une tâche de priorité supérieure à celle de τ1, en appliquant la
       formule proposée, son Bi serait de max{durée SC3(R1),durée
       SC1(R1)}+max{durée SC2(R2),durée SC1(R2)}=5
          – Cependant, il est évident que la formule donnée est pessimiste dans ce cas, car cette tâche ne
            pourrait en aucun cas subir un blocage indirect, pourquoi ?
 •     La formule devrait prendre en compte le fait qu’on ne prend en compte que les
       ressources utilisées par au moins une tâche de priorité supérieure à la tâche
       dont on calcule le Bi

                            Bi =                           ∑max    ∀j∈lp(i )         (durée SCj (R))
                                    ∀ressourceR utilisée par une tâche de hp(i )

 •     En fait, les formules de calcul du pire temps de réponse sont

               Ri(0) = Bi + Ci                                                                Ri(0) (k ) = Bi + kCi
                                                 Ri(n)                                          ( n+1)                              Ri(n) (k ) 
               R   ( n+1)
                            = Bi + Ci + ∑                                                    R            (k ) = Bi + kCi + ∑                   Cj
                  i                                     Cj                                      i
                                                                                                                            j∈hp(i )     Tj 
                                       j∈hp(i )  Tj 

                            Pour Di≤Ti                 TRi, k = Ri(*) (k ) − Ti(k −1) Pour des échéances arbitraires
Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

     Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                  Etude du Protocole à Priorité Héritée

 •     Pourquoi ne considère-t-on qu’une seule fois Bi ?
 •     PIP est implémenté dans peu d’exécutifs (cela est dû au fait que le protocole à
       priorité plafond est plus avantageux et facile à implémenter)
          – Ce protocole est cependant implémenté dans VxWorks
          – L’absence de protocole de gestion de ressources a failli entraîner l’échec de la mission Mars
            Pathfinder

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                             Protocole à Priorité Plafond
 •      Article de référence :
           – L. Sha, R. Rajkumar and J.P. Lehoczky,"Priority inheritance protocols : an approach to real-time
             synchronization", IEEE Transactions on Computers, vol. 39n. 9, 1990, pp. 1175-1185
 •      Contexte
           – Algorithmes à priorités fixes
 •      Nom
           – Protocole à priorité plafond (PPP) ou Priority Ceiling Protocol (PCP)
 •      Principe
           – Chaque ressource est munie d’une priorité plafond égale à la plus grande priorité des tâches
             susceptibles de l’utiliser
           – Une variable, nommée plafond système, est la priorité plafond maximale des ressources en cours
             d’utilisation
           – Une tâche ne peut entrer en section critique (opération Prendre(R)) que si sa priorité est strictement
             supérieure au plafond système ou si elle détient elle-même le plafond système
           – Lorsqu’une tâche τi est bloquée pour accéder à une ressource R, la tâche τj détenant R hérite de la
             priorité de τi pendant la durée de sa section critique sur R
 •      Résultats
           – Supprime toute inversion de priorité
           – Une tâche ne peut être bloquée au maximum que par une seule section critique de priorité inférieure
             par période d’activité
           – Absence d’interblocage (pourquoi ?)
 •      Effets de bord
           – Même une tâche n’utilisant pas de ressource peut subir un blocage indirect de la part d’une tâche de
             priorité inférieure
           – Une tâche, même si elle est la plus prioritaire des tâches active, peut être bloquée en accédant à un
             sémaphore même libre : c’est un blocage d’évitement

Introduction                              Enjeux                           Dimension                          Cycle de dévt                           Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                               Comparaison PPP - PPH

                                                                             PPH
 τ1

                                                                                                                                                         temps
 τ2

 τ3

                                                                                                  Héritage de priorité                         Utilisation de R1
                                                                                                  Blocage d’évitement                          Utilisation de R2
                                                                             PPP = > 1 blocage max
                                                                                                                                               Utilisation de R1 et R2
 τ1

                                                                                                                                                         temps
 τ2

 τ3

Introduction                              Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                                 Etude du Protocole à Priorité Plafond

                               Bi =                              max                                (durée SCj( R))
                                       ∀ressourceR utilisée par une tâchede hp(i ),∀j∈lp ( i )

 •     Sur l’exemple précédent : B1=max(2,3) ; B2 = max(3) ; B3 = 0
 •     Les formules de calcul du pire temps de réponse sont les mêmes, sauf que Bi
       est plus faible qu’avec le PPH

          Ri(0) = Bi + Ci                                                                          Ri(0) (k ) = Bi + kCi
                                                    Ri(n)                                                                                          Ri(n) 
          Ri(n+1) = Bi + Ci +              ∑  Cj                                                 Ri(n+1) (k ) = Bi + kCi +                ∑  Cj
                                          j∈hp(i )  Tj                                                                                   j∈hp(i )  Tj 

                            Pour Di≤Ti                                                                         Pour des échéances arbitraires

 •     Problème : implémentation aussi complexe que PPH

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain

     Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                            Protocole à Super Priorité ou Priorité Plafond Immédiat

 •     Article de référence :
          – C. Kaiser,"Exclusion mutuelle et ordonnancement par priorité", Technique et Science Informatiques,
            vol. 1(1), pp. 59-68, 1982
 •     Contexte
          – Algorithmes à priorités fixes
 •     Nom
          – Protocole à priorité plafond immédiat (PPPI) ou Protocole à Super Priorité ou Stak Based Priority
            Ceiling Protocol
 •     Principe
          – Chaque ressource est munie d’une priorité plafond égale à la plus grande priorité des tâches
            susceptibles de l’utiliser (comme pour PPP)
          – Une variable, nommée plafond système, est la priorité plafond maximale des ressources en cours
            d’utilisation (comme pour PPP)
          – Une tâche ne peut entrer en section critique (opération Prendre(R)) que si sa priorité est strictement
            supérieure au plafond système ou si elle détient elle-même le plafond système (comme pour PPP)
          – Lorsqu’une tâche τi entre en section critique, elle hérite pendant toute la section critique de la
            priorité plafond de la ressource
 •     Résultats
          – Mêmes propriétés que le protocole à priorité plafond, en effet même si le comportement peut être
            différent, le calcul du facteur de blocage est identique
          – Implémentation très simple
                » Il en résulte que ce protocole est implémenté sur la plupart des exécutifs (norme POSIX, norme
                   OSEK/VDX) et en Ada
                » Etrangement, il n’est pas proposé par VxWorks

Introduction                             Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                             Protocole à Super Priorité ou Priorité Plafond Immédiat

                                                                                                  Héritage de priorité                         Utilisation de R1

                                                                                                                                               Utilisation de R2
                                                                     PPP = > 1 blocage max
                                                                                                                                               Utilisation de R1 et R2
 τ1

                                                                                                                                                         temps
 τ2

 τ3

Introduction                              Enjeux                           Dimension                          Cycle de dévt                           Demain

      Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers         52

                                     Ordonnancement et exclusion mutuelle

Problème NP-difficile
Aucun algorithme non clairvoyant n’est optimal

τ1

τ2

Mais on peut appliquer une condition suffisante de la RTA

                                               Ri(0) = Ci
                                                  ( n+1)                   Ri(n) 
                                               R i         = Ci + ∑              Cj
                                                                 j∈hp(i )  Tj 

Introduction                              Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      53

                                    Validation temporelle dans l’industrie

Les RTOS off-the-shelf proposent
      Ordonnancement à priorités fixes
      Protocole à priorités plafond immédiat
Les méthodes de validation se trouvent en fin de cycle de vie
Basées sur la RMA
S’appuie sur des méthodes des années 90

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      54

                                                                 Enjeux actuels

Diminuer les surdimensionnements
Mieux utiliser les ressources
Aider les concepteurs tout au long du cycle de développement à concevoir un
 système qui SERA valide temporellement
Savoir combiner vue fonctionnelle et opérationnelle
S’adapter aux nouveaux supports physiques d’exécution
Etc.

Avec des méthodes qui passent à l’échelle pour des applications de taille
 importante

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      55

                                                   Introduction
                                                   Enjeux industriels

              DiminuerSurdimensionnement
                       le surdimensionnement
                                                   Cycle de développement
                                                   Enjeux industriels de demain

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers

                                            Fonctionnement non périodique
   Tâches sporadiques

   Tâches périodiques                                                                                                          Processeur

   Tâches apériodiques                                                                                          Traitement meilleur effort

                                            Rejet

   Tâches sporadiques                        Test
                                         D’acceptation

   Tâches périodiques                                                                                                          Processeur

   Tâches apériodiques                                                                                          Traitement meilleur effort

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain
Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      57

                                            Fonctionnement non périodique

« Serveurs » d’apériodiques, étudiés dans les années 90
Certains RTOS (norme Ada 1995 et 2005 par exemple, ou POSIX 1003.1)
 proposent de tels serveurs

Introduction                           Enjeux                           Dimension                          Cycle de dévt                           Demain

   Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique – Université de Poitiers      58

                                                        Types de contraintes

Contraintes strictes
Contraintes fermes
Modèles stochastiques
QoS
Vous pouvez aussi lire