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

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

Sep 11, 2018

Download

Documents

hoangnga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

ORDONANCEMENT DANS LES

SYSTÈMES TEMPS RÉEL

Asma Benmessaoud

Université Mhamed Bougara Boumerdès (UMBB)

Email: [email protected]

A.Benmessaoud - 2010 / 2011

Page 2: 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

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

Page 3: 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

INTRODUCTION

Page 4: 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

INTRODUCTION

Définition de l’ordonnancement

Ensemble de règles définissant l’ordre d’exécution des calculs

sur un processeur.

Page 5: 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

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/

Page 6: 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

INTRODUCTION

Résultat

Fournir une description de la séquence de

planification des tâches à effectuer de manière à

respecter les contraintes temporelles.

Page 7: 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

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).

Page 8: 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

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 ?

Page 9: 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

NOTION DE TÂCHES

Page 10: 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

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)

Page 11: 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

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)

Page 12: 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

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.

Page 13: 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

NOTION DE TÂCHE

Diagramme des états d’une tâche

Page 14: 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

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

Page 15: 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

NOTION DE TÂCHE

Illustration: diagramme temporel d’exécution

Page 16: 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

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

Page 17: 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

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)

Page 18: 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

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

Page 19: 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

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.

Page 20: 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

L’ORDONNANCEMENT

Page 21: 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

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

Page 22: 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

L’ORDONNANCEMENT

Ordonnanceur : structure, fonctions

Page 23: 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

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é.

Page 24: 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

CLASSIFICATION DES ALGORITHMES

D’ORDONNANCEMENT

Page 25: 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

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

Page 26: 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

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.

Page 27: 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

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.

Page 28: 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

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.

Page 29: 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

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.

Page 30: 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

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.

Page 31: 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

PROPRIÉTÉS DES ALGORITHMES

D’ORDONNACMENT

Page 32: 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

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.

Page 33: 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

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).

Page 34: 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

ALGORITHMES CLASSIQUES

D’ORDONNANCEMENT POUR LE

TEMPS RÉEL

Page 35: 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

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

Page 36: 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

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)

Page 37: 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

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é.

Page 38: 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

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

Page 39: 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

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

Page 40: 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

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).

Page 41: 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

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.

Page 42: 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

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL

Rate Monotic (ou RM)

Techniques de calcul : évaluation itérative

Page 43: 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

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.

Page 44: 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

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

Page 45: 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

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

Page 46: 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

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.

Page 47: 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

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.

Page 48: 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

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

Page 49: 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

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

Page 50: 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

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 :

Page 51: 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

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

Page 52: 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

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

Page 53: 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

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

Page 54: 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

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

Page 55: 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

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL

Page 56: 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

ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL