ORDONANCEMENT DANS LES

Documents pareils
Ordonnancement temps réel

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Ordonnancement temps réel

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

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

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

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

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

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

Partie 7 : Gestion de la mémoire

Cours de Systèmes d Exploitation

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

Annexe 6. Notions d ordonnancement.

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

Cours A7 : Temps Réel

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

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

COMPTE RENDU. Atelier-débat avec les futurs clients éligibles. 25 septembre 2002

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

Conception des systèmes répartis

Systèmes et algorithmes répartis

1 Recherche en table par balayage

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

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

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

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

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Rappel sur les bases de données

Programmation linéaire

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

Un concept multi-centre de données traditionnel basé sur le DNS

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

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

MBR225. Le module a été conçu et réalisé conformément aux normes en vigueur portant sur la sûreté et la fiabilité des installations industrielles.

Cours A7 : Temps Réel

Tout le matériel (actif) qui sert à produire: boulons, capteurs, automates, vérins, câblage, éclairage, etc.

COACH-II Manuel d utilisation

Programmation parallèle et distribuée

SSNL126 - Flambement élastoplastique d'une poutre droite. Deux modélisations permettent de tester le critère de flambement en élastoplasticité :

Les diagrammes de modélisation

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

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

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Mise sur le marché des engrais en Europe. Paris, le 9 septembre Vincent Delvaux

Cours Programmation Système

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

QU EST- CE QU UNE CONSTITUTION

Méthodologie de conceptualisation BI

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

Cours de Base de Données Cours n.12

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

OUVERT02 - Maintien de l ouverture par élimination mécanique ou manuelle des rejets ligneux et autres végétaux indésirables Sous-mesure :

Réplication des données

Ordonnancement des applications temps réel réparties

Chapitre 5 : Flot maximal dans un graphe

Parallélisme et Répartition

SECURIDAY 2012 Pro Edition

WEBVIEW. Serveur Web embarqué dans DIRIS G NOTICE D UTILISATION. com/webview_ software

Améliorer les performances du site par l'utilisation de techniques de Web Mining

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

Corporate Travel Insurance CTI. Quelle importance accordez-vous à votre directrice du service informatique?

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

IFT2255 : Génie logiciel

Liste des Paramètres 2FC4...-1ST 2FC4...-1PB 2FC4...-1PN 2FC4...-1SC 2FC4...-1CB

TERMES DE RÉFÉRENCE AXE : FORMATION CREATION ET GESTION DE BASES DE DONNEES

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

Guide d implémentation. Réussir l intégration de Systempay

Gestion d'une billeterie défilé des talents

Module de mesure de courant pour relais statiques serie HD Module de mesure de courant HD D0340I

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

DOMONIAL CRT 500 HF. Notice Utilisateur EKZ C SECOM AUTOPROTECTION PILE A U SUPERVISION OUVERTURE ALARME INTRUSION ALARME TECHNIQUE

de formation des prix

Introduction au temps réel

2 disques en Raid 0,5 ou 10 SAS

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

Programmation Linéaire - Cours 1

K. Ammar, F. Bachoc, JM. Martinez. Séminaire ARISTOTE - 23 octobre Palaiseau

Systèmes de portes battantes automatiques

Ordonnancement robuste et décision dans l'incertain

La replication dans PostgreSQL

Jean-Philippe Préaux

Refonte front-office / back-office - Architecture & Conception -

LES GRADES PROGRAMME D EXAMEN DE LA CEINTURE JAUNE A LA CEINTURE MARRON

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Elaboration de Fer à Béton

SPORT ET PERSONNALITE

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Rapport d'analyse des besoins

UserLock Quoi de neuf dans UserLock? Version 8.5

Outils logiciels SPC - une façon simple d optimiser les performances et la protection

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

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

Entreprise. Gestion énergétique de votre parc informatique

FACT SHEET LLOYD S ASSURANCE DE LA RESPONSABILITÉ CIVILE PROFESSIONNELLE POUR LES AVOCATS

ADVglass. La solution de gestion optimale pour la miroiterie. Your flexible management solution

Transcription:

ORDONANCEMENT DANS LES SYSTÈMES TEMPS RÉEL Asma Benmessaoud Université Mhamed Bougara Boumerdès (UMBB) Email: a_bemessaoud@esi.dz A.Benmessaoud - 2010 / 2011

SOMMAIRE Introduction Notion de tâches L ordonnancement Classification des algorithmes d ordonnancement Propriétés des algorithmes d ordonnancement Algorithmes classiques d ordonnancement Temps-Réel

INTRODUCTION

INTRODUCTION Définition de l ordonnancement Ensemble de règles définissant l ordre d exécution des calculs sur un processeur.

INTRODUCTION Pourquoi un ordonnancement Temps-Réel? Pour prendre en compte les besoins d urgence, d importance et de réactivité des applications Temps- Réel impacte sur le respect des contraintes de temps/

INTRODUCTION Résultat Fournir une description de la séquence de planification des tâches à effectuer de manière à respecter les contraintes temporelles.

INTRODUCTION Propriétés recherchées Faisabilité : Voir s il y a possibilité d exhiber un test de faisabilité, c est-à-dire : - avoir des conditions permettant de décider hors-ligne du respect des contraintes des tâches. - Prédictibilité du temps de réponse des tâches. Optimalité : Considéré comme un critère de comparaisons des algorithmes (un algorithme est dit optimal s il est capable de trouver un ordonnancement pour tout ensemble faisable de tâches).

INTRODUCTION Propriétés recherchées Complexité: Les tests de faisabilité sont ils polynômiaux? Exponentiels? etc. Facilité de mise en œuvre: L ordonnanceur est-il facile à implémenter?

NOTION DE TÂCHES

NOTION DE TÂCHE Définition d une tâche Unité de base de l ordonnancement Temps-Réel, constituée d une suite d instructions, des données et le contexte d exécution (état)

NOTION DE TÂCHE Types de tâches Tâches dépendantes / indépendantes Tâches importantes / urgentes Tâches répétitives / périodiques: activations successives tâches critiques Tâches répétitives / apériodiques : une seule activation Tâches non critiques Tâches prioritaires (ex: sauvegarde en cas de chute de tension)

NOTION DE TÂCHE Etats d une tâche Elu : une processeur est alloué à la tâche Bloquée : La tâche attend une ressource, un message, ou un signal de synchronisation. Prête (éligible): la tâche attend d être élue. Passive: La tâche n a pas de requête en cours. Inexistante: La tâche n est pas créée.

NOTION DE TÂCHE Diagramme des états d une tâche

NOTION DE TÂCHE Paramètres définissant une tâche i S i : Arrivée de la tâche dans le système. C i : Durée maximale d exécution (capacité) P i : Période d activation (si la tâche est périodique) D i : Délai critique, le max acceptable pour l exécution de la tâche (relatif à P i si tâche périodique, à S i si tâche apériodique) R i : Date d exécution au plus tôt (date de réveil) Si tâche à contrainte stricte, l échéance d i = R i + D i est la date dont le dépassement entraine une faute temporelle

NOTION DE TÂCHE Illustration: diagramme temporel d exécution

NOTION DE TÂCHE Remarques Tâche i à contraintes relatives : D i est parfois omis. Tâche i apériodique : Pas de paramètre P i Plus les paramètres précédents sont exacts, plus la qualité de l ordonnancement est meilleure

NOTION DE TÂCHE Autres Définitions Soit une mise en jeu d un ensemble de n tâches qui s exécutent. On suppose que le départ est simultané. Nous parlons donc de : Facteur d utilisation du processeur pour n tâches périodiques : U = avec C i /P i 1 (facteur d utilisation du processeur par tâche)

NOTION DE TÂCHE Autres Définitions Facteur de charge du processeur pour tâches périodiques : CH = avec C i /D i 1 Laxité du processeur à l instant t, LP(t) = l intervalle de temps à partir de t pendant lequel le processeur peut rester inactif sans remettre en cause le respect des échéances ( LP(t) 0, qqs t). LP(t) est égale au min des laxités conditionnelles LC i (t) des tâches i

NOTION DE TÂCHE Autres Définitions LC i (t) = D i -. Les tâches j sont celles qui sont déclenchées à l instant t et qui devancent i dans la séquence de planification.

L ORDONNANCEMENT

L ORDONNANCEMENT Méthodes d analyse Lorsqu un problème d ordonnancement ce pose, on: 1. Modélise les tâches du système et leurs contraintes temporelles. 2. Choisit un algorithme d ordonnancement 3. Valide la faisabilité du jeu de tâches (théorique puis pratique) 4. Retourne éventuellement au point 1 ou 2

L ORDONNANCEMENT Ordonnanceur : structure, fonctions

