Problématique de l ordonnancement temps-réel. 1 Module E4 : Systèmes temps-réel Audrey Marchand

Documents pareils
Ordonnancement temps réel

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

Cours A7 : Temps Réel

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

Introduction au temps réel

Partie 7 : Gestion de la mémoire

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

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

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

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

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

Cours A7 : Temps Réel

Annexe 6. Notions d ordonnancement.

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

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Ordonnancement temps réel

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

Conception des systèmes répartis

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

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

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

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

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

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

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

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Optimisation for Cloud Computing and Big Data

Un propagateur basé sur les positions pour le problème d Open-Shop.

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

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

Cours de Systèmes d Exploitation

Optimisation for Cloud Computing and Big Data

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

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

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Votre Réseau est-il prêt?

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

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

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

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Ordonnancement robuste et décision dans l'incertain

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

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

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Programmation linéaire

IBM Tivoli Monitoring, version 6.1

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

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Jean-Philippe Préaux

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

OPTIMISATION À UNE VARIABLE

Introduction aux algorithmes répartis

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Algorithmes de recherche d itinéraires en transport multimodal

Gestion optimale des unités de production dans un réseau compte tenu de la dynamique de la température des lignes

Machines virtuelles Cours 1 : Introduction

L exclusion mutuelle distribuée

LA mémoire principale est le lieu où se trouvent les programmes et les

Chapitre 5 : Flot maximal dans un graphe

Ordonnancement et Power Management

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Limitations of the Playstation 3 for High Performance Cluster Computing

Unix/Linux I. 1 ere année DUT. Université marne la vallée

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

QoS Réseaux haut débit et Qualité de service

Fonctions de plusieurs variables

Réplication des données

Comparaison de fonctions Développements limités. Chapitre 10

Présentation du module Base de données spatio-temporelles

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Introduction aux systèmes temps réel

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

Les méthodes de sauvegarde en environnement virtuel

Gestion de projets logiciels. Xavier Dubuc

ENSPS 3A ISAV Master ISTI AR. J. Gangloff

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

Département de l Hérault

ELEC2753 Electrotechnique examen du 11/06/2012

Introduction aux Systèmes et aux Réseaux

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

NEC Virtual PC Center

TP Temps Réel. Polytech Paris - Mars 2012

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Problèmes liés à la concurrence

Département Informatique 5 e année Hadoop: Optimisation et Ordonnancement

PG208, Projet n 3 : Serveur HTTP évolué

ASSOCIATION CANADIENNE DES PAIEMENTS RÈGLE 4 DU STPGV COMMENCEMENT DU CYCLE

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La Recherche du Point Optimum de Fonctionnement d un Générateur Photovoltaïque en Utilisant les Réseaux NEURO-FLOUS

WEA Un Gérant d'objets Persistants pour des environnements distribués

Transcription:

Problématique de l ordonnancement temps-réel 1

Plan du cours La notion de tâche temps-réel Le mécanisme d ordonnancement L ordonnancement de tâches périodiques L ordonnancement de tâches apériodiques 2

La notion de tâche temps-réel Le modèle canonique des tâches temps-réel τ i (C i, T i, D i ) T 0 D 0 T 1 D 1 r 0 d 0 C 0 r 1 d 1 - r i : date de réveil - T i : période d exécution - C i : durée d exécution maximale - D i : délai critique - d i = r i + D i : date d échéance - L = D i C i : laxité 3

La notion de tâche temps-réel Les niveaux de contraintes temporelles - Temps-réel strict/dur (hard real-time) (ex : Airbag) - toutes les instances de tâches doivent être exécutées dans le respect de leurs échéances - Temps-réel souple/mou (soft real-time) (ex : Distributeur automatique) - les tâches peuvent manquer des échéances - Temps-réel ferme (firm real-time) (ex : Systèmes multimédias) - les tâches sont autorisées à ne pas respecter occasionnellement leurs échéances 4

La notion de tâche temps-réel Les types de tâches temps-réel - Les tâches périodiques (ex : Relevé de température) - activation à intervalles réguliers, - à échéances sur requêtes si D i = T i - Les tâches apériodiques/sporadiques - activation à des instants irréguliers, - intervalle de temps entre deux activations borné (sporadiques) ou non (apériodiques), - à contraintes relatives, - à contraintes strictes (ex : Requête sur une borne de service) (ex : Arrêt d urgence) 5

La notion de tâche temps-réel Diagramme d états d une tâche temps-réel - courant : la tâche s exécute sur le processeur - prêt : la tâche est prête à s exécuter mais n a pas le processeur - en-attente : il manque une ressource (en plus du processeur) à la tâche pour qu elle puisse s exécuter 6

Le mécanisme d ordonnancement L ordonnancement des tâches temps-réel ORDONNANCEUR PROCESSEUR file d attente des tâches en attente file d attente des tâches prêtes tâche élue DISPATCHER - ORDONNANCEUR : alloue le processeur aux différentes tâches - DISPATCHER : implémente l ordonnanceur (élection des tâches prêtes) 7

Le mécanisme d ordonnancement Typologie des algorithmes d ordonnancement - Monoprocesseur / multiprocesseur - En-ligne / Hors-ligne - Préemptif / Non préemptif - Oisif / Non oisif - Centralisé / Réparti 8

L ordonnancement de tâches périodiques L ordonnancement non préemptif - Ordonnancement selon l ordre d arrivée : - premier arrivé, premier servi (First Come First Serve - FCFS) - Ordonnancement selon la durée de calcul : - le plus court d abord (Shortest Job First SJF) 9

L ordonnancement de tâches périodiques L ordonnancement préemptif T 1 - Ordonnancement sans notion de priorité : - temps-partagé avec politique du tourniquet (round-robin) T 3 T 2 CPU - Ordonnancement à priorités (statiques ou dynamiques) : - la tâche la plus prioritaire obtient le processeur T 1 T2 T 3 CPU 10

L ordonnancement de tâches périodiques Ordonnancement préemptif sans notion de priorité L ordonnancement temps-partagé (Round-Robin) - Principe : allocation du processeur par tranche (quantum) de temps - Exemple (q=20, n=4) : Tâches τ 1 (53) τ 2 (17) τ 3 (68) τ 4 (24) 0 20 37 57 77 97 117 134 154 121 162 Temps - Chaque tâche obtient le processeur au bout de (n-1)*q unités de temps au plus 11

