Ordonnancement temps réel



Documents pareils
Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Analyse du temps de réponse des systèmes temps réel

Annexe 6. Notions d ordonnancement.

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Introduction au temps réel

Ordonnancement temps réel

Partie 7 : Gestion de la mémoire

Systèmes et exécutifs temps-réel

1 Mesure de la performance d un système temps réel : la gigue

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

Métriques de performance pour les algorithmes et programmes parallèles

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Cours A7 : Temps Réel

Temps Réel. Jérôme Pouiller Septembre 2011

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Cours de Systèmes d Exploitation

Problèmes liés à la concurrence

Cours Bases de données 2ème année IUT

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

MEAD : temps réel et tolérance aux pannes pour CORBA

Cours A7 : Temps Réel

Introduction à la programmation concurrente

Equilibrage de charge (Load

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

CEG4566/CSI4541 Conception de systèmes temps réel

Conception des systèmes répartis

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Introduction aux systèmes temps réel. Iulian Ober IRIT

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Génie Logiciel avec Ada. 4 février 2013

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Les processus légers : threads. Système L3, /31

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Introduction à MATLAB R

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Élasticité des applications à base de services dans le Cloud

Exercices INF5171 : série #3 (Automne 2012)

Contributions à l expérimentation sur les systèmes distribués de grande taille

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

Réseaux grande distance

Chapitre 4 : Exclusion mutuelle

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Ordonnancement des applications temps réel réparties

Les diagrammes de modélisation

Ingénérie logicielle dirigée par les modèles

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Introduction aux Systèmes et aux Réseaux

Gestion de projet- Indicateurs de performance

Recherche dans un tableau

Cours Programmation Système

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Cours de Génie Logiciel

Systèmes temps réel et embarqués Concepts de base, expression des contraintes temporelles

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Transmission d informations sur le réseau électrique

Rappels sur les suites - Algorithme

Présentation du PL/SQL

Entraînement au concours ACM-ICPC

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

Exécutif temps réel Pierre-Yves Duval (cppm)

SYSTÈME DE GESTION DE FICHIERS

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Les Systèmes de Gestion de Bases de Données Temps Réel

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Dynamic Host Configuration Protocol

Ordonnancement temps réel et minimisation de la consommation d énergie

Impact de choix d implantation sur les performances d une application de Contrôle-Commande

NOTIONS DE RESEAUX INFORMATIQUES

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Cisco Certified Network Associate

Mécanismes de protection dans AUTOSAR OS

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Un ordonnanceur stupide

Erreurs les plus fréquentes Guide de dépannage

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Chapitre 5 : Flot maximal dans un graphe

IFT2255 : Génie logiciel

Transcription:

Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5

Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches En fonctionnement anormal, limiter les effets des débordements temporels et assurer le respect des contraintes temporelles des tâches les plus critiques Dans la suite, on veillera à ce que les temps nécessaires à la mise en œuvre de l algorithme d ordonnancement ainsi que celui de changement de contexte soient négligeables ce qui implique une complexité faible et une implémentation efficace

Définitions Tâches dépendantes ou indépendantes Les tâches indépendantes ne partagent que le processeur Les tâches dépendantes partagent d'autres ressources ou sont reliées par des contraintes de précédence Ordonnancement préemptif ou non Un ordonnanceur préemptif peut interrompre une tâche au profit d'une tâche plus prioritaire Un ordonnanceur non préemptif n'arrête pas l'exécution de la tâche courante Ordonnancement hors ligne ou en ligne Un ordonnancement hors ligne est pré-calculé avant exécution puis est exécuté avec ou sans préemption Un ordonnancement en ligne décide dynamiquement avec ou sans préemption de l exécution des tâches

Définitions Ordonnancement optimal Algorithme qui produit un ordonnancement pour tout ensemble de tâches ordonnançables (si un algorithme le fait, lui le fait aussi) Test d ordonnancement Formule qui fournit une condition nécessaire et/ou suffisante pour qu un algorithme satisfasse les contraintes temporelles d un ensemble de tâches Test d admission Formule qui vérifie que l ajout d une nouvelle tâche préserve le respect des contraintes temporelles de l ensemble de tâches précédent

Notations Caractéristiques de la tâche τ i C i : durée de calcul de τ i S i : date d activation de τ i D i : date d échéance de τ i T i : période de τ i U i = C i / T i = utilisation du processeur pour τ i Caractéristiques du système N : nombre de tâches périodiques U = U i = utilisation globale du processeur Opérateurs Plafond x (x si x est entier sinon l entier supérieur) Plancher x (x si x est entier sinon l entier inférieur)

Panorama des algorithmes Ordonnancements de tâches périodiques Ordonnancement non-préemptif à base de table Ordonnancements préemptif à priorité fixe Rate Monotonic Scheduling Deadline Monotonic Scheduling Ordonnancements préemptif à priorité dynamique Earliest Deadline First Least Laxity First Ordonnancements de tâches apériodiques Serveur à scrutation Serveur différé Serveur sporadique Partage de ressources Priority Inheritance Protocol Priority Ceiling Protocol Highest Locker Protocol

Tester l ordonnançabilité Soit un système constitué de n tâches à échéance contrainte et à départ simultané Il suffit de tester l ordonnancement jusqu'à l'hyper-période ie la période égale au ppcm des périodes des tâches du système.

Ordonnancement piloté par une table Hypothèses Tâches périodiques Principe Cycle majeur = PPCM des périodes Cycle mineur = bloc non-préemptible Le cycle mineur divise le cycle majeur Un ordonnanceur cyclique boucle sur le cycle majeur en exécutant la séquence de cycles mineurs Le cycle mineur correspond à un point de contrôle permettant de vérifier le respect des contraintes

Ordonnancement piloté par une table période échéance calcul utilisation τ 1 10 10 2 0,200 τ 2 15 15 4 0.267 τ 3 6 6 2 0.333 0 6 10 12 15 18 20 24 30 τ 3 2 τ 1 2 τ 2 2 τ 3 2 τ 2 2 τ 1 2 τ 3 2 τ 2 2 τ 3 2 τ 1 2 τ 2 2 τ 3 2 cycle mineur cycle majeur

Ordonnancement piloté par une table Avantages Mise en œuvre efficace Pas besoin d exclusion mutuelle entre tâches Inconvénients Manque de flexibilité Impact d une tâche supplémentaire Traitement des tâches apériodiques Construction difficile de la table La découpe constitue un problème complexe dès lors qu il faut prendre en compte les contraintes temporelles, les ressources partagées, les tâches apériodiques

Hypothèses Tâches périodiques, préemptibles et indépendantes Activation en début de période (S i = 0) Échéance en fin de période (D i = T i ) Pire cas C i connu a priori Principe Ordonnancement par priorité statique Rate Monotonic Scheduling Une activation de tâche réveille l ordonnanceur Il choisit la tâche éligible de plus courte période Test d ordonnancement Condition nécessaire : Condition suffisante : U 1 U lim n + n n 21/ n 1 ( 21/ n 1) = log( 2) = 69%

Ordonnancement par priorité statique Rate Monotonic Scheduling ( 21 / 1) 0. 78 3 3 période calcul utilisation τ 1 10 2 0.200 τ 2 15 4 0.267 τ 3 36 12 0.333

Ordonnancement par priorité statique Rate Monotonic Scheduling 3x(2 1/3-1)=0.78 période calcul utilisation τ 1 10 4 0.400 τ 2 15 4 0.267 τ 3 36 12 0.333 3x(2 1/3-1)=0.78 période calcul utilisation τ 1 = τ 1 / 2 5 2 0.400 τ 2 15 4 0.267 τ 3 = τ 3 / 12 3 1 0.333 reprise de t = 0

i, 1 Ordonnancement par priorité statique Rate Monotonic Scheduling Avantages Simplicité de mise en œuvre Optimal pour les ordonnancements à priorité statique Répandu dans les exécutifs classiques Bon comportement en cas de surcharge Inconvénients Surdimensionnement possible du système Condition nécessaire et suffisante en O(n 2 ) i n, min ( k, l) Ri j i 1 = j= 1 Ci Tj Tj lt k lt Tj k i + lt C k 1 avec Ri = { } ( ) i k, l 1 k i, l = 1,.., T T k

Théorème de la zone critique Rate Monotonic Scheduling Toutes les échéances sont respectées quel que soit l instant d arrivée des tâches ssi arrivant initialement simultanément elles respectent leur première échéance i, 1 i n, t D i, W i (t)= Σ j i C j * t/t j t Activer simultanément les tâches de plus fortes priorités que τ i pour maximiser le retard dans l exécution de τ i Pour trouver t, on applique une méthode itérative : t = C i et tant que t # W i (t) et W i (t) < T i, t = W i (t) Il s agit de démarrer à t = 0 puis de calculer le temps nécessaire pour traiter toutes les requêtes activées pendant t. Si t dépasse T j, il y a dépassement. Sinon, on augmente (strictement) t en lui affectant W i (t).

Théorème de la zone critique Rate Monotonic Scheduling function Workload (T, I : Natural)! return Natural is! S : Natural := 0;! begin! for J in 1.. I loop! S := S + C(J) * Ceiling (T, P(J));! end loop;! return S;! end Workload;! procedure Assert (I : Natural) is! T : Natural := C (I);! W : Natural := Workload (T, I);! begin! while T < P (I) and then T < W loop! T := Workload (T, I);! end loop;! if T > P (I) then! raise Overflow;! end if;! end Assert;! P C τ 1 3 1 τ 2 5 2 τ 3 15 4 1. Assert (1) (avec τ 1 ) 1. Workload (1, 1) = 1 2. Assert (2) (avec τ 1 et τ 2 ) 1. Workload (2, 2) = 1+2 2. Workload (3, 2) = 1+2 3. Assert (3) (avec τ 1, τ 2 et τ 3 ) 1. Workload (4, 3) = 2+2+4 2. Workload (8, 3) = 3+4+4 3. Workload (11, 3) = 4+6+4 4. Workload (14, 3) = 5+6+4 5. Workload (15, 3) = 5+6+4

Ordonnancement par priorité statique Deadline Monotonic Scheduling Hypothèses Identiques à Rate Monotonic Scheduling L échéance est inférieure à la période (D i <= T i ) Principe Proche de celui de RMS Classement des tâches par échéances croissantes T i = D i devient un cas particulier de RMS Test d ordonnancement La condition nécessaire et suffisante existe Condition suffisante : Ci n( 2 1) 1/ n Di

Ordonnancement par priorité statique Deadline Monotonic Scheduling Avantages Voir RMS Rate Monotonic Scheduling pénalise les tâches peu fréquentes (longue période) mais urgentes (faible échéance). Deadline Monotonic Scheduling s avère meilleur dans ce cas. Inconvénients Voir RMS Remarques À ne pas confondre avec EDF

Ordonnancement par priorité dynamique Earliest Deadline First Hypothèses Tâches périodiques, préemptibles et indépendantes Activation en début de période (S i = 0) Échéance en fin de période (D i = T i ) Pire cas C i connu à priori Principe Une activation de tâche réveille l ordonnanceur Il choisit la tâche éligible de plus proche échéance Test d ordonnancement Condition nécessaire et suffisante : Ci / Ti 1

Ordonnancement par priorité dynamique Earliest Deadline First période calcul utilisation τ 1 10 4 0.400 τ 2 15 4 0.267 τ 3 36 12 0.333

Ordonnancement par priorité dynamique Earliest Deadline First Avantages Utilisation possible de 100% du processeur Meilleur que RMS pour les tâches de courte échéance Optimal pour les ordonnancements à priorité dynamique si les échéances sont inférieures aux périodes Inconvénients Légère complexité de la mise en œuvre Moins répandu dans les exécutifs que RMS Mauvais comportement en cas de surcharge Remarques Si D i est quelconque comparée à T i, la condition nécessaire et suffisante n est plus que suffisante

Ordonnancement par priorité dynamique Least Laxity First Hypothèses Similaires à celles d EDF Principe Une activation de tâche réveille l ordonnanceur Il choisit la tâche éligible de moindre marge marge = échéance temps de calcul restant temps courant Test d ordonnancement Condition nécessaire et suffisante : Ci / Ti 1

Ordonnancement par priorité dynamique Least Laxity First période calcul utilisation τ 1 10 4 0.400 τ 2 15 4 0.267 τ 3 36 12 0.333 6 6 6 6 4 11 7 11 11 9 5 24 20 16 16 12 12 8 8 4 4 24

Ordonnancement par priorité dynamique Least Laxity First Avantages Meilleur qu EDF dans le cas de multi-processeur Inconvénients Forte complexité de la mise en œuvre Difficulté du calcul du temps de calcul restant Mauvais comportement en cas de surcharge Nombre de préemptions engendrées supérieur

Ordonnancement des tâches apériodiques Principes Des tâches apériodiques doivent être intégrées dans un ordonnancement de tâches périodiques Les tâches périodiques doivent respectées leurs échéances Définitions Les tâches apériodiques sont activées à des instants aléatoires Les tâches sporadiques se caractérisent par un délai minimum entre deux activations

Ajout de tâches apériodiques Principes Traiter les tâches apériodiques comme les tâches périodiques lorsque l ordonnancement le permet Le test d ordonnancement sert de test d admission dès lors que les tâches apériodiques viennent avec des caractéristiques plus ou moins précises Hypothèses Le test d ordonnancement (pas l algorithme d ordonnancement) doit être de faible complexité pour que l admission s effectue dynamiquement

Ordonnancement des tâches apériodiques Serveur en arrière plan Principes Les tâches apériodiques sont traitées séquentiellement par un serveur de faible priorité Le serveur n a pas de temps de calcul associé ou de capacité (faible priorité) L absence de capacité vient du fait que le serveur remplit les trous dans l ordonnancement

Ordonnancement des tâches apériodiques Serveur en arrière plan période/activation calcul priorité utilisation/réponse événement ε 1 7 3 17 événement ε 2 11 4 35 tâche τ 1 20 6 3 0,300 tâche τ 2 10 4 2 0,400 serveur en arrière plan * * 10 *

Ordonnancement des tâches apériodiques Serveur en arrière plan Avantages Simplicité de mise en œuvre Inconvénients On ne peut prédire les échéances de traitement des tâches apériodiques Les tâches apériodiques peuvent être critiques Le mauvais temps de réponse en cas de charge importante est pénalisant

Ordonnancement des tâches apériodiques Serveur à scrutation Principes Les tâches apériodiques sont traitées séquentiellement par un serveur de forte priorité Le serveur dispose d une capacité et d une période La capacité est réallouée toutes les périodes Le temps consommé à traiter une tâche apériodique est débité sur la capacité Le serveur devenu actif traite toutes les tâches apériodiques dans la limite de sa capacité Le serveur devenu inactif (absence de tâche) perd sa capacité jusqu à la prochaine ré-allocation

Ordonnancement des tâches apériodiques Serveur à scrutation période/activation calcul priorité utilisation/réponse événement ε 1 7 3 17 événement ε 2 11 4 33 tâche τ 1 20 6 3 0,300 tâche τ 2 10 4 2 0,400 serveur à scrutation 8 2 1 0,250 T=0 Renonce à sa capacité T=8 Recharge sa capacité T=10 Epuise sa capacité T=16 Recharge sa capacité T=18 Epuise sa capacité T=24 Recharge sa capacité T=26 Epuise sa capacité

Ordonnancement des tâches apériodiques Serveur à scrutation Avantages Simplicité de mise en oeuvre Inconvénients En relâchant sa capacité, le serveur épuise le temps alloué pour des tâches à venir Mauvais temps de réponse Le traitement peut s étendre sur plusieurs périodes même pour une tâche de courte durée

Ordonnancement des tâches apériodiques Serveur différé Principes Les tâches apériodiques sont traitées séquentiellement par un serveur de forte priorité Le serveur dispose d une capacité et d une période La capacité est réallouée toutes les périodes Le temps consommé à traiter une tâche apériodique est débité sur la capacité Le serveur devient actif lorsqu une tâche apériodique est à traiter et que sa capacité n est pas épuisée

Ordonnancement des tâches apériodiques Serveur différé période/activation calcul priorité utilisation/réponse événement ε 1 7 3 10 événement ε 2 11 4 26 tâche τ 1 20 6 3 0,300 tâche τ 2 10 4 2 0,400 serveur différé 8 2 1 0,250 T=0 Préserve sa capacité T=7 Consomme sa capacité T=8 Recharge et consomme T=16 T=24 Recharge et Recharge et consomme consomme T=32 Recharge sa capacité

Ordonnancement des tâches apériodiques Serveur différé Avantages Il consomme le temps du processeur ainsi que sa capacité qu en présence de tâches apériodique Inconvénients La consommation de la capacité et la ré-allocation peuvent survenir concomitamment et rallonger artificiellement le temps autorisé au serveur Il peut donc se comporter comme une tâche ayant le double de son budget et rendre le système difficilement analysable

Ordonnancement des tâches apériodiques Serveur sporadique Principe Les tâches apériodiques sont traitées séquentiellement par un serveur de forte priorité Le serveur dispose d une capacité et d une période Le temps consommé à traiter une tâche apériodique est débité sur la capacité Le montant exact de temps consommé est crédité après un délai d une période Le serveur devient actif lorsqu une tâche apériodique est à traiter et que sa capacité n est pas épuisée

Ordonnancement des tâches apériodiques Serveur sporadique période/activation calcul priorité utilisation/réponse événement ε 1 7 3 17 événement ε 2 11 4 32 tâche τ 1 20 6 3 0,300 tâche τ 2 10 4 2 0,400 serveur apériodique 8 2 1 0,250 T=0 Préserve sa capacité T=7 Consomme sa capacité Recharge de 2 pour T=15 T=15 Recharge et consomme Recharge T=23 de 2 Recharge et pour T=23 consomme Recharge de 2 pour T=31 T=31 Recharge et consomme

Ordonnancement des tâches apériodiques Avantages Serveur sporadique Meilleur que les serveurs à préservation de bande passante Inconvénients Forte complexité comparée à celle du serveur différé Remarques Une variante consiste à transformer le serveur sporadique en serveur en arrière plan (faible priorité) lorsque sa capacité est épuisée afin de récupérer le temps non-alloué

Partage de ressources Blocage et Ordonnancement P(S 1 ) P(S 1 ) V(S 1 ) V(S 1 ) Blocage B 1 = 2u Analogie avec les cas précédents B i la durée la plus longue de blocage potentiel de la tâche t i par une tâche de priorité inférieure Analogie avec un scénario où pour la tâche t i, le temps de calcul C i deviendrait C i + B i L objectif consiste alors à réduire B i en instaurant des politiques de partage de ressources adéquates

Partage de ressources Tests d ordonnancement Condition suffisante d ordonnancement avec RMS Le théorème de la zone critique devient Condition suffisante d ordonnancement avec EDF i, 1 i n, Σ j i C j /T j + B i /T i 1 ( ) 1 2, 1, 1 1 + = = n i i i j j j j n T B T C n i i ( ) t B T t C t W D t n i i i j i i j j i i + = =,,,1

Problèmes Partage de ressources Priority Inheritance Protocol Un ordonnancement préemptif peut conduire à une situation d inversion de priorité où une tâche de faible priorité bloque une tâche de forte priorité pendant un temps supérieur à celui de l exclusion mutuelle On ne peut évaluer la borne supérieure de ce temps Solution L héritage de priorité monte la priorité de la tâche bloquante au niveau de celle bloquée Une fois le sémaphore libéré, la tâche bloquée retrouve sa priorité initiale

Partage de ressources Priority Inheritance Protocol P(S 1 ) P(S 1 ) V(S 1 ) V(S 1 ) Blocage = 6u P(S 1 ) P(S 1 ) V(S 1 ) V(S 1 ) Blocage = 2u

Avantages Partage de ressources Priority Inheritance Protocol Le temps de blocage dû à la situation d inversion de priorité se limite à l utilisation de sémaphore par la tâche de faible priorité Inconvénients En cas d accès à plusieurs sémaphores, la tâche de forte priorité va enchaîner les temps de blocage Dans le cas d accès à un sémaphore par plusieurs tâches, les élévations de priorité vont s enchaîner Les interblocages restent possibles (ordre) Il y a blocage de tâches intermédiaires qui ne partagent pas le sémaphore en question

Problèmes Partage de ressources Priority Ceiling Protocol Les temps de blocage peuvent s enchaîner Les élévations de priorité peuvent s enchaîner Les interblocages restent possibles Solution La priorité plafonnée (statique) représente la priorité maximum des tâches qui l utilisent Une tâche accède à un sémaphore lorsque sa priorité est strictement supérieure à toutes les priorités plafonnées des sémaphores utilisés La tâche bloquante hérite de la priorité de la tâche bloquée la plus prioritaire

Partage de ressources Priority Ceiling Protocol P(S 1 ) P(S 2 ) P(S 1 ) V(S 1 ) V(S 1 ) P(S 2 ) V(S 2 ) V(S 2 ) Blocage = 6u P(S 1 ) P(S 2 ) P(S 1 ) V(S 1 ) V(S 1 ) P(S 2 ) V(S 2 ) Blocage = 1u

Partage de ressources Priority Ceiling Protocol P(S 1 ) P(S 2 ) P(S 1 ) P(S 2 ) Interblocage P(S 1 ) P(S 2 ) P(S 2 ) V(S 2 ) V(S 1 ) P(S 1 )

Partage de ressources Priority Ceiling Protocol Avantages Pas d enchaînement de temps de blocage Pas d enchaînement d élévations de priorité Pas de risques d interblocages Inconvénients Forte complexité de la mise en oeuvre

Partage de ressources Highest Locker Protocol Problèmes Forte complexité de la mise en œuvre de PCP Solution La priorité plafonnée (statique) représente la priorité maximum des tâches qui l utilisent Quand une tâche accède à un sémaphore, elle hérite d une priorité strictement supérieure à la priorité plafonnée

Partage de ressources Highest Locker Protocol P(S 1 ) P(S 2 ) P(S 1 ) P(S 2 ) Interblocage P(S 1 ) P(S 2 ) P(S 2 ) V(S 2 ) V(S 1 ) P(S 1 ) Priority Ceiling Protocol P(S 1 ) τ 1 prête P(S 2 ) V(S 2 ) V(S 1 ) P(S 2 ) P(S 1 ) Highest Locker Protocol

Partage de ressources Highest Locker Protocol Avantages Moindre complexité comparée à celle de PCP Inconvénients Le temps de blocage en cas d attente sur un sémaphore se trouve allongé

Conclusions Pour satisfaire les contraintes de temps dans les systèmes temps réel durs, le souci premier doit être la prédétermination du comportement du système. L ordonnancement statique hors ligne est le plus souvent le seul moyen pratique d atteindre un comportement prévisible dans un système complexe

Lectures C. Bonnet et I. Demeure, Introduction aux systèmes temps réel, Hermes F. Cottet, J. Delacroix, C. Kaiser et Z. Mammeri, Ordonnancement temps réel, Hermès G. Buttazzo. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications Kluwer academic Publishers, Boston, 1997. C. Liu and J. Layland. Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment. Journal of the ACM, 20(1):46--61, Jan. 1973. L. Sha, R. Rajkumar and J. Lehoczky, "Priority Inheritance Protocol": An Approach to realtime synchronisation," IEEE Transaction on Computers 39(9), pp.1175-1185, 1993. Min-Ih Chen and Kwei-Jay Lin. Dynamic priority ceilings: A concurrency control protocol for real-time systems. Journal of Real-Time Systems, 2:325--346, 1990. T. Baker. Stack-based scheduling of real-time processes. Real-Time Systems, 3(1):67--99, March 1991. B. Sprunt, L. Sha, and J. P. Lehoczky, "Aperiodic scheduling for hard real-time system". The Journal of Real-Time Systems, 1, pp. 27-60, 1989.