L ORDONNANCEMENT Ordonnanceur : structure, fonctions Trois traitements successifs : Calcul d informations d ordonnancement selon: - en ligne / hors ligne, périodicité, période, échéance, laxité, etc. Gestion des files d attente par priorité/importance/classe d applications et application d une politique (FIFO, round Robin, etc.) Election de la tâche en tête de file selon l algorithme utilisé.

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT Ordonnancement «Hors-ligne» / «En ligne» Hors-ligne : L algorithme construit la séquence complète de planification des tâches sur la base de tous les paramètres temporels des tâches. Séquence connue avant l exécution. statique, rigide et très efficace car elle suppose que tous les paramètres, y compris les dates de réveil, sont figés. ne s adapte pas aux changements de l environnements

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT Ordonnancement «Hors-ligne» / «En ligne» En-ligne : capable à tout instant de l exécution d une application de choisir la prochaine tâche à ordonnancer, en utilisant les informations des tâches déclenchées à cet instant. Ce choix peut être remis en cause par l occurrence d un nouvel événement. Dynamique solutions moins bonnes (car pas assez d informations) Surcoût dans la mise en œuvre. Permet l arrivée imprévisible des tâches. Autorise la construction progressive de la séquence d ordonnancement.

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT Ordonnancement «Hors-ligne» / «En ligne» Remarque : Pour pouvoir traiter les tâches apériodiques (et les surcharges anormales), l ordonnancement se fait souvent en ligne.

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT Ordonnancement «Préemptif» / «Non-préemptif» Préemptif : Permet à l ordonnanceur de déposséder la tâche élue du processeur au profit d une autre tâche jugée plus prioritaire. N est utilisable que si toutes les tâches sont préemptibles. La tâche ayant perdu le processeur passe à l état prêt pour être élue ultérieurement sur le même processeur ou sur un autre.

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT Ordonnancement «Préemptif» / «Non-préemptif» Non-Préemptif : N arrête pas l exécution d une tâche élue. Peut en résulter des fautes temporelles qu un algorithme préemtif aurait évitées.

CLASSIFICATION DES ALGORITHMES D ORDONNANCEMENT Remarque Meilleur effort (Best effort ) pour une application à contraintes relatives : la stratégie d ordonnancement est celle du meilleur effort : elle essaie de faire au mieux avec les processeurs disponibles. Pour une application à contraintes strictes : l ordonnanceur doit garantir le respect des CT. Il y a obligation de réussite et non tolérance aux fautes temporelles.

PROPRIÉTÉS DES ALGORITHMES D ORDONNACMENT

PROPRIÉTÉS DES ALGORITHMES D ORDONNANCEMENT Séquence valide: un algorithme d ordonnancement délivre une séquence d ordonnancement valide pour une configuration de tâches donnée si toutes les tâches respectent leur CT. Une configuration est ordonnançable dès qu il existe au moins un algorithme capable de fournir une séquence valide pour cette configuration. Algorithme optimal : s il est capable de produire une séquence valide pour toute configuration de tâches ordonnançables.

