ORDONNANCEMENT DANS LES SYSTÈMES TEMPS RÉEL (2) Asma Benmessaoud Université M hamed Bouguera Boumerdes (UMBB) Email : a_bemessaoud@esi.dz
SOMMAIRE Notion de dépendance 1. Partage de ressources 2. Contraintes de précédence
Différents types de dépendances : Partage de ressources Contraintes de précédence
Partage de ressources
Partage de ressources Accéder à une ressource c est éventuellement devoir attendre qu elle se libère. Définir une borne sur le temps de blocage (B i )
Partage de ressources Problème: inversion des priorités Comment éviter les attentes non bornées? protocoles d inversion de priorités - MAIS comment évaluer B i finement? Caractéristiques de ces protocoles : Calcul de B i, nombre de ressources accessibles, complexité, interblocage possible ou non, etc.
Partage de ressources Problème: inversion des priorités - Exemple: 1. La tâche A (de haute priorité) est mise en attente sur un Verrou X. Elle n'a donc plus accès à la ressource processeur. 2. La tâche B (de basse priorité) acquiert un Verrou Y. 3. La tâche B est préemptée car la tâche A vient d'obtenir le Verrou X. 4. La tâche A essaye d'obtenir le verrou Y ; Comme il est déjà acquis par la tâche B, la tâche A est donc mise en attente. 5. La tâche de haute priorité n'a donc pas accès à la ressource processeur mais une tâche de basse priorité y a accès.
Partage de ressources Héritage simple (Priority Inheritance Protocol PIP) - Objectif : Algorithme qui élimine l inversement de priorité. - Principe: Une tâche Y qui bloque une autre tâche X plus prioritaire qu elle exécute la section critique avec la priorité de la tâche X (la tâche bloquée) - Section critique : débloquée grâce aux sémaphores ou au mutex
Partage de ressources Héritage simple (Priority Inheritance Protocol PIP) - Caractéristique : + PIP ne peut être utilisé avec plusieurs ressources interblocage + B i = Sommes des sections critiques des tâches moins prioritaires que i - Solution : PCP (Priority Ceiling Protocol) - Principe : a chaque ressource est assignée une priorité plafond, qui est égale à la plus haute priorité des tâches qui sont entrain de s exécuter - Variétés: OCPP, ICPP
Partage de ressources ICPP (Immediate Ceiling Priority Protocol) - Priorité plafond d une ressource = priorité statique maximale de toutes les tâches qui utilise la ressource. - priorité dynamique d une tâche = maximum (priorité statique de la tâche, priorité plafond de toutes les ressources allouées) - Bi = plus grande section critique
Partage de ressources Résultats Soit n tâches ordonnées de façon décroissantes selon leurs priorités ( avec B n = 0) - Cas 1 : prise en compte du temps de blocage : Critère d ordonnançabilité RM
Partage de ressources Résultats Critère d ordonnançabilité EDF / LLF
Partage de ressources Résultats - Cas 2 : prise en compte du temps de blocage B i dans le calcul du temps de réponse d un ensemble de tâches ordonnancées par RM / Préemptif hp (i) est l ensemble des tâches de plus forte priorité que i Résolution par la méthode itérative :
NOTION DE RESSOURCES Contraintes de précédence
Contraintes de précédence Objectif - Calculer un ordonnancement qui respecte les contraintes de précédence (simulation, exécution, ) - Décider de la faisabilité hors-ligne
Contraintes de précédence Principales approches 1.Conditions initiales (paramètre S i ). Exécution et faisabilité (avec formules spécifiques). 2.Affectation des priorités : Applicabilité limitée. Faisabilité et exécution. 3.Modifications des délais critiques : Applicabilité limitée. Faisabilité et exécution. 4.Utilisation du paramètre «Jitter» : Seulement pour la faisabilité (pire cas éventuellement très grand). 5.Heuristique d ordonnancement : Pas de faisabilité.
Contraintes de précédence Principe de la solution de l affectation des priorités - Objectif : Rendre les tâches indépendantes en modifiant leurs paramètres - Hypothèses : Tâches périodiques de même période ou apériodiques.
Contraintes de précédence Principe de la solution de l affectation des priorités - Technique : 1. Modification pour RM : 2. Modification pour EDF:
Contraintes de précédence Principe de la solution de l affectation des priorités - Exemple : EDF + tâches apériodiques Ci Di D * i T4 2 14 14 T3 1 8 8 T2 2 10 7 T1 1 5 5
Contraintes de précédence Principe du paramètre «Jitter» Exemple de l historique Le timer d un système es modalisé comme une tâche périodique avec : P timer = 10ms, C timer = 3ms on souhaite réveiller une tâche i à l instant t = 15ms.
Contraintes de précédence Principe du paramètre «Jitter» La date effective de réveil de la tâche i sera 23 ms. Sa gigue est de J i = 8 ms. Temps de réponse = r i = w i + J i avec :
Contraintes de précédence Principe du paramètre «Jitter» Exemple du Producteur / Consommateur :