L ordonnancement de tâches périodiques Ordonnancement préemptif sans notion de priorité L ordonnancement temps-partagé (Round-Robin) - Intérêts : - Equité de l attribution du processeur entre toutes les tâches - Mise en œuvre simple - Inconvénients : - Pas de prise en compte de l importance relative des tâches - Difficulté du choix de la tranche de temps Si q est trop grand, round-robin devient équivalent à FIFO Si q est trop petit, il y a augmentation du nombre de changements de contexte! 12

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités L ordonnancement préemptif à priorités - Ordonnancement à priorités fixes (statiques) - Rate Monotonic (RM) - Deadline Monotonic (DM) - Ordonnancement à priorités dynamiques - Earliest Deadline First (EDF) - Least Laxity First (LLF) 13

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes Rate Monotonic (RM) - Principe : une tâche est d autant plus prioritaire que sa période d activation T i est petite - Exemple : Tâches τ 1 (3,20,20) τ 2 (2,10,10) τ 3 (2,5,5) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : RM est optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes à échéances sur requêtes (D i =T i ) 14

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes Rate Monotonic (RM) - Conditions de faisabilité : i - Condition nécessaire : 1 U n = i= 1 i - Condition suffisante : n U n 2 1) n = i= 1 C T i C T i ( 1 U ( 1) = 1; U (2) = 0.828; U (3) = 0.779; U ( ) = ln 2 0.693 15

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes Deadline Monotonic (DM) - Principe : une tâche est d autant plus prioritaire que son délai critique D i est petit - Exemple : Tâches τ 1 (3,20,9) τ 2 (2,10,10) τ 3 (2,5,5) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : DM est optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes telles que D i T i 16

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes Deadline Monotonic (DM) - Conditions de faisabilité : i - Condition nécessaire : 1 U n = i= 1 i - Condition suffisante : n U n 2 1) n = i= 1 C T i C D i ( 1 U ( 1) = 1; U (2) = 0.828; U (3) = 0.779; U ( ) = ln 2 0.693 17

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes L ordonnancement à priorités fixes - Intérêts : - Mécanisme simple - S implante naturellement dans les OS du marché - Inconvénients : - Hypothèses restrictives - Indépendance des tâches impérative pour l utilisation des conditions de faisabilité - Borne supérieure pour le facteur d utilisation du processeur 18

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques Earliest Deadline First (EDF) - Principe : à chaque instant, la tâche la plus prioritaire est celle dont l échéance absolue d i est la plus proche - Exemple : Tâches τ 1 (1,20,8) τ 2 (4,10,10) τ 3 (2,5,4) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : EDF est optimal dans la classe des algorithmes préemptifs pour des tâches périodiques indépendantes telles que D i T i 19

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques Earliest Deadline First (EDF) - Condition de faisabilité : -si D i =T i : i - Condition nécessaire et suffisante : 1 - si D i T i : U - Condition suffisante : i 1 U n = i= 1 C D i n = i= 1 C T i 20

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques Least Laxity First (LLF) - Principe : à chaque instant, la tâche la plus prioritaire est celle dont la laxité L(t) = r i +D i -(t+c i (t)) est la plus petite - Exemple : Tâches τ 1 (1,20,8) τ 2 (4,10,10) τ 3 (2,5,4) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : LLF est optimal dans la classe des algorithmes préemptifs pour des tâches périodiques indépendantes telles que D i T i 21

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques Least Laxity First (LLF) - Condition de faisabilité : -si D i =T i : i - Condition nécessaire et suffisante : 1 - si D i T i : U - Condition suffisante : i 1 U n = i= 1 C D i n = i= 1 C T i 22

L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques L ordonnancement à priorités dynamiques - Intérêts : - Simplicité de mise en oeuvre - Optimisation de l usage des ressources - Bien adapté aux tâches périodiques à courtes échéances - Inconvénients : - Indépendance des tâches impératives pour l utilisation des conditions de faisabilité - Instabilité en cas de surcharge (EDF) - Nombreux changements de contexte dans certains cas (LLF) - Difficilement implantable dans les OS actuels 23

L ordonnancement de tâches apériodiques L ordonnancement de tâches apériodiques - Objectif : - cas de tâches apériodiques à contraintes relatives minimiser le temps de réponse des tâches - cas de tâches apériodiques à contraintes strictes garantir le respect d un maximum de tâches 24

L ordonnancement de tâches apériodiques L ordonnancement de tâches apériodiques - La gestion des tâches en arrière-plan : - Background scheduling (BG) - La gestion des tâches par un serveur : à priorités fixes : à priorités dynamiques : - Polling Server (PS) - Deferrable Server (DS) - Priority Exchange Server - Sporadic Server - Slack Stealer Server - Dynamic Sporadic Server (DSS) - Dynamic Priority Exchange Server (DPE) - Improved Priority Exchange Server (IPE) - Total Bandwidth Server (TBS) - Earliest Deadline as Late as possible (EDL) 25

L ordonnancement de tâches apériodiques La gestion des tâches en arrière-plan Background Scheduling (BG) - Principe : les tâches apériodiques sont exécutées en tâches de fond, lorsqu il n y a pas de requêtes périodiques à l état prêt - Mécanisme de fonctionnement : Tâches périodiques File de + haute priorité Tâches apériodiques File de + basse priorité RM/EDF FCFS CPU 26

L ordonnancement de tâches apériodiques La gestion des tâches en arrière-plan Background Scheduling (BG) - Exemple (RM-BG): Tâches τ 1 (4,10,10) τ 2 (2,6,6) Apériodiques 1 0 2 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Temps 27

L ordonnancement de tâches apériodiques La gestion des tâches en arrière-plan Background Scheduling (BG) - Intérêts : - Simplicité de mise en oeuvre - Pas d impact sur les tâches périodiques - Inconvénients : - Le temps de réponse des tâches apériodiques peut être élevé - Applicable uniquement pour des tâches apériodiques à contraintes relatives - Utilisable principalement dans des systèmes à charge modérée 28

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités fixes Polling Server (PS) - Principe : Une tâche périodique (C s, P s ) appelée serveur apériodique active les tâches apériodiques dans son temps d exécution appelé capacité du serveur - Exemple (RM-PS, C s =2; T s =5): Tâches τ 1 (2,6,6) τ 2 (1,4,4) PS (2,5) 2 1 2 1 2 Capacité de 1 PS 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 29

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités fixes Polling Server (PS) - Intérêts : - Meilleures performances que celles obtenues avec la gestion des tâches apériodiques en tâches de fond - Faibles complexités de calcul et d implémentation - Inconvénients : - La capacité du serveur est perdue en cas d absence de tâche apériodique en attente lors du réveil du serveur - Hypothèses restrictives de l algorithme RM 30

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités fixes Deferrable Server (DS) - Principe : identique à celui du Polling server à l exception que DS conserve sa capacité courante jusqu à la fin de sa période d activation - Exemple (RM-DS, C s =2; T s =5): Tâches τ 1 (2,6,6) τ 2 (1,4,4) DS (2,5) 2 1 2 1 2 Capacité de 1 DS 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 31

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités fixes Deferrable Server (DS) - Intérêts : - Meilleures performances que celles obtenues avec le server Polling - Faibles complexités de calcul et d implémentation - Inconvénients : - Hypothèses restrictives de l algorithme RM 32

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités dynamiques Total Bandwidth Server (TBS) - Principe : Lorsque la k ème requête apériodique arrive au temps t=r k, elle reçoit une échéance fictive calculée comme suit : Date de réveil de la requête occurrente Durée d exécution de la requête occurrente ( ) d = max r, d + k k k 1 C U a k s Largeur de bande CPU allouée au serveur Échéance fictive de la requête précédente 33

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités dynamiques Total Bandwidth Server (TBS) - Exemple (EDF-TBS, U p =0.75; U s =0.25): Tâches τ 1 (3,6,6) τ 2 (2,8,8) TBS (0.25) 1 d 1 2 1 d 2 d 3 0 2 4 6 8 10 12 14 16 18 20 22 24 26 1 d1 = max(3,0) + = 3+ 4 = 0.25 7 Temps 2 d2 = max(9,7) + = 9 + 8 = 17 0.25 1 d3 = max(14,17) + = 17 + 4 = 21 0.25 34

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités dynamiques Total Bandwidth Server (TBS) - Intérêts : - Mise en œuvre assez simple - Faibles complexités de calcul et d implémentation - Inconvénients : - Performances assez médiocres pour des systèmes fortement chargés - Nécessité de connaître les durées d exécution des tâches apériodiques occurrentes 35

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités dynamiques Earliest Deadline as Late as possible (EDL) - Principe selon l algorithme suivant : début si (tâches apériodiques présentes) alors - exécuter les tâches apériodiques au + tôt - exécuter les tâches périodiques au + tard sinon - exécuter les tâches périodiques au + tôt fin 36

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités dynamiques Earliest Deadline as Late as possible (EDL) - Exemple (EDF-EDL) : Tâches τ 1 (3,6,6) τ 2 (2,8,8) EDL 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 37

L ordonnancement de tâches apériodiques La gestion des tâches par un serveur à priorités dynamiques Earliest Deadline as Late as possible (EDL) - Intérêts : - Serveur optimal - Pas de nécessité de connaître les durées d exécution des tâches apériodiques occurrentes - Inconvénients : - Complexités de calcul et d implémentation élevées - Besoins mémoire importants 38

Conclusion (1) - En bref : - L ordonnanceur a pour rôle d allouer le processeur aux différentes tâches - L ordonnancement temps-réel - est régi par une politique spécifique basé sur la priorité - peut être hors-ligne ou en-ligne - doit être déterministe - Compromis simplicité / performances des algorithmes d ordonnancement - Quantification de l overhead d ordonnancement 39

Conclusion (2) - Programmation synchrone / asynchrone - Modèle de temps synchrone Cadre d étude - Hypothèse des temps de calculs et des temps de communications nuls - Simultanéité possible pour les événements - Contrôle logique et temporel de l application vérification formelle - Modèle de temps asynchrone Monde réel - Temps de calculs éventuellement longs - Non-simultanéité des événements - Difficultés voire impossibilité de preuves de correction de l application 40

Extension à la notion d exécutif temps-réel Outils de compilation Outils d édition Gestion E/S Ordonnanceur Gestion mémoire Noyau TR Exécutif TR OS TR Gestion du temps Outils de debuggage 41

Références 1. Giorgio Buttazzo, HARD REAL-TIME COMPUTING SYSTEMS: Predictable Scheduling Algorithms and Applications, Second Edition, Springer, 2004. 2. J. Stankovic, K. Ramamritham, M. Spuri, and G. Buttazzo, Deadline Scheduling for Real-Time Systems, Kluwer Academic Publishers, Boston, 1998. 3. J. W. S. Liu, Real-Time Systems, Prentice Hall, New Jersey, 2000. 42