PROPRIÉTÉS DES ALGORITHMES D ORDONNANCEMENT Période d études: Pour valider une configuration de tâches périodiques et apériodiques, on effectue une analyse temporelle de l exécution de la configuration. Pour les tâches périodiques : il suffit d effectuer l analyse sur une période Début de la période d étude : t = Min{ri0}, date de réveil de la première requête de la première tâche de la configuration. Fin de la période d étude : Max{ri, 0, rj, Dj} + 2*PPCM(Pi), i : tâches périodiques, j : tâches apériodiques (PPCM(Pi ) seulement, si périodiques).

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Algorithme préemptif, à priorité fixe Pour tâches périodiques Définition [Liu & Layland 1973]: La propriété d une tâche est inversement proportionnelle à sa période d activation. C est-à-dire que la priorité d une tâche = F(sa période). Où : La tâche de plus petite période est la plus prioritaire. En cas de conflit, on fait un choix arbitraire

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Caractéristiques - Propriétés fixes Analyse hors-ligne applications statiques. - Complexité faible et mise en œuvre facile dans un système d exploitation. - Algorithme optimal dans la classe des algorithmes à priorités fixes à échéance sur requête (D i = P i )

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Fonctionnement - Phase de calcul : priorité = 1/périodicité - Phase d élection : élection de la plus forte priorité.

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Exemple Tâche P i C i D i T1 20 3 20 T2 5 2 5 T3 10 2 10 Calcul des priorités - Prio (T1) = 1/P 1 = 1/20 - Prio (T2) = 1/P 2 = 1/5 - Prio (T3) = 1/P 3 = 1/10 Prio(T2) > Prio (T3) > Prio (T1) T1 T2 T3

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Evaluation de l ordonnaçabilité (faisabilité) - Période d étude = [0, PPCM(P i )]. Solution exacte - Taux d utilisation (Cas préemptif) : Condition suffisante mais non nécessaire

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Temps de réponse délai entre l activation d un tâche et sa terminaison. Solution parfois exacte (selon les modèles de tâches).

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Calcul du temps de réponse hypothèse : Cas préemptif Principe : pour une tâche i, on cherche à évaluer, au pire cas, son temps d exécution + son temps d attente lorsque des tâches plus prioritaires s exécutent. Où encore : Où hp(i) est l ensemble des tâches de plus forte priorité que i ; x est l entier directement plus grand que x.

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Rate Monotic (ou RM) Techniques de calcul : évaluation itérative

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Deadline Monotic (ou DM) Algorithme préemptif à priorité fixe Pour tâches périodiques Définition [Leung & Whitehead 1985]: La priorité d une tâche est inversement proportionnelle à son échéance relative. C est-à-dire que la tâche la plus prioritaire est celle du plus petit délai critique. En cas de conflit, le choix est fait de manière arbitraire.

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Deadline Monotic (ou DM) Caractéristiques - Optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes où: D i P i RM est un cas particulier de DM

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Deadline Monotic (ou DM) Exemple Tâche P i C i D i T1 20 3 14 T2 5 2 5 T3 15 2 15 Calcul des priorités - Prio (T1) = 1/D 1 = 1/14 - Prio (T2) = 1/D 2 = 1/5 - Prio (T3) = 1/D 3 = 1/15 Prio(T2) > Prio (T1) > Prio (T3) T1 T2 T3

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Earlies Deadline First (ou EDF) Algorithme préemptif à priorité dynamique Application pour tâches périodiques et non périodiques Définition [Leung & Whitehead 1985]: - A un instant t donné, la tâche la plus prioritaire parmi les tâches prêtes, est celle dont l échéance absolue est la plus proche.

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Earlies Deadline First (ou EDF) Caractéristiques - Algorithme à priorité dynamique mieux adapté que RM aux applications dynamiques. - Supporte les tâches périodiques et apériodiques. - Algorithme optimal : utilise jusqu à 100% de la ressource processeur. - Mise en œuvre difficile dans un système d exploitation. - instable en sur-charge: moins déterministe que RM.

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Earlies Deadline First (ou EDF) Fonctionnement 1.Phase de calcul calcul d une échéance. Soit D i (t) l échéance à l instant t, et D i le délai critique de la tâche i: - Tâche apériodique: D i (t) = D i + S i - Tâche périodique : D i (t) = date de début de l activation courante à t + D i 2.Phase d élection: élection de la plus courte échéance d abord

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Earlies Deadline First (ou EDF) Exemple Tâche P i C i D i T1 20 1 8 T2 5 2 4 2 préemptions en 5 et 15 T3 10 4 10 T1 T2 T3

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Earlies Deadline First (ou EDF) Evaluation de l ordonnaçabilité (faisabilité) - Période d étude = [0, PPCM(P i )]. Solution exacte - Taux d utilisation (Cas préemptif) : Condition suffisante Et une condition nécessaire :

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Earlies Deadline First (ou EDF) Evaluation de l ordonnaçabilité (faisabilité) - Temps de réponse : complexité importante - Nombres d unité de temps libre = (1 Taux d utilisation) x période d étude

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Least Laxity First (ou LLF) Algorithme préemptif à priorité dynamique Définition [Mok & Dertouzos 1989]: - A un instant t donné, la tâche la plus prioritaire parmi les tâches prêtes, est celle dont la laxité X i (t) = D i - (t + C i c i (t)) est la plus petite en cas de laxités égales, sélectionner la tâche du plus petit numéro en t

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Least Laxity First (ou LLF) Caractéristiques - Optimal dans la classe des algorithmes préemptifs pour des configurations de tâches périodiques indépendantes avec D i P i

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Least Laxity First (ou LLF) Exemple 3 préemptions en 3, 5 et 15 Tâche P i C i D i T1 20 1 8 T2 5 2 4 T3 10 4 10 T1 T2 T3

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL

ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL