56
ORDONANCEMENT DANS LES SYSTÈMES TEMPS RÉEL Asma Benmessaoud Université Mhamed Bougara Boumerdès (UMBB) Email: [email protected] A.Benmessaoud - 2010 / 2011

Introduction aux systèmes Temps Réel - ekladata.comekladata.com/rLTg4LYkIxQ4eN4YW0RhiO-XLok.pdf · ORDONANCEMENT DANS LES SYSTÈMES TEMPS RÉEL Asma Benmessaoud Université Mhamed

Embed Size (px)

Citation preview

ORDONANCEMENT DANS LES

SYSTÈMES TEMPS RÉEL

Asma Benmessaoud

Université Mhamed Bougara Boumerdès (UMBB)

Email: [email protected]

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

Si : Arrivée de la tâche dans le système.

Ci: Durée maximale d’exécution (capacité)

Pi: Période d’activation (si la tâche est périodique)

Di: Délai critique, le max acceptable pour l’exécution

de la tâche (relatif à Pi si tâche périodique, à Si si

tâche apériodique)

Ri: Date d’exécution au plus tôt (date de réveil)

Si tâche à contrainte stricte, l’échéance di = Ri + Di

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 : Di est parfois omis.

Tâche i apériodique : Pas de paramètre Pi

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 Ci/Pi ≤ 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 Ci/Di ≤ 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 LCi(t) des tâches i

NOTION DE TÂCHE

Autres Définitions

LCi(t) = Di - . 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 (Di = Pi)

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 Pi Ci Di

T1 20 3 20

T2 5 2 5

T3 10 2 10

Calcul des priorités

- Prio (T1) = 1/P1 = 1/20

- Prio (T2) = 1/P2 = 1/5

- Prio (T3) = 1/P3 = 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(Pi)]. 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ù:

Di ≤ Pi

RM est un cas particulier de DM

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL

Deadline Monotic (ou DM)

Exemple

Tâche Pi Ci Di

T1 20 3 14

T2 5 2 5

T3 15 2 15

Calcul des priorités

- Prio (T1) = 1/D1 = 1/14

- Prio (T2) = 1/D2 = 1/5

- Prio (T3) = 1/D3 = 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 Di(t) l’échéance à l’instant t, et Di le délai critique de la tâche i:- Tâche apériodique: Di(t) = Di + Si

- Tâche périodique : Di(t) = date de début de l’activation courante à t + Di

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 Pi Ci Di

T1 20 1 8

T2 5 2 4

T3 10 4 10

2 préemptions en 5 et 15

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(Pi)]. 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é Xi(t) =

Di - (t + Ci – ci(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 Di ≤ Pi

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL

Least Laxity First (ou LLF)

ExempleTâche Pi Ci Di

T1 20 1 8

T2 5 2 4

T3 10 4 10

3 préemptions en 3, 5 et 15

T1

T2

T3

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL