Vous êtes sur la page 1sur 91

Bibliographie dintroduction a lordonnancement dans les ` syst`mes informatiques temps-rel e e

David Decotigny Novembre 2002

Introduction
Un point commun entre une usine, un avion, une centrale nuclaire, une machine e a laver, une auto, et un appareil multimdia de salon, est quils poss`dent tous, de ` e e nos jours, un ou plusieurs processeur(s) ou microcontrleur(s) pour les grer. Un autre o e point commun entre ces syst`mes, est que le logiciel qui y est droul, a conscience de e e e lcoulement du temps, et prend des dcisions en fonction de celui-ci. On parle alors de e e syst`me temps-rel, sachant que ce terme revt un sens extrmement large (chapitre e e e e 1). Dans ce travail, la notion de temps-rel dans les syst`mes que nous tudions poss`de e e e e ` e deux caractristiques (chapitre 2) : i) elle correspond a une srie de contraintes tempoe relles (absolues, relatives, moyennes) que le syst`me doit absolument vrier, sous peine e e de consquence catastrophique sinon (perte de vies humaines, destruction de matriel, e e impact nancier important, ...), ii) le temps est peru comme une grandeur physique c mesurable, et le syst`me a conscience quelle aecte tous les traitements logiciels efe fectus. e Dans ce contexte, la problmatique qui nous intresse est celle qui consiste a vrier e e ` e que le syst`me respectera toutes les contraintes temporelles spcies avant toute e e e excution relle du syst`me ; on parle dapproche par analyse (` la dirence dape e e a e proches par excution relle ou simule, qui ne peuvent que dmontrer que le syst`me e e e e e est dfaillant, et jamais quil est correct). Prouver de telles proprits ncessite deux e ee e choses : i) tre capable de caractriser le comportement temporel de chaque entit e e e du syst`me prise indpendamment, ii) organiser lensemble des traitements associs a e e e ` chacune de ces entits, de sorte que les contraintes temporelles imposes soient toutes e e respectes. Dans cette tude, nous nous intressons au deuxi`me point, qui porte le e e e e e e nom dordonnancement temps-rel (chapitre 3). Le cur de la problmatique associe e provient du fait quil y a comptition entre les entits pour accder aux ressources (dont e e e le ou les processeur(s) fait/font partie) disponibles en nombre et en capacit restreints, e et que par consquent un arbitrage des acc`s a ces ressources est ncessaire. Dans e e ` e ce chapitre, nous prsentons quelques rsultats scientiques (proprits, algorithmes, e e ee approches, ...) lis a cette problmatique. e ` e

Ce document est extrait dune version prliminaire de mon rapport de th`se, qui est dsormais allg dune e e e e e grosse partie de ce qui constitue la prsente tude. e e

Introduction

Chapitre 1

Dnitions et problmatique du e e temps-rel e


1.1 Direntes dnitions du temps-rel e e e

La notion de temps-rel sugg`re bien videmment celle de temps. Lacception e e e du concept de temps est tr`s large, mais nous nous concentrons dans ce travail sur la e dnition du temps en tant que donne physique mesurable. Intuitivement, les syst`mes e e e informatiques temps-rel seraient donc ceux pour lesquels le comportement temporel, e non seulement en terme de squence doprations (proprit logique), mais galement e e ee e en terme de quantication de lcoulement de ces oprations (proprit physique), a e e ee une importance. Temps-rel et temps logique e Selon la dnition ocielle du temps-rel par la dlgation gnrale a la langue e e ee e e ` 1 [4], le temps-rel est un mode de traitement qui e franaise et aux langues de France c permet ladmission des donnes a un instant quelconque et lobtention immdiate des e ` e rsultats. Cette dnition repose principalement sur ladjectif immdiat. Elle ine e e troduit la notion de temps logique, et sapplique aux syst`mes o` on sintresse aux e u e successions logiques dvnements et de dcisions (domaine des syst`mes ractifs qui e e e e e reposent sur lhypoth`se de synchronisme fort) [Hal98, Bon92], mais ne convient pas e aux probl`mes o` on sintresse aux proprits quantitatives de lcoulement des traie u e ee e tements qui ont un co t temporel non nul. u Temps-rel et temps physique e Dautres dnitions existent qui relativisent ladjectif immdiat de la prcdente, e e e e et conf`rent une existence physique au temps, dont celle-ci (canadienne) : mode de e traitement des donnes selon lequel le traitement seectue avec un lger dcalage [teme e e porel] [3]. Mais sans prcision sur ladjectif lger, lide quon se fait de tels syst`mes e e e e
1

Minist`re de la Culture, arrt du 22/12/1981. e e e

Dnitions et problmatique du temps-rel e e e

temps-rel est quils sont rapides, cest a dire que le dcalage est le plus petit e ` e possible (on parle aussi de syst`mes interactifs). Cette dnition nest pas un grand e e progr`s par rapport a la problmatique de la conception de syst`mes informatiques clase ` e e siques, puisquun grand pan de leort en dveloppement informatique consiste a faire e ` les bons choix algorithmiques an dobtenir des temps moyens dexcution convenables, e voire minimaux. Notion de contrainte de temps Dautres dnitions prcisent la prcdente en donnant une valeur numrique a e e e e e ` ladjectif lger (typiquement : 0,5 secondes dans la dnition de temps-rel dur e e e e de [3]). Ces dnitions introduisent la notion de contrainte temporelle. Cependant, ce relatif progr`s en prcision se rv`le ntre daucune utilit : pour certaines applications e e e e e e (contrle dun avion par exemple), un dcalage de 0,5 secondes peut tre synonyme o e e de catastrophe, et pour dautres applications il peut se rvler totalement inadapt ou e e e impertinent (contrle de le temprature dune pi`ce par exemple). Il en dcoule que les o e e e contraintes temporelles sont dpendantes de lapplication considre. e ee Dnition du temps-rel adopte et problmatique e e e e Dans le prsent travail, nous reposons sur la dnition de temps-rel suivante, largee e e e e ment adopte dans le domaine [Sta88] : la correction du syst`me ne dpend pas seulee ment des rsultats logiques des traitements, mais dpend en plus de la date a laquelle e e ` ces rsultats sont produits. Cette dnition implique que les contraintes temporelles a e e ` respecter (par exemples les chances des traitements) sont relatives a un temps phye e ` sique mesurable, et font partie de la spcication du syst`me a implanter. En outre, e e ` elle signie que la seule rapidit moyenne dexcution du logiciel ne conditionne pas e e la validit du syst`me. Elle sugg`re que dans tous les cas, mme les pires, toutes les e e e e contraintes temporelles doivent tre respectes, sans quoi le syst`me est dfaillant. e e e e Dans ce contexte, la problmatique qui nous intresse est celle de la conception et e e de la validation de syst`mes informatiques qui sont soumis a des contraintes tempoe ` relles en plus des contraintes de correction fonctionnelles usuelles. Parmi les contraintes temporelles courantes, citons par exemple les chances temporelles strictes des traitee e ments, ou la gigue de dmarrage des traitement ; nous reviendrons sur ces notions en e 2.1.1.2.

1.2

Classication sommaire des syst`mes informatiques e temps-rel e

Lutilisation de loutil informatique appara de plus en plus frquemment dans les t e domaines o` linteraction avec lenvironnement constitue une raison dtre essentielle du u e syst`me. Lintrt de recourir a linformatique dans ce genre de syst`me est d au fait e ee ` e u que les fonctionnalits oertes le sont a co t moindre (` fonctionnalits quivalentes), en e ` u a e e terme de temps de dveloppement, de temps et de co ts de fabrication, dencombrement e u

Classication sommaire des syst`mes informatiques temps-rel e e

ou de poids, par rapport aux solutions lectroniques ou mcaniques. En outre, lajout e e de nouvelles fonctionnalits, la constitution de mises a jour, ou la personnalisation du e ` produit se rv`lent souvent tre des tches moins lourdes. e e e a Temps-rel critique e On trouve aujourdhui des gros syst`mes informatiques temps-rel dans les doe e maines de laronautique, de larospatiale, des transports ferroviaires, du contrle de e e o procds industriels, de supervision de centrales nuclaires, voire de gestion de salles e e e de marchs ou de tlmdecine. On trouve aussi de beaucoup plus petits syst`mes eme ee e e barqus dans lautomobile (syst`me de contrle des freins, du moteur) par exemple. e e o Pour ces exemples, une des caractristiques est que le syst`me informatique se voit e e coner une grande responsabilit en terme de vies humaines, de consquences sur lene e vironnement, voire de consquences conomiques. On parle alors de syst`mes critiques, e e e qui sont alors soumis a des contraintes de abilit. Cette caractristique am`ne les ` e e e problmatiques orthogonales de s ret de fonctionnement et de tolrance aux fautes e u e e e [CP99b, CP99a] que nous ne dtaillerons pas dans ce travail. Temps-rel strict et temps-rel souple e e La majorit des syst`mes temps-rel critiques est exclusivement constitue de traie e e e tements qui ont des contraintes temporelles strictes : on parle de syst`mes temps-rel e e strict. Cest a dire quen condition nominale de fonctionnement du syst`me, tous les ` e traitements du syst`me doivent imprativement respecter toutes leurs contraintes teme e porelles ; on parle alors de traitements temps-rel strict ou dur (hard en anglais). Ceci e suppose deux choses : i) quon est capable de dnir les conditions de fonctionnement e nominales en terme dhypoth`ses sur lenvironnement avec lequel le syst`me interagit ; e e ii) quon est capable de garantir avant excution que tous les scnarios dexcution pose e e sibles dans ces conditions respecteront leurs contraintes temporelles. Ceci suppose a son ` tour quon puisse extraire ou disposer de susamment dinformations sur le syst`me e pour dterminer tous les scnarios possibles. e e Une autre classe de syst`mes est moins exigeante quant au respect absolu de toutes e les contraintes temporelles. Les syst`mes de cette classe, dits temps-rel souple (soft e e en anglais), peuvent sourir un taux acceptable de fautes temporelles (non respect transitoire des contraintes) de la part dune partie des traitements (eux-mmes dits e temps-rel souple), et sans que cela ait des consquences catastrophiques. Cette classe e e comprend entre autres les syst`mes o` la qualit est apprcie par nos sens : on parle e u e e e dans ce cas de syst`mes et dapplications multimdia (tlphonie, vido, rendu visuel e e ee e interactif par exemple). La mesure du respect des contraintes temporelles prend la forme dune donne probabiliste : la qualit de service relative a un service particulier e e ` (nombre dimages ou nombre dchantillons sonores rendus par secondes, par exemple), e ou relative au comportement du syst`me dans son ensemble (nombre de traitements e qui ont pu tre rendus dans les temps, tous services confondus, par exemple), ou les e deux combins. Une problmatique de cette classe de syst`mes est dvaluer la qualit e e e e e de service, avant ou pendant le fonctionnement, que le syst`me ore ou va pouvoir orir e

Dnitions et problmatique du temps-rel e e e

en cours de fonctionnement, en fonction des caractristiques de lenvironnement et du e syst`me. On distingue une sous-famille dans celle des traitements temps-rel souple, e e suivant que le non-respect dune contrainte temporelle continue dapporter quelque chose au syst`me, ou non : si le traitement dpasse une contrainte temporelle, et si le e e continuer dans ces conditions jusqu` son terme napporte rien au syst`me, on parle de a e traitement temps-rel ferme (rm en anglais). e Il est galement possible davoir des syst`mes temps-rel strict non critiques, ou des e e e syst`mes temps-rel critiques qui contiennent des traitements temps-rel souple. Nous e e e nous intressons dans tout ce qui suit aux syst`mes qui poss`dent une composante e e e temps-rel strict. e

Chapitre 2

Mod`le considr et contraintes e e e de conception pour le temps-rel e


Il y a de nombreux formalismes de modlisation de syst`mes informatiques qui font e e intervenir le temps. Citons en particulier les mthodes formelles (logiques temporelles, e alg`bres de processus), les mthodes structures (syst`mes ractifs synchrones et asyne e e e e chrones, rseaux de Ptri temporels et temporiss par exemples). e e e Pour notre part, nous nous intressons au formalisme utilis dans la communaut de e e e lordonnancement temps-rel. Dans ce formalisme, le temps est une grandeur physique e mesurable (espace discret ou dense) qui permet de caractriser les lments du syst`me, e ee e dont les traitements font partie (on parle de tches). Le syst`me est modlis sous la a e e e forme de demandeurs de ressources dun ct, et de serveurs de ressources de lautre, oe le tout tant arbitr par un composant central : le support dexcution (en gnral un e e e e e syst`me dexploitation). La capacit des serveurs peut correspondre a une densit teme e ` e porelle (ressources actives : processeurs, rseau), ou a une capacit scalaire (ressources e ` e passives : verrous, smaphores, rendez-vous par exemple). Et les demandeurs en rese sources (les traitements) ont des contraintes de validit fonctionnelles et temporelles, e en mme temps que des besoins en ressources quantis. e e

2.1

Mod`le de syst`me considr e e e e

Le formalisme adopt poss`de lavantage dtre proche des implantations concr`tes, e e e e ce qui permet un dimensionnement simple du syst`me dapr`s le mod`le, et ce qui e e e permet de valider limplantation avec les mmes outils que pour la vrication du e e mod`le. e Plus prcisment, nous nous appuyons sur le mod`le de syst`me de la gure 2.1. e e e e Le syst`me est soumis a des vnements provenant de lenvironnement du syst`me, e ` e e e et gnrs par du matriel spcialis (rseau, capteurs ou gnrateur dimpulsions par e ee e e e e e e exemple). Il eectue des traitements en tenant compte ou non de ces vnements, qui e e peuvent dcider dactions a entreprendre sur lenvironnement au moyen de tmoins e ` e (crans ou diodes par exemples), dactionneurs (moteurs ou relais par exemple), ou de e

10

Mod`le considr et contraintes de conception pour le temps-rel e ee e


Taches Application

Environnement
Evennements

Systeme dexploitation

Services Ordonnanceur

Environnement
Messages

Processeur(s)

Systeme

Fig. 2.1: Mod`le de syst`me considr e e ee messages (rseau par exemples). e 2.1.0.1 Niveau logiciel

Les traitements forment lapplication et le support dexcution temps-rel. Lapplie e cation eectue les traitements utiles du syst`me pour lesquels elle a des besoins en e ressources logiques ou matrielles (entre autres des ressources processeur), et est soue mises a des contraintes lies aux spcications, dont les contraintes temporelles font ` e e partie. Elle est structure en tches, cest a dire en ots de contrle (i.e. squences e a ` o e doprations du processeur). e Le support dexcution est charg de rpartir les demandes en ressources de lape e e plication entre les ressources matrielles ou logiques disponibles, tout en veillant au e respect de toutes les contraintes. Il peut prendre la forme dun syst`me dexploitation e contrlant directement le matriel, ou dun intergiciel (middleware en anglais) sintero e calant entre le syst`me dexploitation et lapplication. La particularit dun support e e dexcution temps-rel est quil prend les contraintes temporelles ainsi que le compore e tement temporel de lapplication et du syst`me en compte. Tout particuli`rement, cest e e une composante du support dexcution qui dcide quelle tche doit sexcuter sur quel e e a e processeur : lordonnanceur . e e Dans les sections 2.1.1 et 2.2 qui suivent, nous revenons plus prcisment sur la caractrisation temporelle des tches et du support dexcution. e a e 2.1.0.2 Niveau matriel e

Le syst`me repose sur un ou plusieurs processeurs pour eectuer les traitements. e Il est dcoup en nuds qui communiquent (par messages ou par mmoire partage), e e e e chaque nud correspondant a un processeur et aux traitements qui sont excuts par ` e e le processeur au cours de la vie du syst`me. e En temps-rel, linteraction entre logiciel et matriel est ne, puisque le compore e tement temporel des traitements excuts par les processeurs dpend des capacits e e e e des processeurs (puissance de calcul). Nous voyons dans la suite que cette donne est e importante pour ltablissement des proprits temporelles du syst`me. e ee e

Mod`le de syst`me considr e e ee

11

2.1.1
2.1.1.1

Caractrisation des tches e a


Description et dnitions e

Une tche est en charge de fournir un des services de lapplication. Elle correspond a aux excutions dune squence doprations donne sur le processeur. Que les tches e e e e a partagent un unique espace dadressage, ou que le cloisonnement mmoire soit possible e (notion de processus Unix par exemple), est indirent pour la suite. e Dans le mod`le canonique du domaine, le service fourni par la tche peut tre e a e rendu plusieurs fois au cours de la vie du syst`me. Ce qui signie que la squence e e doprations dune tche peut tre r-excut plusieurs fois. Pour cette raison, chacune e a e e e e de ces excutions de la squence doprations est considre individuellement sous la e e e ee forme de travaux (jobs en anglais). Plusieurs travaux de plusieurs tches (distinctes ou non) sont susceptibles de sexcuter a e sur un mme processeur, mais, par dnition, ce dernier ne peut en excuter quun seul e e e a la fois. Un travail est donc associ a une structure de donnes qui renferme en par` e` e ticulier son tat dexcution. Le syst`me dexploitation soccupe entre autre de passer e e e ltat des travaux dun tat a un autre suivant le diagramme de transition des travaux e e ` e e (la gure 2.2 propose un exemple), en mme temps quil choisit dexcuter un travail plutt quun autre. Gnralement, le diagramme dtat des travaux fait couramment o e e e intervenir les tats suivants : e ready : travail prt a dmarrer, i.e. pas encore dmarr, ou dont lexcution a t e ` e e e e ee interrompue dautorit (suite a un vnement matriel par exemple) pour laisser e ` e e e la place a un autre travail. ` running : travail en cours dexcution sur le processeur ; e blocked : travail en attente de la disponibilit dune ou plusieurs ressources ; e sleeping : travail en sommeil, en attente dun vnement de rveil ; e e e stopped : travail termin. e
blocked

ready

running

stopped

sleeping

Fig. 2.2: Diagramme dtat des travaux e La vie dun travail peut galement tre reprsente suivant un chronogramme ou e e e e diagramme de Gantt tel que celui de la gure 2.3, ce qui permet dintroduire la terminologie suivante : : date de cration ou dactivation. Le travail est cr et prt a tre excut sur e ee e `e e e le processeur. Arrival ou Request time en anglais.

12

Mod`le considr et contraintes de conception pour le temps-rel e ee e

Task0

PSfrag replacements

Task1


Task2

e Fig. 2.3: Evnements au cours de la vie dun travail : date de dmarrage. Le travail commence a tre excut sur le processeur pour e `e e e la premi`re fois. Start time en anglais. e : dates de premption. Le travail est momentanment interrompu au prot dun e e autre, plus prioritaire (plusieurs possibles durant la vie du travail). : dates de reprise. Le processeur reprend lexcution du travail l` o` il avait t e a u ee prcdemment prempt (plusieurs possible durant la vie du travail). e e e e : date de terminaison. Le travail termine de sexcuter sur le processeur. Finie shing ou completion time en anglais. : temps de rponse. Lcart entre la date de terminaison et la date dactivation e e dun travail. Response time en anglais. 2.1.1.2 Caractristiques et contraintes temporelles e

Le syst`me dexploitation doit conna les caractristiques temporelles des travaux e tre e de chaque tche, formant une partie du mod`le de tche, puisquil doit garantir que les a e a contraintes temporelles sont respectes. Dans le mod`le de tche gurent habituellement e e a les caractristiques temporelles suivantes : e Le temps dexcution : il sagit du temps dexcution dun travail de la tche sur e e a le processeur et considr de mani`re isol. En gnral, il sagit dun temps ee e e e e dexcution pire-cas (ou WCET pour Worst Case Execution Time en anglais), e cest a dire un majorant sur tous les temps dexcution possibles de tous les tra` e vaux de la tche, chacun pris en isolement du reste du syst`me. Cette donne a e e constitue un param`tre dentre important aux mthodes et outils de vrication e e e e

Mod`le de syst`me considr e e ee

13

du respect des chances. Quelques syst`mes temps-rel souple consid`rent un e e e e e temps dexcution moyen, ou minimal. e La loi darrive : Il sagit de la rpartition dans le temps des dates de cration des e e e travaux de la tche. On distingue couramment trois lois : a priodique : e

Les travaux de la tche sont crs de faon rigoureusement priodique, et la a ee c e priode est prcise. Si les priodes T i des tches du syst`me sont telles que e e e e a e i, j, Ti > Tj Ti multiple de Tj , alors le syst`me est harmonique. Si la e date dactivation du premier travail est donne, la tche est dite concr`te. e a e De plus, si toutes les tches sont priodiques concr`tes, et si les dates daca e e tivation du premier travail sont identiques, les tches sont dites synchrones. a Si toutes les tches du syst`me sont synchrones, le motif dactivation des traa e vaux se rp`te a lidentique par intervalles de dure multiple de lhyperpriode e e ` e e (le plus petit commun multiple des priodes des tches du syst`me, i.e. la e a e plus grande priode dans le cas particulier dun syst`me harmonique). Par e e extension, on conserve cette dnition de lhyperpriode pour des tches non e e a concr`tes. e sporadique :

Les travaux de la tche sont crs de sorte quune dure minimale spare a ee e e deux travaux successifs : le dlai dinter-arrive, qui est prcis. Une tche e e e e a priodique est un cas particulier de tche sporadique. e a apriodique : e

Un travail de la tche peut tre cr a tout instant. Une tche sporadique a e ee ` a est un cas particulier de tche apriodique. a e Dautres lois darrive moins usuelles sont possibles. La connaissance de cette e donne est un param`tre dentre important aux outils de vrications de la e e e e garantie du respect des chances. e e Le mod`le de tche indique galement les contraintes temporelles des travaux. Les e a e contraintes temporelles courantes sont (voir la gure 2.4) : : date dchance : il sagit de la date a laquelle les travaux doivent tre termins, e e ` e e relativement a leur date de cration, ou sous forme dun vecteur de dates absolues. ` e Relative ou absolute deadline en anglais. : gigue de dmarrage : il sagit de la mesure de dispersion (cart-type, variance) e e des dlais entre la date de cration et la date de dmarrage des travaux dune e e e tche. Release jitter en anglais. a : prcdence : avant de pouvoir dmarrer, un travail doit attendre le rsultat dun e e e e travail dune autre tche. On reprsente ce type de contrainte sous la forme dun a e

14

Mod`le considr et contraintes de conception pour le temps-rel e ee e

Task0

Task1

PSfrag replacements
Task2

Fig. 2.4: Contraintes temporelles courantes graphe de prcdence, i.e. un graphe orient dont les nuds sont les tches et dont e e e a les arcs sont les relations de prcdence (ventuellement augmentes des messages e e e e qui transitent). Quelques mesures pour caractriser le comportement temporel sont drives des e e e contraintes et des caractristiques temporelles : e Lutilisation (ou taux dutilisation) : cest la proportion de ressources donnes oce cupes par les travaux dune tche. Le plus souvent, on sintresse a lutilisation e a e ` du processeur : si la tche i est priodique de priode Ti et si chaque travail a e e ncessite un temps dexcution C i sur le processeur, alors son taux dutilisation e e e e est : ui = Cii . On dnit galement lutilisation processeur pour un ensemble de T Ci tches priodiques : U = a e e i ui = i Ti . On montre aisment que 1 est une borne suprieure dutilisation : au del` de ce seuil, la ressource est dite surcharge e a e puisque potentiellement la demande en ressource exc`de la capacit disponible. e e Le retard : cest lcart entre la date de terminaison du travail et la date dchance. e e e Ngatif quand le travail respecte son chance. Lateness en anglais (tardiness e e e lorsquon ne sintresse quaux retards positifs). e La laxit : cest lcart maximal entre la date dactivation et la date de dmarrage e e e du travail, de sorte que lchance demeure respecte. Laxity ou Slack time en e e e anglais. Les contraintes temporelles doivent tre imprativement respectes en temps-rel e e e e dur. En temps rel souple, des dpassements qui ne remettent pas en cause la structure e e de lapplication (i.e. tout sauf les contraintes de prcdence) sont tolres. Dans ce cas, e e ee

Mod`le de syst`me considr e e ee

15

il est possible de dnir une mtrique qui mesure la qualit de service qui demeure e e e assure (par exemple le nombre de travaux qui respectent leur chance relativement e e e au nombre total de travaux crs pour la tche). Cette qualit de service peut tre ee a e e value globalement pour tout le syst`me, ou relativement a chaque sous-syst`me (ene e e ` e semble de tches de lapplication), avant fonctionnement (par analyse) et/ou en cours a de fonctionnement (excution eective ou simulation). Dans certains syst`mes, la quae e lit de service constitue une contrainte supplmentaire conditionnant la correction du e e comportement du syst`me (syst`mes dits a rservation de ressources en particulier). e e ` e Dans la suite, sauf prcision en cas dambigu e, on confond les notions de travail e t et de tche, puisquun travail est une instance de tche. a a

2.1.2

Contraintes de ressources

Les tches peuvent tre vues comme des lments du syst`me qui consomment la a e ee e ressource processeur. Dautres ressources existent au sein du syst`me, qui peuvent tre e e matrielles (processeur(s), mmoire, rseau, capteurs, actionneurs par exemple), ou e e e logiques (smaphores, les de messages par exemple). Le syst`me dexploitation a pour e e rle de grer toutes les ressources, cest-`-dire darbitrer entre les demandes que les o e a tches de lapplication font, et les ressources eectivement disponibles dans le syst`me. a e ` Dans le cas de ressources actives [SL94], cest a dire celles qui permettent aux travaux de progresser dans leur excution, telles que les processeurs dans le domaine e du temps-rel, et le rseau dans le domaine des communications par rseau, cet arbie e e trage consiste en un partage temporel (i.e. multiplexage) de lacc`s aux ressources. Les e dcisions de partage sont faites suivant un ordonnancement (dtaill en 3 dans le cas e e e de la ressource processeur). Dans le cas des autres ressources (les ressources passives), lobjectif est de restreindre le nombre et les types dacc`s (lecture/criture) an de maintenir la cohrence : e e e cest le rle des mcanismes de synchronisation (verrous, smaphores, conditions, moo e e niteurs, les de messages par exemple), qui par extension permettent galement aux e tches dchanger des informations ou de se synchroniser sans quil y ait ncessairement a e e de ressource a protger (comme avec les rendez-vous par exemple). ` e La phase de conception devra dnir les prols dacc`s aux ressources passives. On e e peut distinguer (voir la gure 2.5 pour une illustration) : lattente active (busy waiting en anglais) qui consiste a tenter daccder a la ressource ` e ` en boucle jusqu` ce que celle-ci soit disponible. a la consultation priodique (polling en anglais), ou traitement command par le e e temps (time-driven en anglais) qui consiste a tenter daccder priodiquement a ` e e ` la ressource. Lattente active est un cas particulier de ce prol dacc`s. e la signalisation par vnement (event-driven en anglais) o` la tche demandeuse e e u a de la ressource est mise en sommeil en attente quun vnement extrieur (via le e e e syst`me dexploitation) ou quune autre tche la rveille, pour lui signaler que la e a e ressource est disponible. La palette des choix possibles dpend de ce que permet le syst`me dexploitation. e e Suivant le prol choisi, la ractivit du syst`me sera plus ou moins bonne, et le come e e

16

Mod`le considr et contraintes de conception pour le temps-rel e ee e

attente active Task0

traitement utile Task0

traitement utile Task0

traitement utile

Task1

Task1

mailbox

mailbox

0 0 0

0 0 0

mailbox

Task1

signal

(a) Attente active

(b) Consultation priodique e

(c) Command par vnement e e e

Fig. 2.5: Prols dacc`s aux ressources e

portement temporel du syst`me plus ou moins facile a caractriser : il sera dautant e ` e plus facile de garantir que le syst`me respectera toutes ses contraintes temporelles que e le comportement de ses tches est dterministe (en particulier en ce qui concerne la loi a e darrive et les temps dexcution). e e Lorsque les tches ne sont soumises ni a des contraintes de ressources, ni a des a ` ` contraintes de prcdence, elles sont dites indpendantes. e e e

2.1.3

Autres contraintes

En dehors des contraintes de temps ou dacc`s aux ressources, la spcication de e e syst`mes temps-rel introduit parfois dautres contraintes. Les plus courantes sont les e e contraintes de : localisation ou localit : prcisent si les tches doivent sexcuter sur un processeur e e a e donn (par exemple pour accder a un capteur disponible uniquement sur une e e ` machine donne, ou pour diminuer la quantit de messages rseau changs) ; e e e e e anti-localit : prcisent si deux tches doivent sexcuter sur des processeurs dirents e e a e e (par exemple quand il sagit dintroduire de la redondance spatiale dans les traitements an que le syst`me soit tolrant aux fautes physiques). e e

2.2

Caractrisation du support dexcution e e

La phase dimplantation dune application temps-rel repose a la fois sur les spcications e ` e que nous venons de prsenter, et sur les caractristiques des supports langage et syst`me e e e pour le temps-rel sous-jacents. Ces derni`res contraignent en partie la faon dont e e c lapplication doit tre modlise. Il est donc important de conna ces supports lane e e tre gages et syst`me d`s la phase de conception. Nous prsentons ici quelques unes des e e e caractristiques a prendre en compte. e `

Caractrisation du support dexcution e e

17

2.2.1

Perception du temps

Un syst`me dexploitation en gnral, et tout particuli`rement un syst`me dexploie e e e e tation temps-rel, doit percevoir lcoulement du temps, notamment pour prendre ses e e dcisions dordonnancement. e Couramment, un syst`me informatique sappuie sur une horloge matrielle spcialise e e e e dans la gnration dvnements a intervalles rguliers, ce qui fournit au syst`me e e e e ` e e dexploitation une base de temps rudimentaire an dassurer au moins la vivacit du e syst`me. En contrepartie, la rsolution de lchelle de temps, utile aux dcisions dordone e e e nancement pour le temps-rel, est fonction de la frquence de lhorloge. Mais, puisque e e les co ts de traitement associs a la prise en compte de cette horloge ne sont pas u e ` ngligeables, cette frquence nest en pratique pas tr`s leve (de lordre de 1 a 10ms). e e e e e ` Certains syst`mes peuvent aussi consulter un compteur externe ou interne au proe cesseur, qui poss`de une rsolution beaucoup plus leve (jusqu` quelques fractions de e e e e a nanoseconde). Pour les syst`mes temps-rel, cette fonctionnalit permet de prendre des e e e dcisions dordonnancement de faon plus prcise, et permet de prendre en compte des e c e contraintes temporelles beaucoup plus nes. Dans ces deux cas, la perception du temps est locale a chaque nud. Ceci peut poser ` probl`me lorsque le syst`me temps-rel est distribu sur plusieurs nuds : en gnral e e e e e e les horloges locales dvient et se dsynchronisent lune par rapport a lautre, ce qui e e ` empche de prendre des dcisions relatives au temps et qui sont globales au syst`me. e e e Dans ce cas, une perception du temps cohrente entre les nuds ncessite de conna e e tre ou dtablir les bornes sur les carts entre les volutions des horloges locales aux nuds e e e du syst`me. Le syst`me doit alors soit se fonder sur une horloge commune a tous les e e ` nuds (par exemple utiliser le syst`me GPS), soit utiliser des mcanismes matriels ou e e e logiciels de synchronisation des horloges locales [AP97]. Dans tous les cas, le respect des contraintes temps-rel en distribu imposent que la prcision de la synchronisation e e e des horloges soit connue lors de la conception.

2.2.2
2.2.2.1

Supports langage et syst`me e


Supports langage

Le mod`le de syst`me temps-rel sur lequel nous reposons fait appara des notions e e e tre que les langages de programmation savent manipuler directement ou non. Ainsi, quelques langages savent manipuler des tches directement (comme Ada ou a occam2). Dautres langages (C, C++ par exemple) imposent de recourir directement au syst`me dexploitation ou au support dexcution pour les grer. e e e De la mme mani`re, certains langages proposent des mcanismes de synchronisae e e tion (par exemple : moniteurs en Modula-1, Concurrent Pascal, Mesa ; objets protgs e e en Ada ; les de messages en occam2 et Ada). Sinon, il est ncessaire de faire directee ment appel aux services du syst`me dexploitation et/ou du matriel. e e Enn, il serait dsirable que le langage fournisse tous les lments qui permettent e ee dvaluer le comportement des tches, ou, de faon plus raliste, quil permette de e a c e lexprimer : les temps dexcution (par annotation du nombre ditrations des boucles e e

18

Mod`le considr et contraintes de conception pour le temps-rel e ee e

par exemple), les ressources utilises. Malheureusement, il existe peu de langages dans e lindustrie qui supportent cette fonctionnalit ; en gnral, il sagit dune srie de rese e e e trictions dun langage courant1 (C, Ada) et de syntaxes dannotation (par exemple : annotation du nombre ditrations dune boucle) qui sont non standards et spcialises e e e pour un secteur ou une entreprise particuli`re (par exemple SPARK Ada pour lavioe nique anglaise [Bat98]). Ceci am`ne en pratique a sparer limplantation du syst`me, e ` e e de sa caractrisation, ce qui peut tre source derreur (le mod`le de comportement ne e e e correspond pas a la ralit). ` e e 2.2.2.2 Supports syst`me e

Quantit de supports dexcution pour le temps-rel existent tant dans lindustrie e e e (VxWorks, pSos, VRTX, OSE, OS9, LynxOS/LynuxOS, RTEMS, eCos par exemple) quau sein de la communaut scientique (Mars [KFG+ 92], Maruti [SdSA95], Spring e [SRN+ 98], Hades [CPC+ 00], RTMach [TNR90], DIRECT [SG97a], Emeralds [Zub98], MaRTE [RH01], DICK [But97], Hartik/S.Ha.R.K. [GAGB01], variantes RTLinux [1][Bar97, WL99b, DFW02, Heu01] par exemple). Des normes pour les interfaces de programmation syst`me existent galement qui sont plus ou moins respectes par les syst`mes e e e e dexploitation (normes POSIX1003.1b et 1003.1c [fIT93] ou ITRON [6] par exemple). Nous prsentons ici quelques unes des fonctionnalits quon retrouve couramment e e dans les supports dexcution temps-rel : e e Interface de cration des tches. Certains syst`mes proposent des mcanismes pour e a e e associer la cration de tches a loccurrence dvnements de lenvironnement e a ` e e (cration oriente vnements, ou event-driven). Dautres ne permettent dime e e e planter que des tches priodiques (excution commande par le temps, ou timea e e e driven). Dans tous les cas, il est possible a une tche den crer dautres. ` a e Gestion des dlais. Le syst`me peut proposer une fonctionnalit dalarme dire e e e ee relativement au temps processeur occup par la tche (indpendamment des e a e premptions), ou de sommeil pendant une dure donne relativement a la date e e e ` de dbut de la mise en sommeil (dlai relatif qui accumule les erreurs dues a e e ` la rsolution de lhorloge syst`me), ou jusqu` une date absolue (dlai absolu). e e a e Limplantation des tches priodiques par exemple dpend des mthodes de mise a e e e en sommeil disponibles. Primitives de synchronisation. Les syst`mes dexploitation proposent en gnral e e e des mcanismes de synchronisation basiques identiques, a savoir les smaphores e ` e valus ou les verrous. Au del`, les syst`mes peuvent adhrer a une norme, totae a e e ` lement ou partiellement, dans laquelle gurent une srie de mcanismes de syne e te chronisation supplmentaires (eventag 2 , bo aux lettres, les de messages, vere rous en lecture/criture). Les syst`mes peuvent galement proposer leurs propres e e e mcanismes de synchronisation, a la place ou en plus de ceux recommands par les e ` e normes auxquelles ils peuvent dcider de se conformer (par exemple les CABs de e
1 2

En gnral : pas de boucles innies, rcursivit contrle. e e e e oe une variante des conditions sous forme dun bitmap.

Caractrisation du support dexcution e e

19

DICK, ou Cyclical Asynchronous Buers, qui sont des bo aux lettres limites tes e a un seul lment). ` ee Politique dordonnancement. Pour dnir la prochaine tche a lire, le support e a ` e dexcution peut reposer sur un calendrier, ou plan dni lors de la phase de e e conception, ou sur un ordonnancement en-ligne reposant sur des priorits relatives e entre les tches, ou en fonction de lordre dactivation (politique du premier arriv, a e premier servi, ou FIFO, par exemple). Le chapitre 3 dtaille plus en dtails les e e politiques dordonnancement temps-rel les plus courantes. e Prol dappel a lordonnanceur. Le syst`me dexploitation peut prendre ses dcisions ` e e dordonnancement lors de chaque vnement syst`me (blocage sur ressource, ine e e terruption matrielle), ou ne les prendre que lors dune interruption dhorloge e (tick scheduling). Dans le premier cas, les surco ts syst`me sont plus levs, et u e e e dans le second cas les gigues dactivation sont plus importantes. Dans le cas de limplantation de syst`mes temps-rel strict, il est ncessaire de e e e disposer de susamment dinformations sur le comportement temporel du syst`me e dexploitation sur lequel on repose. Cela suppose soit de disposer du code source du syst`me dexploitation et dtre capable de lanalyser [CP01a, CP01b] pour en exe e traire les caractristiques temporelles pertinentes ou pour en dduire le comportement e e de lapplication dans son ensemble ; soit de disposer des caractristiques temporelles e pertinentes fournies avec le syst`me dexploitation (le plus souvent obtenues par test e et mesure, ou benchmark ) ; soit que lutilisateur dtermine les caractristiques tempoe e relles en valuant lui-mme le syst`me dexploitation ou lapplication dans son ensemble. e e e u Parmi les caractristiques temporelles couramment values, on trouve [fIT93] les co ts e e e lis aux appels syst`me explicites : e e Dlai de prise de ressource lorsquune tche acquiert un smaphore, un verrou, un e a e moniteur ou tout autre mcanisme dexclusion non encore pris par une autre e tche. a Co t de changement de param`tre dordonnancement lorsquune tche dcide u e a e de changer de priorit (dvelopp en 3) par exemple. e e e Co ts temporels dautres services syst`me tels que ceux de la cration, suppresu e e sion et terminaison de tche, ou ceux lis au service dordonnancement. a e Dautres co ts syst`mes implicites sont galement valus : u e e e e Caractristiques du service dhorloge syst`me telles que sa rsolution, ses pae e e ram`tres de dviation ou dirrgularit par rapport a une horloge de rfrence, les e e e e ` ee co ts temporels lis a lappel des primitives de consultation et de modication, u e ` ainsi que ceux des primitives de programmation dun rveil (timeout). e Dlai de propagation dun vnement de rveil lorsquune tche lib`re une rese e e e a e source, signale une condition, ou envoie un vnement (signal POSIX par exemple) e e a une autre tche. ` a Co ts temporels des changements de contexte. Cest le temps ncessaire a la u e ` premption dun travail au prot dun autre. Il sagit dune dure essentiellement e e dpendante de la conguration matrielle (type de processeur, cadence, taille des e e caches dinstructions, de donnes, et de traduction dadresses par exemple). e

20

Mod`le considr et contraintes de conception pour le temps-rel e ee e

Surco ts temporels lis a la gestion des interruptions matrielles. Ce sont les u e ` e temps ncessaires au passage de la tche ou du traitant dinterruption en cours, e a vers le code de traitement de linterruption leve ; et inversement. Il sagit encore e dune donne essentiellement dpendante de la conguration matrielle. e e e Autres co ts syst`me. Les normes (comme POSIX1003.1b par exemple) proposent u e en plus de mesurer les co ts de services plus sophistiqus du syst`me dexploitau e e tion ou du support dexcution, tels que ceux des services de gestion de chiers e ou dallocation dynamique de mmoire par exemple. e La connaissance de majorants aux caractristiques temporelles du syst`me dexe e ploitation est un des param`tres dentre essentiels an de garantir, avant excution, e e e quun syst`me temps-rel strict respectera toutes ses contraintes temporelles en cours e e de fonctionnement. Or, certains services du syst`me dexploitation peuvent avoir des e caractristiques temporelles (telles que le temps dexcution par exemple) pire-cas e e draisonnables, comme par exemple lallocation dynamique de mmoire [Pua02] ou e e le service de pagination par zone dchange (swap en anglais), ou de gestion de chiers e sur disque. Ces services ont peu de chances dtre adapts aux contraintes temporelles e e de lordre de la milliseconde (ce qui est courant en temps-rel), ce qui explique pourquoi e ce type de service est rarement utilis dans le contexte du temps-rel strict. e e

21

Chapitre 3

Ordonnancement et Analyse dordonnancement


Dans ce chapitre, nous introduisons tout dabord la problmatique de lordonnane cement en temps-rel, dans le contexte du mod`le de syst`me dcrit prcdemment. e e e e e e Nous citons ensuite une srie de rsultats scientiques qui ont t obtenus dans ce e e ee domaine central de lingnierie temps-rel. Nous commenons par dresser un panoe e c rama des contraintes et proprits dordonnancement, avant de donner les proprits ee ee des probl`mes algorithmiques associs en termes de complexit, et les grandes classes e e e e dapproches courantes (section 3.2). Nous dveloppons ensuite plus avant les proprits dune classe particuli`re dordonnancement (` priorits simples ; section 3.3) ee e a e pour des syst`mes constitus exclusivement de tches temps-rel strict, avec ou sans e e a e prise en compte des co ts syst`me, avec ou sans contraintes de ressources, avec ou u e sans contraintes de prcdence. Puis nous levons progressivement les restrictions de ce e e mod`le : support de tches apriodiques (section 3.4), gestion de la surcharge (section e a e 3.5), techniques dordonnancement qui ne sont pas a priorits (section 3.6), ordonnan` e ceurs qui sadaptent a un manque dinformations sur le comportement du syst`me ou ` e de lenvironnement (section 3.7). Nous terminons par un aperu des mthodes dordonc e nancement sur syst`mes multiprocesseur ou distribus (section 3.8). e e

3.1
3.1.1

Problmatique de lordonnancement en temps-rel e e


Description

Nous nous concentrons sur une pi`ce fondamentale dun syst`me temps-rel : lore e e donnanceur. Pour chaque processeur, lordonnanceur est en charge de dnir lordonnancement, e qui est une squence innie dlments du type : (date, identifiant travail). e ee Chaque lment correspond a llection de la tche a excuter, puis a un changement ee ` e a ` e ` de contexte, qui fait suite a une dcision dordonnancement par lordonnanceur. ` e La problmatique de lordonnancement revient a dnir comment agencer les excutions e ` e e des tches sur chaque processeur. Un ordonnancement est faisable (feasible schedule en a

22

Ordonnancement et Analyse dordonnancement

anglais), si toutes les contraintes temporelles et de ressources sont respectes (voir sece tion 3.1.2 ci-dessous). Suivant les caractristiques du mod`le de tches et du syst`me, e e a e un ordonnancement faisable peut exister ou non. Lorsquun tel ordonnancement existe, le syst`me temps-rel est dit ordonnanable (schedulable en anglais). Un syst`me est dit e e c e ordonnanable par un algorithme donn si lordonnancement qui en rsulte est faisable. c e e Lobjectif que poursuit lanalyse statique hors-ligne est dtablir lordonnanabilit e c e du mod`le, et/ou la faisabilit dun lordonnancement donn. Ce sont les proprits e e e ee des probl`mes tudis lors de cette phase danalyse, et quelques solutions, que nous e e e prsentons dans la suite de cette tude. e e

3.1.2

Crit`res et mtriques usuels de spcication de contraintes de e e e validit e

Pour le temps-rel strict, le crit`re de validit fondamental est que toutes les tches e e e a temps-rel strict respectent toutes leurs contraintes temporelles en toute circonstance e nominale de fonctionnement. Au del` de cette contrainte fondamentale que nous dveloppons a e plus loin dans le prsent chapitre, dirents mcanismes peuvent tre compars par des e e e e e mesures quantitatives sur leur comportement, en sinspirant des travaux en temps-rel e souple. En temps-rel souple, les contraintes de validit peuvent faire appel a des donnes e e ` e numriques caractrisant le comportement du syst`me. Suivant la complexit du syst`me, e e e e e il est possible de les obtenir par analyse (le plus souvent statistique) ou par valuation e (le plus souvent par simulation). Parmi les mtriques les plus courantes, citons : e le taux de respect : cest la proportion de travaux des tches qui respectent leurs a contraintes temporelles. Hit ratio en anglais. Lorsque les tches doivent subir un a test prventif lors de leur activation et avant leur excution, an de vrier que e e e leurs contraintes temporelles pourront tre respectes sans remettre en cause le e e reste du syst`me (test dacceptation, voir 3.4.2), on parle de taux de garantie e (guarantee ratio en anglais). la valeur dgage : on associe a lexcution de chaque tche une fonction de valeur , e e ` e a et on mesure la somme (ou une autre fonction) des valeurs obtenues pendant le droulement du syst`me [BSS95]. Hit value ratio en anglais. Par exemple, on peut e e reprsenter une tche temps-rel ferme par la fonction de valeur suivante : si la e a e tche se termine avant son chance, elle dgage la valeur X > 0, et 0 sinon. Un a e e e cas particulier est celui o` X vaut 1, auquel cas la valeur dgage (completion u e e count en anglais) est directement lie au taux de respect. Dautres fonctions e de valeur font intervenir le temps dexcution (eective processor utilization en e e anglais) [BHS01], ou dautres param`tres [AB99]. le dbit : cest le nombre de travaux dune tche qui respectent leurs contraintes teme a porelles par fentre de temps donne [WS99b]. Throughput en anglais. En mule e timdia par exemple, il peut sagir de la mesure du nombre dimages rendues par e seconde (fps pour frames per second). le seuil dutilisation : cest lutilisation du processeur au dessus de laquelle des tches a commencent a dpasser leurs contraintes temporelles [VJP97, KAS93]. Utilization ` e

Caractristiques des probl`mes et des mthodes dordonnancement e e e breakdown en anglais.

23

les caractristiques temporelles (voir 2.1.1.2) telles que le retard, la gigue de dmarrage, e e la laxit, le temps de rponse par exemple. Le cas particulier de la validation de e e tches temps-rel strict consiste a garantir au moins que le retard maximal pour a e ` ces tches est ngatif ou nul. a e les co ts syst`mes (voir 2.2.2.2) tels que les co ts dordonnancement par exemple. u e u La majorit de ces mtriques voluent au cours du temps. Lvaluation du mod`le, e e e e e ou sa validation font alors intervenir les proprits de leur distribution, telles que le ee maximum, le minimum, ou les caractristiques statistiques (moyenne, cart-type par e e exemple). Le mode dvaluation sintresse en gnral au rgime permanent (stimuli de e e e e e e lenvironnement rguliers), et plus rarement aux rgimes transitoires [LSA+ 00] (dlai e e de rtablissement, sur-utilisation temporaire). Lorsquil sagit de proposer un nouveau e mcanisme syst`me pour le temps-rel, on le soumet a ces techniques dvaluation, en e e e ` e intgrant dans le mod`le ou dans limplantation a valuer soit des jeux de tests issus e e `e de syst`mes rels (tels que ceux prsents dans [CFBW93, ABR+ 93, Tin92a, Aud91, e e e e Bur93, TC94, TBW92a, BWH93]), soit des jeu de tests gnrs alatoirement. e ee e Pour des spcications donnes qui mettent des contraintes sur ces param`tres, la e e e e validation peut se faire a deux niveaux du cycle de dveloppement : au niveau du mod`le ` e e issu de la conception (valuation a priori), et au niveau de limplantation (valuation a e e posteriori). Nous nous intressons dans la partie suivante a lvaluation et a la validation e ` e ` pour ces deux tapes, et prsentons quelques mthodes. e e e

3.2

Caractristiques des probl`mes et des mthodes dore e e donnancement

Apr`s avoir introduit quelques lments de terminologie (section 3.2.1), nous dcrivons e ee e e les caractristiques de quelques probl`mes dordonnancement (section 3.2.2), et prsentons e e les grandes classes de solutions courantes a ces probl`mes (section 3.2.3). ` e

3.2.1

Classes des probl`mes e

On indique ici les caractristiques lies aux syst`mes cible de lordonnancement ou a e e e ` lordonnancement lui-mme, qui forment les param`tres du probl`me dordonnancement e e e quon cherche a rsoudre. ` e

Monoprocesseur/multiprocesseur Lordonnancement est de type monoprocesseur si toutes les tches ne peuvent a sexcuter que sur un seul et mme processeur. Si plusieurs processeurs sont dispoe e nibles dans le syst`me, lordonnancement est multiprocesseur. e

24 Premptif/non-premptif e e

Ordonnancement et Analyse dordonnancement

Lordonnancement (en-ligne ou hors-ligne) est premptif lorsque les premptions e e (voir 2.1.1.1) sont autorises. On peut remarquer que dans le cas des ordonnanceurs e monoprocesseur, la problmatique de la synchronisation sur ressource nexiste pas en e non-premptif puisque il ne peut pas y avoir de concurrence sur lacc`s aux ressources e e en labsence de premption. e Avec/Sans insertion de temps creux : oisif/non oisif Lordonnanceur peut avoir la proprit suivante : a partir du moment ou au moins ee ` une tche est prte a tre excute, alors lordonnanceur en lit forcment une parmi a e `e e e e e elles. Dans ce cas, lordonnanceur est non oisif , cest a dire quil fonctionne sans in` sertion de temps creux (non-idling ou work-conservative en anglais). Dans certains cas, un syst`me peut ntre ordonnanable quen nlisant aucune e e c e tche pendant un certain temps, alors quil en existe au moins une prte a tre excute. a e `e e e Dans ce cas, lordonnanceur est oisif , cest a dire quil fonctionne par insertion de ` temps creux (with inserted idle times en anglais). Par exemple, le syst`me de tches e a de la gure 3.1 (les notations sont introduites gure 2.4, section 2.1.1.2) nest pas orc donnanable en non-premptif non oisif (gure 3.1(a)), alors quil est ordonnanable c e en non-premptif oisif (gure 3.1(b)). On peut remarquer que la dnition dun ordone e nancement oisif repose sur la connaissance des activations a venir. `

insertion de tempscreux

Violation decheance T2 1 2 3 4 5 T2

Date dactivation WCET e Echance absolue


1 2 3 4 5

T1 0 3 5

T2 1 1 3

T1

(a) Non-oisif

T1

(b) Oisif

Fig. 3.1: Intrt de lordonnancement oisif en non-premptif ee e

En-ligne/hors-ligne Un ordonnancement hors-ligne (o-line en anglais) signie que la squence dore donnancement est prdtermine a lavance : dates de dbut dexcution des tches, e e e ` e e a de premption/reprise ventuelles. En pratique, lordonnancement prend la forme dun e e plan hors-ligne (ou statique), excut de faon rptitive (on parle aussi dordonnancee e c e e ment cyclique, qui dnit le cycle majeur ) : a chaque top dhorloge (on parle de cycle e ` mineur ) une tche particuli`re du cycle majeur courant est excute jusqu` terminaia e e e a son ou jusquau top dhorloge suivant.

Caractristiques des probl`mes et des mthodes dordonnancement e e e

25

Un ordonnancement en-ligne correspond au droulement dun algorithme qui tient e compte des tches eectivement prsentes dans la le dordonnancement (run-queue en a e anglais) lors de chaque dcision dordonnancement. Les ordonnanceurs en-ligne peuvent e reposer sur la construction de plans dordonnancements en cours de fonctionnement, auquel cas ils sont dits a plan dynamique [KSSR96]. Mais plus couramment, ces ordon` nanceurs sont fonds sur la notion de priorit (voir 3.2.3.2). e e Il est par ailleurs possible de transformer un ordonnancement a plan statique en ` ordonnancement en-ligne (par exemple a priorit statique premptif [DFP01] ou non` e e ` e premptif [Bat98], ou a priorit dynamique [CA97]). e Centralis/distribu e e Lorsquun syst`me est distribu, lordonnancement (en-ligne) est distribu si les e e e dcisions dordonnancement sont prises par un algorithme localement en chaque nud. e Il est centralis lorsque lalgorithme dordonnancement pour tout le syst`me, dise e tribu ou non, est droul sur un nud privilgi . e e e e e Statique/dynamique Les ordonnanceurs statiques fondent leurs dcisions dordonnancement sur des pae ` ram`tres assigns aux tches du syst`me avant leur activation. A linverse, les ordone e a e nanceurs dynamiques fondent leurs dcisions sur des param`tres qui varient en cours e e de fonctionnement du syst`me. e Optimal/non optimal Par dnition, un algorithme dordonnancement optimal [GRS96] pour une classe de e probl`me dordonnancement donn est tel que : si un syst`me est ordonnanable (voir e e e c 3.1) par au moins un algorithme de la mme classe, alors le syst`me est ordonnanable e e c par lalgorithme dordonnancement optimal. En consquence, si un syst`me nest pas e e ordonnanable par un ordonnanceur optimal dune classe donne, alors il ne lest par c e aucun ordonnanceur de la mme classe. e

3.2.2

Complexit des probl`mes e e

Le probl`me qui consiste a dnir un ordonnancement peut tre ramen a un e ` e e e ` probl`me doptimisation. Par exemple, beaucoup de travaux sintressent a minimie e ` ser le retard maximal parmi toutes les tches (L max dans la suite). Car une fois ce a retard maximal minimis, la correction temporelle du syst`me est quivalente a vrier e e e ` e que ce retard maximal est ngatif ou nul. e Nous nous intressons ici a la complexit [Coo71, Coo83, GJ79] de quelques probl`mes e ` e e pertinents pour lordonnancement [SSNB94][2]. Pour exprimer ces probl`mes, une notation abrge a t introduite [Rie98, SSNB94, e e e ee But97, GLLK79, Mer92], que nous nutilisons pas ici.

26 3.2.2.1

Ordonnancement et Analyse dordonnancement Ordonnancement monoprocesseur

e e Les tableaux 3.1 et 3.1 indiquent la complexit de quelques probl`mes dordonnancement respectivement non-preemptifs et premptifs sur monoprocesseur. e e monoprocesseur non-premptif e prcdences e e ressources probl`me e non non non series-parallel a oui oui minimiser Lmax ordonnanabilit c e minimiser L max minimiser Lmax b minimiser Lmax minimiser Lmax

tches a concr`tes e non non oui oui oui synchrones

temps creux non oui non non non non

complexit e polynomiale NP-complet NP-complet polynomiale NP-dicile polynomiale

indirent e

voir 3.2.3.2 [GJ79, HV95] [GJ79, JSM91] [SSNB94, Law78, GL95] [SSNB94, Law78] [SSNB94, Law73]

tches a concr`tes e non non non + temps dexcution e tous gaux e indirent e indirent e indirent e

temps creux non non non

monoprocesseur premptif e prcdences e e ressources probl`me e non non non verrous seuls oui oui ordonnanabilit c e ordonnancement optimal minimiser Lmax

complexit e NP-dicile impossible polynomiale [Mok83] [Mok83], voir 3.3.6 [Mok83]

non non non

non non minimiser L max polynomiale voir 3.2.3.2 oui non minimiser L max polynomiale voir 3.2.3.2 oui oui ordonnancement NP-dicile [SSNB94] Tab. 3.1: Complexit de probl`mes dordonnancement monoprocesseur e e

a Ce type de graphe rassemble les arbres convergents et divergents, mais nest pas du tout adapt e aux cas courants o` des changes de messages peuvent se faire en travers de larbre [SSNB94]. u e b Ou toute fonction de cha nes de travaux vers qui poss`de la proprit : f () f () e e e f (a.....b) f (a....b).

On peut remarquer que le probl`me a rsoudre est dautant plus complexe que les e ` e premptions sont interdites ou que les temps creux sont autoriss (insrer des temps e e e creux dans lordonnancement revient a tre capable de prvoir les activations a venir). `e e ` En pratique, pour rsoudre les probl`mes diciles qui font intervenir des ressources e e et ventuellement des contraintes de prcdences, il existe des ordonnancements stae e e tiques [JD90], des approches sub-optimales (telles que le kernelized monitor [Mok83]) ou des heuristiques (comme [Man98, MMM00b, RS94] par exemple), ou des protocoles pour accder aux ressources en utilisant des algorithmes dordonnancement classiques e (comme nous le verrons en 3.3.6).

Caractristiques des probl`mes et des mthodes dordonnancement e e e 3.2.2.2 Ordonnancement multiprocesseur

27

Nous nous intressons ici aux syst`mes multiprocesseur simples dans lesquels lore e donnancement est centralis et pour lesquels on suppose les temps de communication e entre les nuds nuls. Le tableau 3.2 prsente quelques rsultats de complexit : le e e e probl`me considr est celui qui consiste a dterminer un ordonnancement hors-ligne e ee ` e non-premptif faisable. La plupart des rsultats prsents dans ce tableau sont issus de e e e e [SSNB94]. multiprocesseur non-premptif hors-ligne [SSNB94] e Nombre de ressources prcdences temps dexcution e e e complexit e Processeurs 2 non quelconques tous gaux e polynomial 2 non non quelconques NP-complet 2 non quelconques 2 valeurs possibles NP-complet 2 oui non tous gaux e polynomial [RS94] 2 1 fort e tous gaux e NP-complet 3 1 non tous gaux e NP-complet N non fort e tous gaux e polynomial N non quelconque tous gaux e NP-complet Tab. 3.2: Complexit dordonnancement non-premptif hors-ligne pour multiprocesseur e e

Contrairement au cas monoprocesseur, en ordonnancement multiprocesseur horsligne, pour tout ordonnancement premptif du syst`me qui dgage une valeur donne, e e e e on peut toujours trouver des ordonnancements non-premptifs qui dgagent une vae e leur encore plus faible [McN59]. Cest le cas par exemple si la mesure de la valeur de lordonnancement est la somme des temps dexcution des tches correctement ordone a nances. En multiprocesseur, autoriser les premptions ne facilite donc rien, et rajoute e e des surco ts a lexcution (lis aux changements de contexte). Ainsi, le rsultat de comu ` e e e plexit sur la conguration la plus simple en premptif hors-ligne [Law83] re`te bien e e e cette proprit : ee premptif, N processeurs, tches quelconques, sans ressource, sans e a prcdence : la dnition dun ordonnancement hors-ligne qui minimise le e e e nombre de tches en retard est un probl`me NP-dicile. a e En ce qui concerne lordonnancement en-ligne pour multiprocesseur, il est prouv e [Mok83] quaucun algorithme dordonnancement en-ligne ne peut tre optimal sans e avoir la connaissance compl`te a lavance de toutes les chances, de tous les temps e ` e e dexcution, et de toutes les dates de dmarrage des tches. En pratique, on utilise e e a des heuristiques (comme [Man98, MMM00b, RS94] par exemple) pour rsoudre ces e probl`mes, comme nous le verrons en 3.8.3.3. e

28

Ordonnancement et Analyse dordonnancement

3.2.3

Solutions aux probl`mes dordonnancement e

Dans la suite, nous nous intressons dabord au probl`me le plus simple : lordone e nancement monoprocesseur sans ressource et sans prcdence. Nous prsentons ici les e e e solutions simples les plus courantes, et verrons comment ces solutions peuvent tre e amnages pour supporter des syst`mes avec ressources et contraintes de prcdence. e e e e e 3.2.3.1 Ordonnancement hors-ligne

Lordonnancement hors-ligne repose sur la dnition dun plan statique. Cette poe litique dordonnancement poss`de lavantage de se contenter dun support dexcution e e tr`s rduit (lacc`s a une base de temps sut). Par l` mme, elle introduit un surco t e e e ` a e u dexcution li a lordonnancement tr`s faible [KFG+ 92] (il sut que lune horloge e e ` e syst`me incrmente la position courante dans le plan dordonnancement), car les traitee e ments pour ltablissement du plan (comme [SA00, CCS02, Foh94] avec des algorithmes e e ad hoc, optimaux [JD90], ou par optimisation multi-crit`res [EJ00] par exemple) sont effectus hors-ligne, et peuvent se permettre dtre tr`s complexes. En particulier, ce type e e e dordonnancement se prte bien aux cas de syst`mes complexes tels que les syst`mes e e e e temps-rel distribus [SRG89] (le probl`me principal restant alors la synchronisation des e e horloges locales pour un droulement cohrent du plan). Egalement, lenvironnement e e ninuence pas le droulement du plan, ce qui rend le syst`me robuste car immunis e e e contre une partie des dpassements dhypoth`se dus a la mauvaise modlisation de e e ` e lenvironnement. Enn, la garantie que le syst`me respectera toutes ses contraintes e temporelles est une proprit facile a apprhender : il sut que le plan soit vri ee ` e e e hors-ligne, et que les valuations des temps dexcution soient correctes. Ceci fait de e e cette solution celle qui para la plus rigoureuse et la plus stricte ; nous verrons cepent dant que dans les cas de syst`mes centraliss simples il existe des solutions en-ligne qui e e orent tout autant de garanties. En contrepartie, il est ncessaire de se ramener a des plans priodiques, ou a des e ` e ` plans qui supposent connues toutes les dates darrives (ventuellement non priodiques) e e e de toutes les tches. Cela conduit a sur-contraindre le syst`me, en particulier quand a ` e on doit traiter des tches priodiques de priode non multiple du cycle mineur, ou a e e des vnements de frquence doccurrence maximale leve mais de faible frquence e e e e e e moyenne. Au mieux, ces contraintes excessives entra nent un surdimensionnement du syst`me, et au pire limpossibilit de dterminer un ordonnancement faisable. De plus, e e e les plans gnrs sont tr`s sensibles aux petites modications du code ou des fonctione ee e nalits qui peuvent tre faites (ajout dune tche supplmentaire par exemple) : ces e e a e modications aectent le plan dans son ensemble (non localit), ce qui pose probl`me e e dintgration lorsque plusieurs acteurs (entreprises, ingnieurs) coop`rent sur le mme e e e e projet (contraire aux contraintes de condentialit par exemple). Un autre probl`me e e qui se pose est que le plan doit tre capable de dnir lordonnancement sur une dure e e e gale a lhyperpriode des tches, qui peut tre tr`s grande, ce qui implique une grande e ` e a e e consommation mmoire pour stocker le plan, inadapte aux petits syst`mes embarqus. e e e e Il existe cependant des ordonnancements par plan statique qui peuvent tre complts e ee par un algorithme dordonnancement en-ligne (comme [Foh94, IF99], par une mthode e

Ordonnanceurs a priorits simples ` e

29

similaire a la rquisition de temps creux, que nous verrons en 3.4.1.2), an de prendre ` e en compte lactivation de tches sporadiques ou apriodiques par exemple. a e Nous ne dtaillons pas davantage ce type dordonnancement dans ce travail. Dans e la suite, nous intressons aux algorithmes dordonnancement en-ligne. e 3.2.3.2 Ordonnanceurs en-ligne

La majorit des ordonnanceurs temps-rel en-ligne reposent sur la notion de prioe e rit : lors de chaque dcision dordonnancement, la tche de plus haute priorit est lue. e e a e e Les priorits peuvent tre attribues hors-ligne, auquel cas lalgorithme dordonnancee e e ment est dit a priorit statique ou xe ; ou en-ligne, auquel cas il est dit a priorit ` e ` e dynamique. 1 Ce type dordonnanceur est plus complexe que les ordonnanceurs a plan statique : ` les dcisions dordonnancement consistent a lire la tche prte de plus haute priorit. e `e a e e Dans le cas des ordonnanceurs a priorit dynamique, il sagit en plus de dterminer les ` e e priorits relatives des direntes tches prtes, ce qui peut se rvler co teux en terme e e a e e e u de ressource processeur. Dautre part, ce type dordonnanceur est plus exigeant en terme de services que doit fournit le support dexcution : celui-ci doit entre autre pouvoir grer des les de tches e e a a ordonnancer, et doit pouvoir dterminer quand une dcision dordonnancement est ` e e ncessaire. Il en rsulte par l` mme des appels a lordonnanceur plus frquents quen e e a e ` e ordonnancement hors-ligne, ce qui accro encore le surco t dexcution engendr. En t u e e pratique, les supports dexcution les plus courants et les standards disponibles les plus e utilss, fournissent les fonctionnalits ncessaires a lordonnancement a priorit xe. e e e ` ` e Comme nous le verrons par la suite, ces ordonnanceurs ont lavantage de sadapter aux volutions de lenvironnement (support des tches sporadiques, admission de tches e a a apriodiques), ou du syst`me (caractrisation temporelle incompl`te de certaines parties e e e e du syst`me par exemple). De plus, les algorithmes simples que nous dcrivons ci-apr`s e e e peuvent tre tendus pour supporter des mod`les de tches plus riches, des contraintes e e e a de prcdence, ou des synchronisations de ressources, ce qui leur permet de rivaliser e e avec les ordonnancements hors-ligne de ce point de vue.

3.3

Ordonnanceurs ` priorits simples a e

Dans cette partie, nous dnissons les algorithmes dordonnancement a priorit xe e ` e e que nous considrons dans la suite (section 3.3.1), avant de donner quelques rsultats e doptimalit les concernant (section 3.3.2). Nous indiquons ensuite les conditions dore donnaabilit qui leur sont associes, pour un mod`le de syst`me tr`s restrictif (section c e e e e e 3.3.3). Puis nous levons certaines restrictions du mod`le (sections 3.3.4), avant de done ner quelques extensions pour supporter des contraintes dordonnancement supplmentaires e
J. Migge [Mig99] remarque que lordonnancement a priorit statique correspond a la dnition ` e ` e dune priorit a lchelle de la tche (i.e. tous travaux confondus), et que lordonnancent a priorit e ` e a ` e dynamique revient la plupart du temps a dnir la priorit a lchelle de chaque travail (cest le cas ` e e ` e pour lordonnancement EDF par exemple).
1

30

Ordonnancement et Analyse dordonnancement

e ` e e (section 3.3.5), et pour prendre en compte les acc`s concurrents a des ressources protges (section 3.3.6). Nous concluons (section 3.3.7) par une petite discussion sur les choix dingnierie qui manent des familles dordonnancement voques. e e e e

3.3.1

Politiques dordonnancement ` priorits courantes a e

Nous nous plaons ici dans le cadre simple de lordonnancement monoprocesseur c non oisif a priorit, lorsque toutes les tches sont indpendantes (pas de prcdence, ` e a e e e pas de ressource). Les ordonnancements a priorits les plus courants sont les suivants : ` e EDF (pour Earliest Deadline First) : ordonnancement a priorit dynamique. Une ` e tche est dautant plus prioritaire que sa date dchance absolue est proche de la a e e date courante. Le cas particulier o` les tches sont synchrones est parfois appel u a e EDD (pour Earliest Due Date), ou algorithme de Jackson. LLF (pour Least Laxity First) : ordonnancement a priorit dynamique. Les tches ` e a sont dautant plus prioritaires que leur laxit est faible a la date courante. e ` RM (pour Rate Monotonic) : ordonnancement a priorit statique pour tches prio` e a e diques/sporadiques avec chance relative gale a la priode/dlai dinter-arrive. e e e ` e e e Une tche est dautant plus prioritaire que sa priode est petite. a e DM (pour Deadline Monotonic) : ordonnancement a priorit statique pour tches ` e a sporadiques. Une tche est dautant plus prioritaire que son chance relative est a e e petite. DM quivaut a RM quand lchance relative est gale a la priode. e ` e e e ` e En dpit de leur simplicit, ces ordonnanceurs poss`dent des proprits relativement e e e ee fortes. Cest ainsi quils servent de base a quantits de variantes, comme nous le voyons ` e par la suite.

3.3.2

Rsultats doptimalit e e

Les ordonnancements simples prcdents ont les proprits intressantes suivantes : e e ee e 1. EDF et LLF sont optimaux parmi les ordonnancements premptifs non oisifs e e ` [LL73]. EDF est galement optimal relativement a la minimisation du retard maximal des tches [But97]. a 2. EDF est optimal parmi les ordonnancements non-premptifs non oisifs [GMR95, e GRS96]. 3. RM est optimal parmi les ordonnancements premptifs non oisifs a priorit stae ` e tique, pour tches priodiques non-concr`tes/synchrones ou sporadiques, lorsque a e e lchance relative est gale a la priode (ou au dlai dinter-arrive dans le cas e e e ` e e e sporadique) [LL73]. 4. DM est optimal parmi les ordonnancements premptifs non oisifs a priorit stae ` e tique, pour tches priodiques non-concr`tes/synchrones ou sporadiques a chance a e e `e e relative infrieure a la priode [ABRW91, But97, LW82]. e ` e 5. Dans les cas o` les tches priodiques concr`tes ne sont jamais synchrones, ni u a e e RM, ni DM ne sont optimaux parmi les ordonnancements premptifs non oisifs a e `

Ordonnanceurs a priorits simples ` e

31

e priorit statique. Dans [Aud91], on donne laectation optimale des priorits pour e lordonnancement premptif non oisif a priorit statique pour le cas gnral (i.e. e ` e e e qui reste valable quand les chances relatives et les priodes ne sont pas relies). e e e e 6. DM est optimal parmi les ordonnancements non-prempifs non oisifs a prioe ` rit statique, pour tches priodiques non-conr`tes/synchrones ou sporadiques e a e e a chance relative infrieure a la priode [Bat98]. `e e e ` e Pour lordonnancement a priorit dynamique, les dmonstrations utilisent le fait que ` e e si on dispose dun ordonnancement faisable, alors intervertir 2 tches pour respecter a lordre dordonnancement EDF ou LLF conserve la faisabilit de lordonnancement. Le e mme type de dmonstration est utilis avec les priorits des tches pour dmontrer e e e e a e loptimalit de RM/DM. e

3.3.3

Quelques conditions de faisabilit e

Dans la suite, les notations suivantes seront utilises : dans le syst`me de N tches, e e a 2 sur le processeur C et une chaque tche i , i [1, N ] poss`de un temps doccupation a e i chance relative Di . Si i est priodique, Ti reprsente la priode. Si i est sporadique, e e e e e Ti reprsente le dlai dinter-arrive. e e e N Ci Le taux dutilisation de ce syst`me de tches scrit alors : U = e a e i=1 Ti , et on rappelle quune condition ncessaire pour que le syst`me soit faisable est U 1 (voir e e 2.1.1.2). 3.3.3.1 EDF premptif e

Pour un ensemble de tches priodiques tel que i, D i = Ti , la condition ncessaire a e e et susante de faisabilit [LL73] est : e
N

U=
i=1

Ci 1 Ti

(3.1)

Cette condition reste ncessaire et susante dans le cas o` i, D i Ti [BMR90]. e u Pour un ensemble de tches priodiques tel que i, D i Ti , la condition prcdente a e e e nest bien s r plus susante puisque D i peut tre arbitrairement petit, comme le prouve u e lexemple de la gure 3.2. Dans ce cas, une condition susante de faisabilit analogue e existe, qui revient a considrer le syst`me comme tant constitu de tches sporadiques ` e e e e a C de dlai inter-arrive Di , et qui scrit N Dii 1. Mais cette condition pessimiste e e e i=1 nest pas ncessaire comme le prouve lexemple de la gure 3.3. e Dans [BMR90] et [Spu96], deux conditions ncessaires et susantes pour la faie sabilit dun ensemble de tches priodiques avec D i et Ti arbitraires sont donnes. e a e e Dans [BMR90], il sagit du droulement de lordonnancement par lintermdiaire de la e e
Pour le moment, nous considrons quil sagit du temps dexcution eectif, toujours constant. En e e 3.3.4, nous nuancerons cette dnition. e
2

32

Ordonnancement et Analyse dordonnancement

Violation decheance T2 10 20 30 40 50 60

Ti Ci Di

1 20 10 10

2 30 11 20

T1

U = 86.67 < 1

Fig. 3.2: Syst`me de 2 tches priodiques synchrones non ordonnanable par EDF e a e c

1 Ti Ci Di 20 10 10
N

2 30 10 20 Ci = 1.5 > 1 Di

T1

T2

i=1
10 20 30 40 50 60

(U = 83.33 < 1)

Fig. 3.3: Syst`me de 2 tches priodiques synchrones ordonnanable par EDF e a e c

Ordonnanceurs a priorits simples ` e demande en capacit processeur (processor demand en anglais) h(t), dnie par : e e
N

33

t R , h(t) =
i=1

Ci . max 0,

t Di +1 = Ti

Ci .
Di t

t Di +1 Ti

La condition de faisabilit ncessaire et susante pour le syst`me de tches est alors : e e e a U 1

t R+ , h(t) t

(3.2)

Vrier cette condition pour toutes les valeurs de t est infaisable en pratique. Dans e [BMR90] puis [GRS96], on indique comment restreindre correctement le domaine de variation de t (une fraction discr`te de lhyperpriode), mais la complexit reste leve e e e e e (bien que la taille du domaine de variation de t soit pseudo-polynomiale dans la majorit e des cas). e Dans [Spu96], il sagit du calcul du temps de rponse pire cas rt i pour chacune des tches, reposant sur le calcul de linterfrence quune tche peut subir suite a lactivation a e a ` de tches plus urgentes (on parle de busy period). Une fois ce temps dtermin, il sut a e e de vrier que i, rti Di . La complexit de ce calcul reste leve. e e e e En pratique, dans le cas gnral (T i et Di arbitraires) on utilise souvent la condition e e susante (i.e. pessimiste) plus simple suivante :
N i=1

Ci 1 min(Di , Ti )

3.3.3.2

EDF non premptif e

Considrons dabord le cas non oisif. La condition ncessaire et susante de faisae e bilit pour un ensemble de tches concr`tes apriodiques correspond a drouler lordone a e e ` e nancement. Dans le cas de tches apriodiques non-concr`tes, une condition ncessaire a e e e et susante en O(N 2 ) est donne dans [GMR95]. e Dans le cas de tches sporadiques ou priodiques non-concr`tes, une condition a e e ncessaire et susante pseudo-polynomiale est donne dans [JSM91] et repose sur la e e demande en ressource processeur. Dans le cas de tches priodiques concr`tes, la mme condition devient susante a e e e seulement, et le probl`me qui consiste a dterminer lordonnanabilit du syst`me est e ` e c e e NP-complet [GMR95, JSM91] (des conditions de faisabilit dans le cas synchrone et e non synchrone sont donnes dans [GMR95]). e Puisque lordonnancement non oisif peut tre vu comme un cas particulier dordone nancement oisif, toutes ces conditions de faisabilit restent valables dans le cas oisif, e mais ne sont plus que susantes seulement. Dans le cas oisif (NP-complet en gnral), e e [GMR95] montre qu` partir dun ordonnancement oisif faisable, on peut driver un ora e donnancement par EDF oisif ; il en est dduit un algorithme de type branch and bound e pour la dtermination dun ordonnancement EDF oisif (complexit exponentielle). e e

34 3.3.3.3

Ordonnancement et Analyse dordonnancement Ordonnancement premptif a priorit statique e ` e

Dans ce paragraphe et le suivant, les tches i sont classes par ordre de priorit i a e e dcroissantes : i < j i j (i = 0 tant la plus faible priorit possible) ; dans le e e e 1 cas dune aectation des priorits suivant RM ou DM, i = min(Di ,Ti ) . Dans toute la e suite, on ne consid`re que les ordonnancement a priorit xe non oisifs. e ` e Une premi`re condition de faisabilit ncessaire simple est U 1 (puisque EDF est e e e optimal parmi tous les ordonnancements non oisifs). Dans [LL73], la condition susante suivante sur la faisabilit dun ensemble de e tches priodiques synchrones est montre, qui suppose laectation des priorits suia e e e vant RM ou DM :
N

h
i=1

1 Ci N.(2 N 1) min(Di , Ti )

(3.3)

Cette condition susante est adapte dans [SLL93] pour le cas o` i, Di Ti par e u modication de lalgorithme RM a 2 sries de priorits, et scrit U 1 dans le cas ` e e e particulier de tches harmoniques (la condition devient alors ncessaire et susante). a e Dans [LL73], il est galement montr la proprit fondamentale selon laquelle la e e ee pire conguration de tches priodiques non-concr`tes (i.e. les pires temps de rponse) a e e e est obtenue pour le premier travail des tches lorsque toutes les tches sont actives a a e au mme instant (instant critique, correspondant a un ensemble de tches synchrones). e ` a e Il en dcoule que la condition 3.3 reste une condition de faisabilit susante pour des e ensembles de tches priodiques non-concr`tes ou sporadiques. a e e Une premi`re condition pseudo-polynomiale ncessaire et susante pour lordone e nanabilit de tches priodiques non-concr`tes ou sporadiques est donne dans [LSD89]. c e a e e e Cette condition, appele TDA (pour Time Demand Analysis), fait intervenir une fore mulation de la demande en ressource processeur pour chaque tche, est valable pour le a cas simple i, Di Ti avec aectation des priorits quelconque, et scrit : e e
i

i [1 N ], min

0<tDi

j=1

t Cj . t Tj

(3.4)

De par la variation par palier de la demande en ressource processeur (au gr des e activations), on peut remarquer quil sut dvaluer lquation 3.4 en un nombre ni de e e Ti valeurs pour le param`tre t (en loccurrence lensemble S i = {kTj |j i, k = 1 Tj }). e Une condition ncessaire et susante quivalente, mais plus utilise, pour la faisabie e e lit de tches priodiques non concr`tes ou sporadiques est donne dans [JP86, Tin92a, e a e e e Bur94]. Elle repose sur le calcul du temps de rponse pire cas rt i des tches, sintitule e a RTA (pour Response Time Analysis), et scrit i, rt i Di . Le calcul de rti ne suppose e pas daectation des priorits particuli`res, et peut se calculer sans hypoth`se sur la e e e relation entre les Ti et les Di . Dans le cas o` i, Di Ti [JP86], rti se calcule en prenant en compte les inu terfrences venant des tches de priorit suprieure : cest un calcul itratif qui vise e a e e e a largir un intervalle de temps jusqu` ce que celui-ci contienne a la fois le temps ` e a `

Ordonnanceurs a priorits simples ` e

35

dexcution de i , et les interfrences par les tches de priorit suprieure (i.e. pour e e a e e w une fentre de taille w, cette interfrence scrit e e e j<i Cj . Tj ). Lorsque U 1 et 3 : i, Di Ti , rti est ainsi le point xe de la suite rti k 1, rti
(0)

= Ci = Ci +
j<i

(k)

Cj .

rti Tj

(k1)

(3.5)

Dans le cas gnral [Tin92a, Bur94] (tches priodiques non concr`tes o` sporae e a e e u diques, Di et Ti non relis), il faut en plus prendre en compte les interfrences de i e e avec elle-mme quand Di > Ti (i.e. dans ce cas, plusieurs travaux de i peuvent tre e e prts a sexcuter en mme temps). e ` e e Lorsque les tches priodiques sont concr`tes, ces conditions dordonnanabilit a e e c e deviennent susantes seulement. En eet, lorsque les dates dactivation des premiers travaux des tches font que les tches ne sont jamais actives simultanment, le temps a a e e de rponse pire cas qui se manifeste eectivement peut tre strictement plus petit que e e celui calcul dans les formules ci-dessus, qui consid`rent le pire temps de rponse toutes e e e e congurations confondues. Dans [Aud91], en plus de dnir laectation optimale des priorits, on prsente a la fois un test qui permet de savoir si lensemble des tches e e ` a concr`tes peut ou non tre synchrone a un moment donn (auquel cas les conditions e e ` e prcdentes sont ncessaires et susantes), et le test de faisabilit de lensemble de e e e e tches qui tient compte des dates de dmarrage des premiers travaux. a e 3.3.3.4 Ordonnancement non premptif a priorit statique e ` e

Dans le cas gnral (Di et Ti non relis) de tches priodiques non concr`tes ou e e e a e e sporadiques, [GRS96] donne une condition ncessaire et susante dordonnanabilit e c e dun ensemble de tches, analogue a RTA. Il y est galement montr que laectation a ` e e des priorits suivant RM ou DM nest plus optimale dans le cas non-premptif (sauf si e e i, Di Ti et i = j, Di < Dj Ci Cj ), mais que laectation optimale pour le cas e premptif donne dans [Aud91] reste optimale dans le cas non premptif non oisif. e e 3.3.3.5 Autres ordonnancements a priorit statique ` e

Les travaux [WS02, WS99a, GP96] proposent un mod`le de tches a priorit statique e a ` e intermdiaire entre le premptif et le non premptif qui permet dallier lintrt des deux e e e ee mthodes. Il sagit dassociser a chaque tche deux priorits : la priorit de la tche tant e ` a e e a quelle na pas commenc son excution (le seuil de premption ou preemption threshold e e e en anglais), et la priorit i quand elle a commenc son excution. Les cas premptif e e e e et non premptif sont des cas particuliers avec un seuil de premption respectivement e e de i et 0. Ces travaux proposent a la fois un test de faisabilit, et un algorithme ` e daectation optimal polynomial des seuils de premption. e

Cette suite admet un point xe d`s que e

Cj ji Tj

1, or ceci est vrai puisque

Cj ji Tj

U 1.

36

Ordonnancement et Analyse dordonnancement

3.3.4

Limitations

Les conditions de faisabilit qui ont t formules ci-dessus supposent un mod`le de e ee e e syst`me monoprocesseur idal assez restrictif. En particulier : e e Toutes les tches sont priodiques ou sporadiques, et supposes connues avant a e e lexcution du syst`me. e e Toutes les tches ont un temps dexcution exactement connu avant excution, a e e toujours gal a leur temps pire-cas. e ` Dans le cas premptif (avec tches indpendantes), cette limitation peut e a e tre supprime : les tches peuvent terminer avant leur temps dexcution e e a e pire-cas. Dans le cas non-premptif non oisif, la terminaison plus tt dune tche peut e o a conduire au cas pathologique (on parle danomalie) illustr gure 3.4, mme e e si le syst`me est ordonnanable lorsque les temps dexcution pire cas sont e c e considrs. ee

Violation decheance

T2

T1

T3

10

11

12

T3

T2

T1

10

11

12

(a) Ordonnancement faisable (temps dexcution e pire cas pour toutes les tches) a

(b) Violation dchance si la tche 3 est plus e e a courte que le temps pire-cas

Fig. 3.4: Anomalie dordonnancement par terminaison plus tt en non premptif (oro e donnancement de type EDF ou DM) Aucun mcanisme de synchronisation nest considr. e ee Les tches sont supposes sans relation de prcdence. a e e e Les surco ts inhrents au matriel (i.e. temps de changement de contexte par u e e exemple) et/ou lis a lexcution des services du syst`me dexploitation (dont e ` e e ceux de lordonnanceur) sont ngligs. e e Les activations des tches priodiques sont supposes tre faites a la granularit a e e e ` e de lhorloge syst`me. e Comportement binaire (totalement faisable/non faisable) : aucune mesure de qualit daucune sorte nest formule lorsque le syst`me nest pas faisable. e e e Les ordonnancements considrs sont non-oisifs. ee

Ordonnanceurs a priorits simples ` e

37

Dans les paragraphes qui suivent, nous prsentons les direntes extensions qui ont e e t apports aux ordonnancements a priorit que nous venons de dcrire, et qui visent ee e ` e e a supprimer tout ou partie de ces limitations. `

3.3.5
3.3.5.1

Extensions
Extensions du mod`le de tches e a

Gigue dactivation En pratique, entre la date o` une tche priodique doit tre thoriquement active, u a e e e e et la date relle a laquelle la tche est mise dans la le des tches prtes a tre excutes, e ` a a e `e e e il peut y avoir un dlai variable d par exemple a la rsolution de lhorloge syst`me e u ` e e (en particulier pour un mode de fonctionnement de type tick scheduling, dans lequel les tches ne peuvent dmarrer que lors des ticks dhorloge), aux surco ts induits par les a e u dcisions dordonnancement, ou au temps de gnration dun message ncessaire avant e e e e le commencement de la tche. Les conditions de faisabilit donnes ci-dessus ne sont a e e alors plus susantes. Des extensions a ces conditions existent pour prendre en compte une telle gigue. ` Le principe est de ramener la gigue a un temps de blocage (voir 3.3.6). Ainsi, pour ` lordonnancement premptif a priorit xe, RTA est tendu pour supporter la gigue e ` e e + 93, Tin92a, Bur94]. Le mme type dextension existe pour les ordonnancements e [ABR a priorit dynamique [Spu96]. ` e Contraintes de prcdence e e En ce qui concerne lordonnancement premptif a priorit dynamique, [Law73] proe ` e pose un algorithme qui minimise le retard maximal tout en prenant les contraintes de prcdences en compte (Latest Deadline First). Le principe est de laisser en attente e e une tche prte a tre excuter tant que sa/ses prcdences na/nont pas t valide(s). a e `e e e e ee e Pour lordonnancement suivant EDF, la prise en compte des contraintes de prcdence e e peut se faire par modication des chances relatives [HMT90, SS93, Jef92]. Lordone e nancement rsultant est alors optimal vis a vis des ordonnancements premptifs non e ` e oisifs qui prennent en compte les prcdences [HMT90]. e e Une anomalie est remarquable quand lordonnancement est a priorit xe : suivant ` e laectation des priorits, la terminaison en avance dune tche peut rendre non ordone a nanable un syst`me qui tait ordonnanable lorsque les temps dexcution taient tous c e e c e e considrs toujours gaux au temps pire-cas. La gure 3.5 propose une illustration. ee e On peut galement remarquer que lajout de contraintes de prcdence peut rendre e e e ordonnanable un syst`me qui ne ltait pas. La gure 3.6 propose une illustration. c e e Des travaux [Tin94, Tin92b, Tin93, ATB93] se sont attachs a tendre les conditions e `e de faisabilit RTA de mani`re a intgrer des contraintes de prcdence (sous la forme e e ` e e e dun dlai minimal incompressible entre lactivation dune tche et celles de ses succese a seurs : notion de transaction) avec prise en compte des terminaisons en avance sous la forme dune gigue dactivation en aval des prcdences. Dautres tudes sintressent e e e e a des cha ` nes de tches (i.e. 0 ou 1 tche prc`de 0 ou 1 tche) et vrient le respect a a e e a e

38

Ordonnancement et Analyse dordonnancement

Violation decheance T3 T3

T4

10

11

12

13

14

15

16

17

18

T4

contrainte de precedence non validee

contrainte de precedence non validee


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Ci Di = T i i

1 5 18 1

2 2 6 2

3 1 18 0

4 5 18 3

T1

T2

(a) Temps dexcution gal au e e WCET

T2

T1

(b) 1 termine en avance

Fig. 3.5: Contrainte de prcdence 3 e e

4 et dates de terminaison

T1

T1

Violation decheance T3 T3

contrainte de precedence non validee


1 2 3 4 5 6

Ci Di Ti

1 1 4 6

2 2 3 3

3 1 4 6

T2

(a) Sans prcdence : infaisable e e en priorit statique (ici aectae tion DM)

Fig. 3.6: Contraintes de prcdence et ordonnanabilit e e c e

T2

(b) Prise en compte de la prcdence 1 e e 3 (ici aectation 1 = 0, 2 = 1, 3 = 2)

Ordonnanceurs a priorits simples ` e

39

des contraintes temporelles parmi tous les entrelacements des cha nes possibles (ou sur un sur-ensemble plus simple) [SNF98] et en tenant compte des variations des temps dexcution [RRGC02, SGL97]. e Mod`les de tches plus riches e a Certains travaux sintressent a des mod`les de tches plus complexes avec les ore ` e a donnanceurs a priorit statique et dynamiques simples. Comme par exemple : ` e des tches priodiques de faon sporadique : une tche est priodique avec une a e c a e courte priode pendant un intervalle donn, puis cet intervalle se rp`te de faon e e e e c sporadique. Des travaux existent pour prendre en compte ce mod`le de tche en e a priorit statique par RTA [Tin93, ABR+ 93, Tin92a] et dynamique [Spu96]. e des tches caractrises par une frquence dactivation (mod`le de Rate Based a e e e e Execution en anglais). Le prol dactivation dune tche correspond a la dnition a ` e dune densit dactivation de la tche (une borne suprieure sur le nombre dace a e tivations de la tche dans une fentre glissante de temps donne). Dans [JG99], a e e une condition ncessaire et susante dordonnanabilit est donne pour un ore c e e donnancement suivant EDF, et il est montr quaucun ordonnancement a priorit e ` e xe ne peut ordonnancer de telles tches. a des tches avec chance avant la n de la tche, cest a dire que la tche est en a e e a ` a deux morceaux : les traitements utiles qui doivent se terminer avant une chance, e e et des oprations de maintenance excutes immdiatement apr`s (prise en compte e e e e e des co ts de premption par exemple, ou de libration des ressources syst`me). u e e e e Les travaux [Bur93, Tin93] proposent une extension de RTA pour intgrer ce mod`le de tches en ordonnancement a priorit statique. e a ` e des tches qui peuvent avoir des temps dexcution qui suivent un motif donn (i.e. a e e ce sont des vecteurs plutt que des scalaires) : le mod`le multiframe. Les travaux o e [MC96b, MC96a] et [BCM99] proposent dtendre respectivement la condition e de faisabilit 3.3 et RTA pour supporter ce mod`le dans lordonnancement RM. e e Ce mod`le multiframe est lui-mme gnralis dans [BCG+ 99] an de supporter e e e e e des tches dont les chances relatives et les priodes sont elles mme variables a e e e e suivant un motif, et une condition ncessaire et susante de faisabilit par RTA e e est propose. e des tches qui peuvent tre constitues de sous-tches avec des chances relatives a e e a e e internes et des prcdences : cest le mod`le de tches rcurrent de [Bar98]. Une e e e a e condition susante de non faisabilit en premptif y est donne. e e e 3.3.5.2 Prise en compte des co ts syst`me et matriels u e e

Prendre en compte les interruptions matrielles peut se faire en les modlisant sous e e la forme de tches de haute priorit. Prendre en compte les changements de contexte a e (premptions) peut se faire en rajoutant le co t du changement de contexte (dont e u lestimation non pessimiste est un domaine de recherche actif) soit au temps pire-cas de

40

Ordonnancement et Analyse dordonnancement

chaque tche, soit au temps pire-cas des tches qui peuvent tre premptes (ce qui est a a e e e possible avec les algorithmes a priorit xe, mais pas avec ceux a priorit dynamique). ` e ` e En ce qui concerne lordonnancement a priorit dynamique (premptif et non` e e premptif), les travaux de [JS93, Jef92] et [SP97, Spu96] int`grent le surco t des intere e u ruptions matrielles indpendantes des tches du syst`me, dans la condition 3.2 fonde e e a e e sur la demande en ressource processeur. En ce qui concerne lordonnancement a priorit xe, les travaux de [JS93] et [SNF98] ` e indiquent comment intgrer le surco t des interruptions matrielles dans TDA et RTA e u e respectivement. Le document [KAS93] dtaille comment intgrer dirents surco ts e e e u xes pire-cas (tels que le co t des premptions, de lordonnanceur) dans TDA en tick u e e scheduling (aisment transposable a RTA). Les travaux [Tin93, BWH93] prcisent come ` ment intgrer les surco ts lis a linterruption dhorloge pour du tick scheduling, en e u e ` tenant compte de la dure dexcution variable de lordonnanceur, qui est fonction du e e nombre de tches a activer a chaque interruption. a ` ` 3.3.5.3 Extensions du mod`le de syst`me : fonctionnement par phases e e

Pour certains syst`mes, les tches nont pas toutes besoin dtre prises en compte a e a e ` tout moment. Cest le cas lorsque le syst`me fonctionne par phase : un avion par exemple e aura besoin de certaines fonctionnalits pendant le dcollage, dautres pendant la e e croisi`re, et dautres encore a latterrissage. Des travaux se sont penchs sur lintgration e ` e e de tels mod`les de syst`me pour lordonnancement en plan statique [Foh94, KNH+ 97] e e (recours a un plan intermdiaire de transition immdiat ou dir) et a priorit statique ` e e ee ` e [TBW92b] (extension de RTA) par exemple. Le fonctionnement par phase pose le probl`me de la cohrence dtat global du e e e syst`me lors des transitions, dont la rsolution est une approche propre a chaque ape e ` plication.

3.3.6

Prise en compte des ressources

Lintgration des contraintes de ressources avec les ordonnancements classiques que e nous venons de prsenter soul`ve un certain nombre de probl`mes, qui sont rsolus a e e e e ` laide de protocoles dacc`s aux ressources. e 3.3.6.1 Problmatique e

Comme dans les syst`mes informatiques non temps-rel, le principe est disoler e e lacc`s a une ou plusieurs ressources sous la forme de sections critiques, cest a dire de e ` ` portions de code a lintrieur des tches. ` e a En temps-rel, ceci saccompagne de probl`mes dus au temps de blocage invitable e e e quune tche doit subir d`s quelle demande une ressource possde par une tche de a e e e a priorit infrieure. e e

Ordonnanceurs a priorits simples ` e Anomalie dordonnancement

41

Sans prcaution particuli`re sur lordonnancement en dehors du fait que les contraintes e e de ressource sont prises en compte, la terminaison plus tt dune tche peut rendre ino a faisable un ordonnancement qui ltait lorsque les temps pire-cas taient considrs. Il e e ee e sagit dune anomalie similaire a celle prsente en 3.3.4 et illustre dans la gure 3.7 ` e e (une seule ressource en acc`s exclusif, les traits pais marquent la requte/la libration e e e e de la ressource, les zones hachures marquent la possession de la ressource). e

10

11

12

13

14

15

16

(a) Ordonnancement faisable

(b) Violation dchance si la section critique de e e 3 est plus courte

Fig. 3.7: Anomalie dordonnancement en prsence dune ressource e

Inversion de priorit e Le jeu des conits lis aux ressources peut entra e ner quune tche 1 soit mise en a attente dune ressource possde par une tche de priorit infrieure 3 . Mais cette tche e e a e e a de faible priorit peut tre prempte par une tche 2 de priorit intermdiaire entre e e e e a e e celles de 1 et de 3 , et qui nest pas en conit ni avec 1 , ni avec 3 pour la ressource. Il en dcoule que 1 a en fait t prempte par une tche 2 de priorit infrieure et e ee e e a e e qui nest pourtant pas en conit avec elle. Si ce phnom`ne dinversion de priorit na e e e pas t pris en compte au moment de la conception, des dpassements dchance sont ee e e e possibles, comme cela a t le cas pour le cl`bre dysfonctionnement de la mission Mars ee ee Pathnder [5]. Comme nous le voyons par la suite, des protocoles de prise de ressource existent pour empcher les inversions de priorit. e e Interblocage Ce probl`me nest pas particulier aux syst`mes temps-rel et appara lorsque plue e e t sieurs ressources sont prsentes dans le syst`me. Pour le cas simple a deux tches 1 et e e ` a 2 avec deux ressources en acc`s exclusif R 1 et R2 , il appara lorsque 1 poss`de R1 e t e et 2 poss`de R2 et que 1 et 2 ont a leur tour besoin de R2 et R1 respectivement. e ` Ce type de conguration (une boucle) entra le blocage permanent de 1 et 2 ainsi ne

# 3434 ""## """ ## 34 # "" "" ' 1212 ' ' % % &&& $$ 8 '''&' %%% &&&&'& $$%$ 8 12 '''& %%$ &&&&' $$ & $% 8 () 00 () () () 77 ))))) (((( ()( 0 7
3 4 5 6 7 8 9

!6 56!5 !!! !! !56!

T3

T3

                

T2

T2

               

Violation decheance

T1

T1

10

11

12

13

14

15

16

42

Ordonnancement et Analyse dordonnancement

que la non disponibilt permanente de R 1 et R2 . Ce probl`me est gnralisable sur des e e e e boucles de blocage a davantage de tches et de ressources. ` a Une solution simple pour empcher ce probl`me dappara est dimposer un ordre e e tre dacquisition des ressources arbitraire lors de la phase de conception. Nous verrons que certains protocoles dacc`s aux ressources permettent dviter ce probl`me par dautres e e e voies. 3.3.6.2 Dmarche e

Le probl`me qui se pose en temps-rel en prsence dacc`s concurrents a des rese e e e ` sources, est lintgration, dans les algorithmes dordonnancement a priorit classiques, e ` e dune borne suprieure sur le temps de blocage dune tche par les tches de prioe a a rits infrieures. Les protocoles dacc`s aux ressources ont pour rle de raliser cette e e e o e intgration, en rendant les temps de blocage eectivement borns, et si possible avec e e une borne rduite. e Une fois la borne Bi sur le temps de blocage que peut subir un travail de i dtermine, lintgration dans les conditions de faisabilit permet de valider le come e e e portement temporel correct du syst`me, y compris en prsence de terminaisons de e e tches en avance, et scrit : a e Ordonnancement EDF premptif : e Condition analogue a 3.1 [SS93, Bak91] : `
i

i [1 N ],
k=1

Bi Ck + 1 min(Tk , Dk ) min(Ti , Di )

Condition analogue a 3.2 [SS93] : `


i

t 0 i [1 N ],
k=1

Ck .

t Dk +1 Tk

+ Bi .

t Di +1 t Ti

Il existe galement une condition reposant sur le calcul du temps de rponse e e pire cas par la dtermination de la busy period [Spu96]. e Ordonnancement a priorit xe premptif : ` e e Condition analogue a 3.3 [SRL90] : `
i

i [1 N ],
k=1

Ck Bi + i.(21/i 1) min(Dk , Tk ) min(Di , Ti )

Condition analogue a 3.4 [SRL90] `


i1

i [1 N ], min

0<tDi

j=1

Cj t . t Tj

Ci + B i t

Ordonnanceurs a priorits simples ` e

43

e Condition analogue a 3.5 [Bur94, ABR+ 93, Tin92a] : le temps de rponse ` rti est le point xe de la suite rti k
(0)

= Ci + Bi = Ci + Bi +
j<i

(k) 1, rti

rti Cj . Tj

(k1)

Ces tests sont tous susants seulement (les tches peuvent ne subir aucun blocage en a ralit), et sont plus ou moins pessimistes. e e 3.3.6.3 Protocoles dacc`s aux ressources e

Une premi`re source de blocage qui pose des probl`mes sur la dtermination des e e e bornes de blocage, correspond a linversion de priorit. Si on nutilisait pas de protocole ` e dacc`s aux ressources, alors les temps de blocage seraient considrablement longs (de e e lordre de Bi = i<kN Ck en priorit statique par exemple). e La mthode la plus simple pour rsoudre ce probl`me est dinterdire toute premption e e e e tant quune tche poss`de une ressource. Les temps de blocage sont ainsi parfaitement a e dtermins (le maximum des dures de toutes les sections critiques de toutes les tches e e e a de priorit infrieure), mais trop pessimistes (toutes les tches sont prises en compte, y e e a compris les tches qui ne rentrent pas en conit de ressource avec la tche i considre). a a ee En ordonnancement a priorit statique, un autre protocole simple est le protocole ` e a hritage de priorit (PIP pour Priority Inheritance Protocol) [SRL90], qui vise par ` e e construction a interdire linversion de priorit : quand une tche de priorit L bloque ` e a e un travail dune tche H de priorit suprieure, elle hrite de la priorit H jusqu` ce a e e e e a quelle relche les ressources pour lesquelles H est bloque. Ce protocole exhibe des a e temps de blocage plus petits, mais ne g`re pas les interblocages, et peut entra e ner des surco ts a cause des blocages rpts (blocages en chane) et des premptions associes u ` e ee e e a chaque fois quune tche H est bloque par une tche L. ` a e a Les mmes travaux [SRL90] prsentent un protocole qui rsout ces deux limitations : e e e le protocole a seuil de priorit ou PCP pour Priority Ceiling Protocol. Le principe est ` e dassocier a chaque ressource un seuil de priorit gal a la plus grande priorit parmi ` e e ` e toutes les tches qui peuvent la demander. Lorsquune tche demande une ressource, elle a a nest autorise a la prendre que si sa priorit est suprieure aux seuil de priorit de toutes e ` e e e les ressources acquises par dautres tches. Si la tche demandeuse bloque, elle transmet a a sa priorit (hritage) a la tche qui poss`de la ressource demande. PCP a lavantage e e ` a e e dempcher tout interblocage et de limiter le nombre de blocages (1 blocage maximum e par travail). Mais ceci se fait au prix dun eort dimplantation et de conception plus grand : lalgorithme est relativement dlicat a implanter, et la dnition des seuils de e ` e priorit des ressources implique quon est capable de prciser hors ligne quelle tche a e e a besoin de quelle(s) ressource(s). An dviter toute premption due a des blocages, les travaux [Bak91] proposent e e ` le protocole a priorit de pile (SRP, pour Stack Resource Policy). Avec ce protocole, ` e la tche nest pas autorise a dmarrer tant que toutes les ressources qui lui sont a e ` e

44

Ordonnancement et Analyse dordonnancement

ncessaires ne sont pas disponibles, ce qui a pour eet dviter tout blocage une fois e e que la tche a dmarr (sans toutefois supprimer lventuel blocage avant le dmarrage). a e e e e Le protocole repose sur la notion de niveau de premption x hors-ligne et indpendant e e e du type dordonnancement a priorit (statique ou dynamique). Le protocole maintient ` e pour lensemble du syst`me le seuil de priorit courant, et une tche nest autorise e e a e a dmarrer que si sa priorit est suprieure a la priorit de la tche courante, et si ` e e e ` e a ` son niveau de premption est suprieur au seuil de priorit du syst`me. A chaque e e e e fois que la tche acquiert une ressource, le seuil de priorit du syst`me est aect a e e e a la valeur du plus haut niveau de premption parmi toutes les tches susceptibles ` e a dacquerir la ressource. Avec SRP, le temps de blocage et les contraintes de conception sont identiques a ceux de PCP, mais le nombre de premptions pour cause de blocage ` e est nul : il est alors inutile de se soucier de lacc`s concurrent aux ressources. De plus, e il est possible de considrer des ressources non binaires (telles que des smaphores, ou e e des piles). Ces travaux peuvent galement tre intgrs dans un syst`me avec ordonnancement e e e e e a priorit dynamique [Spu96, SS93, Bak91]. Les travaux de Jeay [Jef92, Jef89] pro` e posent une autre technique, dite par phases, pour lordonnancement en priorit dynae mique. Chaque phase correspond soit a une portion sans acquisition de ressource, soit a ` ` une section critique dirente. Le principe est de modier dynamiquement les chances e e e des tches a chaque changement de phase, de mani`re a reproduire un comportement a ` e ` similaire a SRP : on parle de EDF/DDM (pour Dynamic Deadline Modication). Lau` teur fournit une condition susante dordonnanabilit du syst`me rsultant. c e e e 3.3.6.4 Modes dacc`s aux ressources optimistes e

Plutt que davoir recours a lacquisition dune ressource an de modier une struco ` ture de donnes (telle quune le par exemple), il peut tre intressant (quand cest e e e possible) dutiliser des primitives qui eectuent une srie doprations de faon optie e c miste (i.e. en ne supposant aucun conit), et qui est rpte si il y a eu des conits e ee jusqu` validation des oprations. Lavantage de cette mthode est que pour une srie a e e e doprations relativement courte, les surco ts syst`me sont rduits. Le probl`me est e u e e e quen temps-rel il est important de savoir borner le nombre de fois o` les oprations e u e de mise a jour sont rptes. ` e ee On distingue couramment 2 approches pour ce type de mcanisme optimiste [ARJ95] : e Algorithmes sans attente (wait-free en anglais). Les tches qui ont valid leurs moa e dications aident celles qui sont en train dessayer de valider les leurs, mais qui ny ont pas encore russi. Ce mcanisme peut tre vu comme une forme dinversion e e e de priorit, et induit des co ts dexcution qui peuvent tre importants (copie de e u e e donnes en zone de transit). e Algorithmes sans blocage (lock-free en anglais). Une tche donne recommence dellea e mme la srie doprations de modications tant quelles nont pas t valides. e e e ee e Les travaux [ARJ95] tendent les conditions de faisabilit pour RM et EDF pour les e e algorithmes sans blocage : le principe est de dterminer une borne suprieure sur le e e nombre de fois o` les oprations de modication seront rptes. u e e ee

Ordonnancement avec sous-partie dynamique

45

3.3.7

Choix dingnierie e

` e Par rapport a lordonnancement statique (voir 3.2.3.1), lordonnancement a priorit ` reste une solution simple a implanter, plus souple lorsque des modications sont intro` duites, et est moins gourmande en mmoire. En contrepartie, plus il y a de contraintes e (ressources, prcdences par exemple), moins le processeur peut tre eectivement utie e e lis, et dans certains cas, aucun ordonnancement en-ligne ne peut exister. e Au sein de la famille des ordonnancements en-ligne a priorit, le concepteur doit ` e choisir entre priorit statique et dynamique. Le choix est dautant plus dicile que les e e e direntes extensions aux mod`les simples issus de [LL73] existent en gnral pour les e e deux sous-familles. Les ordonnancements a priorit statique sint`grent tr`s bien dans un syst`me dex` e e e e ploitation sans quil y ait besoin de lui faire grer des contraintes de temps : il sut e que le syst`me dispose dun ordonnanceur a priorit, ce qui est pour le moins courant. e ` e En contrepartie, le seuil dutilisation quil est possible datteindre (i.e. la rentabilit e du processeur) est moins lev quen priorit dynamique. De ce point de vue, il existe e e e des versions mixtes (ordonnancements a priorit statique et dynamique combins) qui ` e e eacent la fronti`re entre ordonnancement a priorit statique et dynamique [Zub98], e ` e et qui permettent de faire un compromis entre rentabilit du processeur et complexit e e dordonnancement en-ligne. Dautre part, en priorit dynamique, lorsquune chance est dpasse, elle aecte e e e e e toutes les autres tches, quel que soit leur niveau de criticit , ce qui peut amener des a e dpassements dchances en cascade non contrls (voir section 3.5). De ce point de e e e oe vue, les ordonnancements a priorit statique ont lavantage de mieux isoler ces fautes ` e (les tches de priorit suprieure a la tche fautive ne sont pas touches), mais moins a e e ` a e encore que les ordonnancements hors-ligne par plan (une tche programme a telle date a e ` sera toujours excute, o` lensemble du syst`me sera arrt, que la tche prcdente e e u e ee a e e ait termin dans les temps ou non). e

3.4

Ordonnancement avec sous-partie dynamique

Un syst`me temps-rel peut tre en charge du contrle dun procd par exemple, e e e o e e et en mme temps avoir a fournir une palette de services sans contrainte temporelle e ` (achage dune interface graphique, excution des services dun syst`me dexploitae e tion gnraliste par exemple [Bar97, GAGB01]), ou avec contrainte temporelle mais e e facultatifs (achage de statistiques sur le procd par exemple). e e On se place toujours dans le cadre des ordonnancements a priorits, et on consid`re ` e e que le syst`me est dsormais constitu dune sous-partie temps-rel strict garantie hors e e e e ligne, comprenant uniquement des tches sporadiques et/ou priodiques ; et dune sousa e partie constitue de tches apriodiques (sous-partie dynamique dans la suite). Lobe a e jectif est de continuer de garantir la faisabilit des tches temps-rel strict, tout en e a e obtenant un temps de rponse le plus petit possible pour les tches apriodiques. e a e En section 3.4.1, nous tudions le cas o` les tches apriodiques sont sans contrainte e u a e temps-rel, puis le cas o` de telles contraintes existent (section 3.4.2). Nous terminons e u

46

Ordonnancement et Analyse dordonnancement

en donnant des amliorations aux mcanismes pour proter de la terminaison plus tt e e o des tches temps-rel strict (section 3.4.3). a e

3.4.1
3.4.1.1

Tches apriodiques sans contrainte de temps-rel a e e


Approches par tches serveurs a

La mthode la plus simple pour prendre en compte les tches apriodiques sans e a e contrainte de temps, est de les ordonnancer lorsquaucune tche priodique/sporadique a e temps-rel strict nest prte. Avec cette mthode (ordonnancement en temps libre ou e e e background scheduling en anglais), les conditions de faisabilit et lalgorithme ordone nancement ne sont pas modis, mais le temps de rponse des tches apriodiques qui e e a e dcoule est long. e An damliorer le temps de rponse des tches apriodiques dans le contexte dun e e a e ordonnancement a priorits, lide est de les faire prendre en charge par une tche du ` e e a syst`me qui poss`de une relle priorit (statique ou dynamique), sans toutefois remettre e e e e en cause lordonnancement des tches priodiques et sporadiques temps-rel strict : a e e on parle de tches serveur . Mme si nous nous intressons ici aux ordonnancements a a e e ` priorits, une technique similaire existe pour les ordonnancements a plans [Foh94, IF99]. e ` Priorit statique e En ordonnancement a priorit statique, les premi`res approches [But97] consid`rent ` e e e une tche serveur priodique de capacit xe re-remplie a chaque dbut de priode a e e e ` e e du serveur, et qui dcro en fonction du temps (mthode a serveur priodique ou e t e ` e polling server en anglais), ou en fonction de lutilisation par les tches apriodiques a e [SLS95] (DS, pour deferrable server). Dans le premier cas, lintroduction du serveur ne modie pas les conditions de faisabilit (le serveur est une tche priodique classique, e a e ordonnanc mme si il na aucune tche apriodique a excuter). En contrepartie, les e e a e ` e tches apriodiques ne sont pas prises en compte quand elles arrivent lorsque le serveur a e a t compl`tement ordonnanc dans la priode courante. Dans le deuxi`me cas, les ee e e e e tches apriodiques y gagnent en ractivit puisquelles sont prises en compte a tout a e e e ` moment dans la priode courante : on parle de serveur avec prservation de la bande e e passante (bandwidth preserving en anglais). Mais lintroduction du serveur perturbe lordonnancement des autres tches temps-rel (le serveur nest pas ordonnanc pendant a e e la priode courante jusqu` ce quil ait une tche apriodique a excuter), ce qui modie e a a e ` e les conditions de faisabilit (lutilisation maximale garantie, analogue a la condition 3.3, e ` est plus faible). Une variante de DS, plus simple et dont les conditions de faisabilit sont analogues e au cas du polling server , est la mthode serveur sporadique [Spr90] o` le serveur est e u une tche sporadique dans laquelle la seule contrainte est que les re-remplissages de la a capacit du serveur sont spars par un dlai dinter-arrive du serveur. En contrepartie, e e e e e le temps de rponse des tches apriodiques est plus compliqu a dterminer. Dautres e a e e` e variantes plus complexes existent, comme la mthode a change de priorit [But97] e ` e e (priority exchange en anglais), qui visent a accumuler de la capacit dexcution tant ` e e

Ordonnancement avec sous-partie dynamique

47

que le serveur na pas de tche apriodique a excuter. La condition de faisabilit est a e ` e e moins dfavorable que DS (lutilisation maximale garantie est plus leve), mais les e e e tches apriodiques ont un temps de rponse plus leve que DS. a e e e e Priorit dynamique e En ordonnancement a priorit dynamique, une premi`re technique est de dclarer ` e e e une tche serveur, de capacit et de priode (ou dlai dinter-arrive, dnissant lchance a e e e e e e e relative) donnes. EDF peut tre utilis pour ordonnancer les serveurs. On peut utie e e liser les mthodes a change de priorit ou de serveur sporadique indiques ci-dessus, e `e e e pour dnir le comportement du serveur [But97]. Dans les deux cas, la condition dore donnancement revient a considrer le serveur comme une tche temps-rel quelconque, ` e a e la ractivit des apriodiques tant dautant plus faible que la priode du serveur est e e e e e grande. Il existe dautres mthodes qui vitent davoir a attendre le dbut de la priode e e ` e e suivante avant de pouvoir excuter la tche apriodique, de faon a rduire leur temps e a e c ` e de rponse. Le principe est de rserver une portion de la capacit du processeur a e e e ` une tche serveur (sa capacit), et de modier en-ligne lchance relative du serveur a e e e suivant la prsence ou labsence de tches apriodiques a excuter, tout en garantissant e a e ` e que les tches temps-rel ne sont pas perturbes. Cest le fonctionnement des serveurs a e e a bande passante donne : TBS [SB94, CLB99, LB00a, SBS95] pour Total Bandwidth ` e Server en anglais (pour des requtes apriodique dont on conna le temps pire-cas), ou e e t CBS [AB98a, ALB99, JG01, LB01] pour Constant Bandwidth Server en anglais (pour des requtes apriodiques quelconques) par exemple. La condition de faisabilit revient e e e toujours a considrer le serveur comme une tche temps-rel quelconque du syst`me. ` e a e e 3.4.1.2 Approches par rquisition de temps creux e

Priorit statique e Il existe une mthode tr`s consommatrice en mmoire, qui minimise le temps de e e e rponse de la premi`re tche apriodique en tte de la le des apriodiques sur le e e a e e e serveur [TLS95] : lordonnancement par rquisition de la laxit [LT94] (slack stealing e e en anglais). Il sagit de maintenir en mmoire un calendrier (la fonction de laxit ), tabli e e e ` chaque instant, le calendrier hors-ligne, et qui couvre une hyperpriode du syst`me. A e e indique la capacit dexcution que le serveur des tches apriodiques est autoris a e e a e e ` prendre au dtriment des tches temps-rel strict, tout en garantissant que les chances e a e e e de ces derni`res restent respectes. Les travaux [DTB93, Dav93] prsentent une version e e e compl`te mais complexe de cette technique, qui calcule la fonction de laxit en-ligne e e (pas de calendrier), ainsi que des versions approches mais moins complexes. e Enn, il existe une mthode aux performances (ractivit des tches apriodiques) e e e a e comparables, dite a double priorit (ou dual priority) [Dav94, GNM99], mais moins ` e co teuse en mmoire et en temps de calcul tant hors-ligne que en-ligne. Elle consiste u e a retarder au maximum les tches temps-rel strict dun retard calcul hors-ligne par ` a e e analyse de temps de rponse (le retard de promotion ou promotion time en anglais) e

48

Ordonnancement et Analyse dordonnancement

si il y a des tches apriodiques prsente. Pour cela, pendant la dure de ce retard a e e e de promotion, les tches temps-rel strict ont une priorit plus faible que les tches a e e a apriodiques qui peuvent tre prsentes, ce qui assure une bonne ractivit des tches e e e e e a apriodiques. An de continuer de garantir les tches temps-rel strict, une fois que le e a e retard de promotion dune tches temps-rel strict est coul, celle-ci retrouve sa prioa e e e rit nominale, suprieure a la priorit de toutes les tches apriodiques ventuellement e e ` e a e e prsentes. e Priorit dynamique e Il existe galement une technique similaire a lordonnancement par rquisition de e ` e la laxit pour EDF [TLSH94]. e

3.4.2

Activations en-ligne de tches avec contraintes de temps-rel a e

Lorsque les tches qui se prsentent dynamiquement au cours de la vie du syst`me a e e ont des contraintes temporelles (traitement exceptionnel avec chance stricte par e e exemple), il est impossible de garantir lordonnanabilit de lintgralit du syst`me c e e e e hors-ligne (cela reviendrait a pouvoir prvoir lavenir). En pratique, le probl`me se ` e e a dcoupe en deux sous-probl`mes relis [MM97] : 1/ lacceptation de la tche, 2/ lore e e donnancement proprement dit. La phase dacceptation a pour rle de vrier que si la o e tche peut tre ordonnance, alors i) ses propres contraintes temporelles sont respectes a e e e en prsence des autres tches dj` prsentes, et ii) il est possible dordonnancer la tche e a ea e a sans remettre en cause les contraintes temporelles des autres tches temps-rel (voir a e ci-dessous). Cette phase est dpendante de lordonnancement. Si ce test dacceptation e choue, la tche est refuse. e a e Tches priodiques et sporadiques a e Si la tche a accepter est priodique ou sporadique, lacceptation consiste en la a ` e vrication des conditions dordonnanabilit donnes en 3.3.3, ou dune variante (comme e c e e ` e [BS93] pour EDF, ou [McE94, RJMO98] pour lordonnancement a priorit statique par exemple). Tches apriodiques a e Si la tche a accepter est apriodique, la technique est de soumettre individuellea ` e ment chaque travail au test dacceptation, et dordonnancer chaque travail suivant une technique telle que celles dcrites en 3.4.1. Le test dacceptation repose sur le calcul e du temps de rponse de la tche apriodique en fonction de toutes les autres tches e a e a dj` prsentes dans le syst`me (dpend de lalgorithme dordonnancement), et consiste ea e e e en la vrication que ce temps de rponse est compatible avec les contraintes tempoe e relles. Une partie de ces travaux [CLB99, LB00a, DTB93] sintressent en plus a la e ` prise en compte du partage de ressources entre les tches temps-rel strict, et celles a e dynamiquement actives. e

Gestion de la surcharge

49

3.4.3

Rcupration de ressources pour favoriser lordonnancement de e e tches actives dynamiquement a e

Lorsque lordonnancement de tches temps-rel actives dynamiquement dpend a e e e dun test dacceptation, il est important de pouvoir compter sur le maximum de ressources disponibles, en particulier en ce qui concerne les ressources processeur. Ceci suppose dtre capable dvaluer prcisment les ressources disponibles et celles ncessaires : e e e e e si lon se limite a ne prendre en compte que les pires comportements des tches en cours ` a (temps dexcution pire cas, frquence dactivation maximale pour les tches sporae e a diques), alors des tches temps-rel dynamiquement actives risquent dtre refuses a a e e e e ` tort. La rcupration de ressources est un mcanisme complmentaire a lacceptation e e e e ` dynamique en-ligne vu prcdemment, qui permet de proter des ressources rserves e e e e pour dautres tches, mais qui sont nalement non utilises (par exemple : abandon a e de la tche de sauvegarde quand la tche primaire dun couple primaire/sauvegarde a a termine correctement), an de limiter le pessimisme introduit par la rservation de e ressource processeur qui avait t faite sur la base dun comportement pire-cas. ee Il existe des mthodes qui ractualisent les ressources disponibles a la n de chaque e e ` tche, pour rcuprer celles rserves mais non utilises [SBS95, LB00a, Dav93]. Il a e e e e e existe dautres mthodes plus prcises, qui mesurent lacclration par rapport au e e ee temps dexcution pire cas, au cours de lexcution de la tche [HS90, MZ93, DTB93, e e a GAGB01] : il sagit de dcouper la tche en sections (milestones en anglais), dont on e a conna le temps pire cas, et encadres par lmission de signaux de reprage envoys t e e e e au syst`me dexploitation par exemple. e Ces techniques sont en gnral accompagnes dun mcanisme de repchage des e e e e e tches refuses (ou second chance en anglais) : lorsque la rcupration des ressources a e e e lib`re susamment de ressources, il peut tre possible dordonnancer une tache dynae e miquement actives qui avait t prcdemment refuse et mise dans la le de repchage e ee e e e e (reject queue en anglais).

3.4.4

Probl`mes relis e e

La contention sur la ressource processeur parmi les tches temps-rel qui arrivent a e dynamiquement, pose le probl`me de larbitrage entre les tches a accepter, refuser, ou e a ` abandonner lorsque le syst`me entre en situation de surcharge (ressource processeur e e e insusante). Nous verrons en 3.5 quels sont les probl`mes soulevs, et comment ils peuvent tre traits. e e

3.5

Gestion de la surcharge

Lorsque les ressources ncessaires pour excuter les tches du syst`me sont plus e e a e importantes que les ressources disponibles (en particulier les ressources processeur), le syst`me entre en phase de surcharge. Le phnom`ne de surcharge peut tre li a un e e e e e ` fonctionnement anormal du syst`me, rsultat dun comportement non prvu de lene e e vironnement (activation de tches sporadiques sans respect du dlai minimal dintera e

50

Ordonnancement et Analyse dordonnancement

arrive par exemple), ou du syst`me (temps dexcution rels suprieurs aux temps e e e e e pire-cas spcis, surco ts du syst`me dexploitation ou du matriel sous-estims ou e e u e e e msestims). Le phnom`ne peut aussi tre le rsultat dune dcision de ralisation, e e e e e e e e comme la prise en compte de tches temps-rel apriodiques par exemple, ou la volont a e e e de considrer des temps dexcution moyens plutt que des temps pire-cas dans lore e o donnancement (an de limiter le surdimensionnement du syst`me, quand par exemple e le comportement au pire-cas nest pas raisonnable, comme pour un mcanisme dalloe cation mmoire par exemple). e Si aucune prcaution nest prise, la consquence dune surcharge est que certaines e e tches ne respectent pas leur chance, et le syst`me peut scrouler : les tches qui a e e e e a manquent leur chance retardent les autres qui a leur tour manquent leur chance. e e ` e e Cest leet domino [SSDB94] particuli`rement sensible avec un ordonnancement de e type EDF, puisque celui-ci fonde ses dcisions dordonnancement sur la proximit de e e lchance de la tche, donnant ainsi plus grande priorit a la tche qui est en train de e e a e` a manquer son chance. e e En amont de la surcharge, il est possible dliminer une partie des risques. Par e exemple, il est possible de ltrer les vnements gnrs par lenvironnement, pour ne e e e ee pas quils dpassent une certaine frquence dapparition [Sta94]. Mais cette approche e e nest pas forcment compatible avec le syst`me considr. e e ee En prsence de surcharge, la solution pour contrler le comportement du syst`me e o e est de borner ou de diminuer les besoins en ressources. Cela suppose : Quon est capable de dtecter en-ligne le commencement de la surcharge. Ce e probl`me est NP-complet [BHR93] dans le cas gnral. Dans certains cas cepene e e dant, il est possible de proter de bonnes proprits des algorithmes dordonnanee cement qui permettent de dtecter le dbut de la saturation du processeur [KS93]. e e Sinon, on fait appel a des approximations qui consistent a mesurer le taux doccu` ` pation du processeur, ou charge de travail, an de prvoir la surcharge (peut-tre e e a tort) [MS95, BBL01]. La formalisation puis la mesure de la charge sont eux` mme des probl`mes en tant que tels, puisquil sagit de tenir compte a la fois des e e ` ressources processeur demandes globalement, et des contraintes temporelles qui e sont locales a chaque tche, et qui participent de la surcharge (pas de surcharge en ` a labsence de contrainte de temps). Par convention, une charge de valeur 1 marque la fronti`re entre absence et prsence de surcharge. e e Quon accepte le fait que le syst`me puisse terminer dautorit une tche si e e a ncessaire. e En aval, une fois la surcharge dtecte ou anticipe, il y a plusieurs mthodes pour e e e e diminuer le besoin en ressource processeur : soit certaines tches sont volontairement a abandonnes, i.e. termines dautorit (dcisions microscopiques) ; soit la structure gloe e e e bale du syst`me est modie, i.e. le syst`me est recongur (dcisions macroscopiques). e e e e e Nous nous intressons maintenant a ces deux voies dtude (sections 3.5.1 et 3.5.2 rese ` e pectivement) dans le cas dordonnanceurs pour le temps-rel strict. En section 3.5.3, e nous indiquons des mod`les de syst`mes qui tol`rent des dpassements dhypoth`ses e e e e e dans certaines limites.

Gestion de la surcharge

51

3.5.1

Ordonnancement sans reconguration

En gnral, on dcoupe le syst`me en deux sous-parties : la sous-partie critique e e e e dnie et garantie hors-ligne, et la sous-partie non critique. La sous-partie critique e nest jamais remise en cause, seule la sous-partie non critique prsente les probl`mes e e de surcharge. Nous nous concentrons ici sur cette sous-partie non critique. On distingue habituellement plusieurs classes dordonnanceurs de cette catgorie : e les ordonnanceurs au mieux (best eort en anglais) sans test dacceptation dans lesquels les tches sont ordonnances jusqu` leur terminaison ou jusqu` dpassement a e a a e dchance ; les ordonnanceurs avec test dacceptation et sans remise en cause des e e tches acceptes (dits aussi a garantie) ; les ordonnanceurs avec excution conditiona e ` e nelle (test a lactivation ou avant dmarrage) et politique de rejet, i.e. abandon (dits ` e aussi robustes). 3.5.1.1 Notion de valeur

Que ce soit pour valuer la qualit dun ordonnanceur en prsence de surcharge, pour e e e donner des garanties numriques sur le comportement du syst`me (tous ordonnanceurs), e e ou pour arbitrer entre les tches a accepter (ordonnanceurs a garantie) ou abandonner a ` ` (ordonnanceurs robustes), il est ncessaire dintroduire les notions dimportance des e tches reprsentes numriquement par des fonctions de valeur , et de valeur globale a e e e dgage par le syst`me, qui dnit la qualit du service eectivement fourni par le e e e e e syst`me. e Les fonctions de valeur associes aux tches peuvent tre par exemple constantes, e a e ou fonction du temps dexcution, ou fonction de la date courante relativement a la e ` date de dmarrage, ou fonction de la dcision qui doit tre prise (acceptation, refus ou e e e e e e abandon ; comme dans [MB97, Del96]). La valeur globale dgage par le syst`me peut a son tour tre la somme des valeurs dgages par chacune des tches, ou une fonction ` e e e a plus complexe [BPB+ 00]. Nous ne considrons pas ici le probl`me dcisionnel li la dnition des fonctions de e e e e e valeur, qui peut lui-mme tre un probl`me complexe [BPB+ 00]. e e e 3.5.1.2 Limites thoriques e

Les travaux de Sanjoy Baruah montrent que pour des fonctions de valeur simples, il existe une limite sur la valeur globale maximale garantie quon peut atteindre avec un algorithme en-ligne, par rapport a ce quil est possible dobtenir avec un algorithme ` dordonnancement optimal qui disposerait de toutes les informations sur les activations de tches a venir, dit ordonnanceur clairvoyant (comme par exemple [AB98b]). Le a ` quotient entre les deux valeurs est le facteur de comptitivit. e e Dans le cas simple o` la fonction de valeur pour une tche est : 1 quand la tche u a a termine dans les temps, et 0 si elle dpasse son chance o` si elle est refuse ou e e e u e abandonne, les travaux [BHS01] montrent que dans le cas gnral, par rapport a e e e ` un algorithme clairvoyant, les algorithmes dordonnancement en-ligne peuvent dgager e

52

Ordonnancement et Analyse dordonnancement

une valeur (appele dans ce cas le taux de russite ou completion count ou hit ratio) e e arbitrairement plus petite (i.e. le facteur de comptitivit vaut 0). e e Des travaux analogues [BKM+ 91], mais qui sintressent a la fonction de valeur qui e ` vaut le temps dexcution eectif en cas de terminaison correcte, ou 0 sinon (dpassement e e dchance, refus ou abandon), montrent que, par rapport a un algorithme clairvoyant, e e ` la valeur dgage (appele dans ce cas lutilisation!eective du processeur ou EPU) e e e maximale garantie par un algorithme en-ligne ne peut pas tre plus du quart de la e valeur dgage par un algorithme clairvoyant : le facteur de comptitivit est 1/4, ce e e e e facteur tant dautant plus lev que la surcharge est faible (0.4 quand la charge tend e e e vers 1+ , et bien s r 1 quand la charge est infrieure a 1). Ces travaux traitent galement u e ` e du cas plus gnral o` la valeur dgage par lexcution correcte dune tche est fonction e e u e e e a du temps dexcution pondr par un facteur dimportance de la tche. e ee a Les travaux [BH97] tendent cette tude en sintressant a lvolution du facteur de e e e ` e e comptitivit en fonction de du quotient echeance (qui gure la laxit) minimal parmi e e WCET toutes les tches du syst`me : comme on sy attend, le facteur de comptitivit est a e e e dautant plus lev (tend vers 1) que ce ratio est lev. e e e e 3.5.1.3 Ordonnanceurs au mieux

Avec ces ordonnanceurs, une tche est ordonnance jusqu` son terme, ou jusqu` a e a a dpassement de son chance, de mani`re a borner le besoin en ressources processeur. e e e e ` Cette stratgie peut tre associe a un ordonnancement a priorits classique, ou a e e e ` ` e ` priorits lies a une fonction de valeur. e e ` Dans le paragraphe prcdent, il tait question de garanties strictes sur la vae e e leur quil est possible dobtenir. Avec ce type dordonnancement, beaucoup de travaux sintressent aussi a la valeur moyenne dgage par le syst`me (par simulation ou anae ` e e e lyse probabiliste) avec un ordonnancement donn (par exemple RM, DM et EDF dans e [Gar99], RM pour lapproche Statistical Rate Monotonic Scheduling [AB98d, AB98c], e e ou des ordonnanceurs a priorit dynamique [AB99, BSS95]), tant donnes plusieurs lois ` e statistiques sur les dures dexcution et les dates dactivation des tches, et plusieurs e e a fonctions de valeur. Ce type de travail est une transposition des conditions de faisabilit classiques au e domaine des probabilits : il permet par exemple darmer quun syst`me de tches e e a donn dgagera une valeur moyenne donne. Ceci permet davoir une ide globale sur e e e e la qualit du service moyen fourni, mais sans disposer de garantie stricte sur la qualit e e minimale du service fourni. Ce qui rend ces rsultats adapts en priorit au monde du e e e temps-rel souple. e 3.5.1.4 Ordonnanceurs a garantie et ordonnanceurs robustes `

En gnral, les ordonnanceurs a garantie reposent directement sur le test daccepe e ` tation (tels que ceux voqus en 3.4) : si celui-ci rsussit, la tche est dnitivement e e e a e intgre dans le syst`me. Cest le fonctionnement de GED (pour Guaranteed Earliest e e e Deadline) [BS93], une variante de EDF avec test dacceptation. On pourrait cepen-

Gestion de la surcharge

53

dant imaginer des ordonnanceurs qui refusent une tche alors que le test dacceptation a russit, par anticipation de lactivation prochaine dune tche (sporadique par exemple) e a plus importante. Les ordonnanceurs robustes sont souvent des ordonnanceurs a priorit classiques, ` e avec test dacceptation, et dans lesquels la politique de rejet nest active quen cas de e refus dune tche : quand le test dacceptation choue, lordonnanceur tente dabandona e ner une ou plusieurs tches de moindre importance. Cest le fonctionnement de RED a (pour Robust Earliest Deadline) [BS93], une variante robuste de GED. Dautres ordonnanceurs robustes ne reposent pas sur un test dacceptation, mais sur un test de dmarrage, comme Dover [KS93] qui est issu de EDF. Dover repose sur e une proprit fondamentale de EDF qui lui permet didentier la saturation transitoire ee du processeur (i.e. un risque de surcharge) au dmarrage dune tche, auquel cas le e a dmarrage est conditionn par un test qui optimise la valeur dgage a hauteur de la e e e e ` e e e e limite thorique donne dans [BKM+ 91] et voque prcdemment. e e

3.5.2

Ordonnancement avec reconguration

Les ordonnanceurs de ce type sont capables de passer dune conguration du syst`me e a une autre. Une conguration peut tre un ensemble de tches dni hors-ligne, ou ` e a e dni en-ligne : le syst`me est constitu dune srie de services ; un service tant une e e e e e fonction particuli`re du syst`me ou un groupement de tches tabli par un algorithme e e a e e spcialis [IMR96]. Chaque service peut tre rendu avec une plus ou moins grande e e qualit, ou direntes contraintes en ressources, en prcdences, en temps, par des e e e e ensembles de tches dirents ayant chacun leur co t dexcution. a e u e Ce type dordonnanceur repose sur deux mcanismes : e un mcanisme de suivi de ltat courant du syst`me, avec dtermination de la e e e e conguration la mieux adapte a la charge du processeur courante, ou a ses e ` ` volutions. e un mcanisme de changement de conguration. e Ainsi, dans lapproche FERTS par exemple [BSS94, GSSR97], lapplication est compose dentits (i.e. FERTs, ou services), et chaque entit peut correspondre a plusieurs e e e ` sries (compositions) de modules (i.e. tches) : les stratgies (i.e. conguration) de e a e chaque entit. Le syst`me ne prend pas les dcisions de changement de conguration e e e a lchelle de la tche, mais a lchelle de lentit. Lorsquune entit est active, en ` e a ` e e e e fonction de ltat courant du syst`me, la stratgie la plus adapte pour lentit est e e e e e choisie. Les travaux [Del96] prsentent une approche similaire : la politique dabandon de e tches en cas de refus dune tche est dnie par le concepteur sous la forme dun coma a e posant logiciel ddi : le rgisseur . Mais en plus, pour les tches priodiques, plusieurs e e e a e congurations globales du syst`me (ensemble de tches), ou phases, sont dnies horse a e ligne. Le concepteur fournit un automate pour passer dune conguration a lautre, et ` cest le rgisseur qui dcide de changer ltat de lautomate (i.e. des tches a ordone e e a ` nancer) en fonction de la charge courante. Malheureusement, la notion de phase pose deux probl`mes : e

54

Ordonnancement et Analyse dordonnancement la transition dune phase a lautre ne doit pas laisser le syst`me dans un tat ` e e incohrent. En particulier, pour tous les services du syst`me qui sont synchroniss e e e par ressources ou qui ont des contraintes de prcdence, il est important que e e la transition se fasse de faon correcte (libration des ressources, validation des c e contraintes de prcdence sur la phase a terminer). e e ` la transition dune phase a lautre doit tre justie. En eet, elle nest pas ` e e immdiate. Il faut donc dune part prendre en compte les surco ts et les dlais e u e induits par ces mcanismes, et dautre part tre assur quune fois la transition e e e eectue, ltat courant rsultant est compatible avec la phase introduite (au e e e moins en ce qui concerne les contraintes temporelles). Sinon il y a instabilit de la e conguration : au pire, les tches de la nouvelle phase dpassent leurs contraintes a e temporelles ; et au mieux le syst`me retourne a la phase prcdente, induisant e ` e e des oscillations entre phases. Une solution pour viter ce probl`me est dintroduire de la marge dans les dcisions e e e de changement de phase (phnom`ne dhystrsis) : il sagit de dnir le compore e ee e tement temporel dun changement de phase, et dassurer hors-ligne, que pendant cet intervalle et tant donn les hypoth`ses faites sur le comportement de lene e e vironnement, les param`tres de dcision pour le passage dune phase a lautre e e ` nvolueront pas dans le sens de ltablissement dune autre phase, ou du retour e e a la prcdente. ` e e

Des travaux avec le syst`me distribu ordonnanc par plans statiques Maruti [SdSA95] e e e rsolvent le probl`me de la cohrence en tablissant a lavance une srie de points o` e e e e ` e u les changements de reconguration peuvent se faire. Dautres travaux avec le syst`me e distribu ordonnanc par plans statiques MARS [KNH+ 97] rsolvent galement ce e e e e probl`me, en reposant pour cela a la fois sur lexistence dune phase de transition e ` entre 2 modes adjacents (le mode prcdent, et le mode destination), et sur le fait e e que lordonnancement est command par le temps, an dassurer la synchronisation e des changements de mode. Cependant, il reste toujours le danger de linstabilit au e changement de phase, que le concepteur doit continuer de traiter.

3.5.3

Extensions au mod`le de tche e a

Il existe des mod`les qui int`grent directement le fait que des tches puissent tre e e a e totalement ou en partie abandonnes, et ceci avec garantie en-ligne, ou hors-ligne d`s e e la phase de validation par analyse de faisabilit. e Ainsi, il existe des mod`les pour lesquels la spcication doit prciser quels travaux e e e dune tche peuvent tre supprims : a e e Le mod`le a perte sporadique (ou skip-over en anglais) [KS95, CB97] : un travail e ` est autoris a tre abandonn au maximum toutes les x activations (x spci). e`e e e e Dterminer la faisabilit dun ensemble de tches de ce type est NP-dicile, car e e a il consiste en le choix des travaux a refuser prventivement a la surcharge, ce qui ` e ` est analogue au probl`me de dtection de surcharge. Par contre, des heuristiques e e simples qui tendent EDF et RM de faon pseudo-polynomiale existent. e c

Gestion de la surcharge

55

Le mod`le avec pertes contraintes par fentre (ou window-constrained en anglais) e e [MW01] consid`re des tches priodiques telles que, pour une fentre rpte e a e e e ee priodiquement de k priodes, m travaux (m k) doivent respecter leur chance. e e e e Dans le cas gnral, le probl`me de faisabilit est galement NP-dicile. Cepene e e e e dant, le cas particulier o` toutes les tches ont mme WCET poss`de a la fois u a e e ` une condition de faisabilit polynomiale, et un algorithme dordonnancement ape propri. e Le mod`le avec frquence de pertes contrainte (ou weakly-hard en anglais) [Nic98, e e BBL01] est assez proche du mod`le prcdent, a la dirence quil consid`re e e e ` e e des fentres glissantes : n travaux (ventuellement successifs) parmi m succese e sifs respectent (ou ne respectent pas) leur chance. En ce sens, il sagit dune e e gnralisation du mod`le a perte sporadique. Un test de faisabilit non polynomial e e e ` e existe, qui est adapt a lordonnancement a priorit statique. e` ` e Il existe des mod`les o` seule une partie de la tche est garantie hors-ligne, lexcution e u a e du reste dpendant de la charge du syst`me : e e Le mod`le de calcul imprcis (ou imprecise computation en anglais) [LLS+ 91] e e consid`re des tches qui sont en deux parties : une partie dont lexcution core a e recte est garantie hors-ligne, et une partie facultative dont lexcution peut tre e e abandonne en cours dexcution si besoin : par dnition, lerreur dexcution e e e e est dautant plus grande que la partie facultative est abandonne tt, et est dnie e o e par la fonction derreur . Avec ce mod`le, la problmatique est de minimiser lere e e e reur totale [LLS+ 91], ou lerreur maximale [SL95] avec des algorithmes drivs de RM ou EDF. Cependant, Baruah [BH98] montre que, dans le cas gnral, la e e valeur quil est possible de dgager avec un tel mod`le (les parties garantie et fae e cultative ont chacune une fonction de valeur constante) peut tre arbitrairement e plus faible que la valeur maximale thorique (i.e. le facteur de comptitivit vaut e e e 0). Le mod`le a transformation de tche (ou transform-task ) [TDS+ 95], consid`rent e ` a e des tches dont une partie est garantie hors-ligne, et le reste est ordonnanc a e au mieux dans un serveur pour tche apriodique. La problmatique est de a e e dterminer hors-ligne [TDS+ 95], ou de mesurer par simulation [GL99, Gar99], la e probabilit de dpassement dchance en fonction de la distribution des dures e e e e e dexcution de la partie ordonnance par serveur, suivant le type de serveur et la e e politique de service des requtes dans le serveur (FIFO, DM par exemple). e Le mod`le a exception (taskpair scheduling ou TPS) [Str95, Net97], qui est la e ` dmarche inverse du mod`le a calcul imprcis : une tche (dite tche principale) e e ` e a a est associe a une tche fantme (dite exception). Lexception nest excute que si e ` a o e e la tche principale sapproche trop de son chance : la tche principale est abana e e a donne au prot de lexception quand la date de dmarrage au plus tard de lexe e ception est atteinte. Ainsi, lexception est toujours garantie (par test dacceptation ou hors-ligne), par contre la tche principale ne lest pas. Ce mod`le permet disoa e ler les fautes temporelles et de garantir un fonctionnement minimal. Ce mod`le e est galement compatible avec une connaissance non s re des temps dexcution e u e

56

Ordonnancement et Analyse dordonnancement de la tche principale (par exemple statistique [GS96, NGM01, NG97b], ou par a instrumentation et extrapolation [SG97a, NGS97, NG97a, NGM98, SG97b]).

3.6

Extensions du mod`le de syst`me e e

Nous avons prsent les mthodes dordonnancement classiques en temps-rel. Il e e e e existe cependant dautres approches qui reposent sur dautres mod`les du syst`me e e concernant lordonnancement. Les deux sections qui suivent abordent deux mod`les e de syst`mes dirents : syst`mes fonds sur un ordonnancement uide (section 3.6.1), e e e e et syst`mes fonds sur une hirarchie dordonnanceurs (section 3.6.2). e e e

3.6.1

Ordonnancement uide

En mati`re dordonnancement dynamique, dans les paragraphes prcdents, le syst`me e e e e dexploitation fait appel aux dcisions dordonnancement uniquement lorsque la struce ture du syst`me est modie : une tche est active, dpasse une contrainte temporelle, e e a e e demande/relche une ressource syst`me, ou se termine. Certains probl`mes dordona e e nancement sont rendus complexes en partie a cause des priodes incompressibles entre ` e deux dcisions dordonnancement (par exemple le calcul du temps de rponse), puisquil e e sagit alors de faire des calculs, des vrications ou des optimisations non linaires. e e + 96, JG01] (proportional fair ), Le mod`le dordonnancement uide, par Pfair [SAWJ e ou PSA [ALB99] (proportional share allocation), sinspire des techniques de partage de bande passante en rseau ou en multimdia (comme dans le syst`me Nemesis [oCCL00] e e e par exemple, qui proc`de par rservation), et a pour but de se rapprocher le plus possible e e dun syst`me linaire, dans lequel le rythme de progression des tches serait rgulier. e e a e Ce mod`le revient a considrer qu` tout moment les tches ont une portion donne e ` e a a e et connue du processeur qui leur est rserve (i.e. un processeur virtuel de moindre e e capacit donne connue) : la fraction de la bande passante de traitement du processeur. e e Et une fois que le rythme de progression est connu, il est possible dassurer que les contraintes temporelles sont respectes. e Le mod`le uide parfait imposerait qu` tout instant le processeur excute une e a e partie de chaque tche, proportionnelle a la bande passante du processeur qui lui est a ` alloue. Ce principe thorique nest pas applicable : en pratique, lordonnanceur est e e appel rguli`rement, toutes les q units de temps (le quantum dordonnancement). e e e e Cependant, en contrepartie a la discrtisation introduite par les quanta de q units ` e e de temps, le rythme de progression dni par lordonnanceur nest pas exactement e constant, mais born de faon s re et connue par lecart temporel@cart temporel (time e c u e lag en anglais), qui correspond a lcart maximal entre les progressions obtenues par ` e excution relle et suivant le mod`le thorique uide parfait. e e e e Dans les mthodes les plus simples rpondant a ces contraintes, le concepteur ase e ` socie un poids absolu i a chaque tche, et lordonnanceur garantit que la tche aura ` a a e une fraction ij de la bande passante du processeur qui lui est alloue. Il existe par exemple une adaptation de EDF, dite EEVDF (pour Elligible Earliest Virtual Deadline First), qui borne lcart temporel a q units de temps, en travaillant dans une e ` e

Extensions du mod`le de syst`me e e

57

chelle de temps virtuelle : dans cette chelle de temps, 1 unit de temps correspond a e e e ` lexcution de toutes les tches de sorte que celles-ci progressent individuellement de i e a units de traitement processeur. Cet algorithme est accompagn dune condition de faie e sabilit analogue a U 1, et peut tre adapt pour tenir compte des terminaisons plus e ` e e tt des tches, ou pour lordonnancement de tches actives dynamiquement (via test o a a e dacceptation en-ligne simple). Il existe galement dautres algorithmes tels que WFQ e (Weighted Fair Queueing) ou SFQ (Start Fair Queueing) plus complexes ou avec un cart temporel plus lev. e e e Avec ces algorithmes, le rythme de progression de chaque tche varie en fonction a de i i , donc en fonction de la structure du syst`me (tches actives non termines). e a e e Il existe des variantes qui fonctionnent par allocation, d`s la phase dacceptation (ou e hors-ligne), dune fraction xe de la bande passante de traitement du processeur, e indpendamment du nombre et du poids des autres tches : il sagit de recalculer les e a poids absolus des tches a chaque changement de structure du syst`me (activation ou a ` e ` n de tche) de mani`re a ce que pour chaque tche, ij corresponde a la bande a e ` a j passante alloue. e Linconvnient du mod`le dordonnancement uide est que les surco ts syst`me e e u e sont plus levs : lis dune part aux premptions tous les q quanta de temps (par e e e e interruption), et dautre part aux dcisions dordonnancement qui doivent tre prises e e quoi quil arrive. Cependant, en pratique, ces surco ts demeurent raisonnables parce u que i) les syst`mes dexploitation g`rent une horloge syst`me, donc on peut proter e e e de linterruption dhorloge pour prendre les dcisions dordonnancement, auquel cas le e quanta de temps q correspond a la rsolution de lhorloge syst`me (ou a un multiple) ; ii) ` e e ` les algorithmes dordonnancement pour ce mod`le sont peu co teux (comparables a la e u ` complexit des ordonnancements a tourniquet, ou round-robin en anglais, des syst`mes e ` e gnralistes). e e Lavantage de ce mod`le est quil permet de rsoudre des probl`mes dordonnancee e e ment temps-rel complexes en multiprocesseur, comme nous le verrons en 3.8.2. e

3.6.2

Ordonnanceurs multiples et hirarchiques e

Dans les paragraphes prcdents, nous considrions une application unique, et le e e e syst`me dexploitation tait charg darbitrer entre les besoins en ressources de toutes e e e les tches de faon globale. a c Quelques travaux sintressent cependant aux syst`mes a ordonnanceurs multiples e e ` (ou galement a priorits en couches), cest a dire au cas o` plusieurs ordonnane ` e ` u ceurs doivent cohabiter dans le syst`me. En particulier, les travaux [Mig99] et [Nav99] e prsentent une technique analytique fonde sur le calcul dune borne sur le temps de e e rponse des tches, pour tablir lordonnanabilit lorsque le syst`me est constitu de e a e c e e e plusieurs les dexcution, pour lesquelles la politique dordonnancement peut tre soit e e de type FIFO, soit de type tourniquet (cest le cas de syst`me respectant la norme e Posix 1003.1b). Les travaux sur lordonnancement hirarchique sattachent a rendre le mod`le de e ` e syst`me plus modulaire, dapparence mieux conu, de sorte que le syst`me est compos e c e e

58

Ordonnancement et Analyse dordonnancement

dapplications disposant chacune dune fraction des ressources du syst`me, dont la e ressource processeur. Lide est disoler les besoins et les occupations de ressources e entre applications, y compris au niveau de la gestion des contraintes de temps et des occupations processeur [Sta93a], de la mme mani`re que lest la mmoire par exemple. e e e Pour cela, lapproche est de partager le travail dordonnancement entre plusieurs niveaux hirarchiques. Dans le mod`le le plus simple [WL99a, RH01, CJ98], lordonnane e cement des tches est dlgu a une composante spcialise de lapplication parente ; a ee e ` e e et le syst`me soccupe de lordonnancement des ordonnanceurs des applications. Ce e mod`le dordonnancement hirarchique peut tre tendu a plus de deux niveaux. e e e e ` Dans un tel mod`le, lapplication devient un composant du syst`me charge ellee e e mme de lordonnancement de ses tches, avec les avantages dabstraction et de moe a dularit que cela apporte (aspect bo noire), mais aussi avec toute la dicult de e te e prouver la composition de tels composants vis a vis des contraintes temporelles [RS01]. ` Pour supporter ce paradigme, plusieurs notions sont proposes, qui peuvent tre e e composes dans le syst`me : e e u e Ngociation par propagation [RSH00, LMA88] : o` le syst`me dexploitation e continue de superviser globalement lensemble des ressources et des consommateurs de ressources. Le principe est que chaque composant (tche, application) a ngocie ses ressources (telles que de la capacit processeur) avec le composant e e de niveau hirarchique suprieur, et les demandes remontent jusquau syst`me e e e dexploitation. Le principe fondamental de cette approche est que chaque composant doit tre capable de rassembler le maximum dinformations concernant le e comportement des composants de niveaux infrieurs, ce qui sugg`re la prsence e e e de proprits de rexivit [RSH00]. ee e e Virtualisation [MF02, LB00b, GAGB01] : a chaque application est associe une ` e partie de la capacit de traitement du processeur sous la forme dune tche sere a veur ou par ordonnancement uide, dnissant ainsi une forme de processeur e ctif ddi a lapplication. Lapplication est alors en charge de grer la ressource e e` e processeur ctive qui lui est assigne (on parle de syst`me ouvert). Les travaux e e de [MF02] montrent quon peut obtenir des garanties temps-rel strict avec cette e approche par virtualisation, en associant a chaque application du syst`me deux ` e param`tres temporels, qui dnissent les caractristiques de la ressource procese e e seur virtuelle utilise, et qui servent de contraintes pour garantir les chances e e e dans une composition hirarchique dapplications, de sous-applications, de souse sous-applications, etc... Quelques travaux [BM01, BM02] prsentent un prototype dimplantation incluant e ces deux notions, pour des mcanismes a deux niveaux hirarchiques, fonds sur un e ` e e langage ddi a la dnition des ordonnanceurs. e e` e Etant donn la complexit de prouver le comportement temporel correct de tels e e syst`mes, ils trouvent en gnral bien leur place dans les syst`mes temps-rel souple, e e e e e et peuvent dans ce cas saccommoder dune connaissance minimale, incompl`te, ou e approximative sur les comportements temporels des applications et de leur tches. a

Relchement dhypoth`ses sur lenvironnement et le syst`me a e e

59

3.7

Relchement dhypoth`ses sur lenvironnement et le a e syst`me e

Jusqu` prsent, le syst`me tait conu a des ns de prvention des fautes tema e e e c ` e porelles : il tait admis que toute tche en cours dexcution dans le syst`me avait un e a e e comportement temporel et des besoins en ressources connus d`s la phase de conception, e ou au moment de lacceptation. Nous allgeons maintenant ces hypoth`ses, en considrant des syst`mes pour lese e e e quels toutes les informations sur le comportement temporel de lapplication et de lenvironnement ne sont pas disponibles avant lacceptation des tches. Cela peut tre a e d a une tr`s grande complexit de modlisation (plusieurs centaines de tches inu ` e e e a terdpendantes par exemple) qui empche de caractriser leur comportement. Ou a une e e e ` volont dlibre de ne pas prendre en compte les comportements pire-cas systmatiquement, e e ee e de mani`re a rentabiliser au maximum les ressources syst`me. e ` e Face a ces lacunes, il sagit soit de ramener le comportement rel dans les limites dun ` e e comportement pire-cas identi (principe de ltrage prsent en 3.5), soit de prvoir e e e linformation manquante. Nous prsentons ici bri`vement deux approches dont le rle est de sadapter a e e o ` labsence, avant excution, dinformations utiles aux dcisions dordonnancement. Ces e e mcanismes trouvent largement leur place en temps-rel souple. e e

3.7.1

Approche par prvision e

Le principe de cette approche est que le syst`me observe son propre comportement e selon un certain nombre de mtriques, et utilise ses observations pour prtendre prvoir e e e lvolution du comportement a venir, et ainsi fonder une partie des dcisions (dordone ` e nancement ici) sur ces prvisions. Les informations manquantes sont donc gnres a e e ee ` partir du comportement pass. e En pratique, le fonctionnement consiste en un composant qui dnit le comportee ment a venir dun param`tre a partir des valeurs brutes mesures, de leur drive et ` e ` e e e de leur intgrale : on parle de contrleur PID (pour proportional integral derivative en e o anglais). Ce composant injecte ses rsultats en entre du mcanisme de dcision, et e e e e lensemble forme ainsi une boucle de rtroaction (feedback control en anglais). Le choix e se porte vers le contrleur PID parce quil sagit dun composant dont le comporteo ment (en particulier les conditions de stabilit) a t largement tudi en traitement e ee e e du signal. Ainsi, il existe une extension de EDF (FC-EDF et FC-EDF 2 pour Feedback-Control EDF ) [SLS98, LSA+ 00] qui utilise une rtroaction PID an de prvoir la charge a venir. e e ` Cette prvision conditionne le choix de la version de chaque tche a accepter, pour des e a ` tches qui existent en plusieurs versions. a Il existe galement des extensions de TPS (prsent en 3.5.3) [GS96, SG97a, NG97a, e e e NGM01] qui permettent daner lordonnancement des tches principales, par prvision a e des temps dexcution en fonction des temps dexcution observs dans le pass (stocks e e e e e dans une base de donnes). e

60

Ordonnancement et Analyse dordonnancement

3.7.2

Syst`mes rexifs e e

Le principe de cette approche est symtrique a la prcdente : le syst`me dispose de e ` e e e toutes les informations qui lui permettent de reconstruire de faon prcise linformation c e manquante. Une autre caractristique des syst`mes rexifs est quils sont capables de e e e modier leur propre structure si ils jugent que ltat courant lexige. Cette deuxi`me e e caractristique peut consister en une reconguration du syst`me (voir en 3.5.2), ou en e e la slection de mcanismes dexcution a la vole (comme une stratgie de tolrance e e e ` e e e aux fautes par exemple). Lensemble de ces deux caractristiques peut tre oert par e e le langage dans certains cas, ou sinon elle doit faire partie du mod`le de syst`me. e e Grce a la premi`re proprit, il est par exemple possible de conna lensemble des a ` e ee tre entits (objets, ressources) qui interviendront pendant lexcution dun travail, avant e e lactivation de celui-ci, et en fonction de ltat courant du syst`me (par exemple si e e lactivation des travaux dune tche est modlise par un automate). Ensuite, grce a a e e a ` ces connaissances, il est possible de drouler les tests dacceptation et lordonnancement e [Sta93b]. Ainsi, le syst`me Spring [SRN+ 98], dont lordonnancement est de type plan dye namique, utilise cette approche an de gnrer ses plans : la cha de compilation e e ne hors-ligne extrait le maximum dinformations sur le comportement de chacune des entits. Ces informations permettent galement de vrier automatiquement en-ligne un e e e certain nombre de contraintes de synchronisation. Le mme type de fonctionnement e u e est considr dans [RSYJ97] o` il sagit dutiliser les informations sur les direntes ee entits du syst`me, ainsi que leurs dirents besoins en ressources, pour pouvoir inie e e tier des changements de conguration suivant lvolution des utilisations de ressources, e elles-mmes conditionnes par le comportement de lenvironnement. e e

3.8

Ordonnancement pour syst`mes multiprocesseurs ou e distribus e

Nous considrons ici des syst`mes constitus de plusieurs processeurs qui coop`rent e e e e pour excuter lapplication, et prsentons tr`s bri`vement les probl`mes lis a lordone e e e e e ` nancement dans ce contexte, ainsi que quelques voies pour les rsoudre. e Dans ce qui suit, nous disons quun syst`me est multiprocesseur quand lordonnane cement qui sexcute est unique (i.e. les les dattentes de tches sont partages entre e a e tous les processeurs), et quil est distribu quand lordonnancement est distribu (i.e. e e chaque processeur est en charge de lordonnancement dune partie donne des tches). e a Les dcisions qui m`nent a un choix de conception plutt qu` lautre dpendent du e e ` o a e degr de couplage entre les processeurs : un syst`me a mmoire physiquement partage e e ` e e sera plus naturellement rgi par un ordonnanceur central unique (mod`le multiprocese e seur ci-dessus), quun syst`me architectur sans mmoire partage autour dun rseau e e e e e local. Apr`s avoir prsents quelques dicults lies a lordonnancement de ce type de e e e e e ` syst`mes (section 3.8.1), nous indiquons tr`s bri`vement quelques travaux dans le e e e

Ordonnancement pour syst`mes multiprocesseurs ou distribus e e

61

e domaine de lordonnancement multiprocesseur (section 3.8.2), puis distribu (section 3.8.3).

3.8.1

Problmatique e

Nous lavons vu en 3.2.2.2, dans le schma le plus simple (pas de ressource, pas de e prcdence), aucun ordonnanceur multiprocesseur en-ligne nest optimal [Mok83] (en e e particulier aucune extension multiprocesseur de RM ou de EDF). Par contre, suivant les mod`les de tches choisis, il existe des algorithmes dordonnancement qui permettent e a dordonnancer les tches (mais de faon non optimale), et qui sont accompagns de a c e conditions de faisabilit. e Lordonnancement en multiprocesseur ou en distribu proc`de par consquent au e e e cas par cas, et se heurte a un certain nombre de dicults dans ltablissement des ` e e conditions de faisabilit car, par rapport au cas centralis, il existe un certain nombre e e danomalies [Law83, GFB01], comme par exemple : La terminaison en avance des tches peut rendre infaisable un ordonnancement a qui tait faisable. e Le pire temps de rponse nest pas obtenu lorsque toutes les tches sont dmarres e a e e au mme instant. e

3.8.2

Ordonnancement pour syst`mes multiprocesseurs e

Ce mod`le de syst`me correspond au plus simple envisageable : par rapport a e e ` lordonnancement centralis, il sagit dajouter une tape daectation des tches aux e e a processeurs, et a grer leur migration vers les autres processeurs (en gnral a faible ` e e e ` surco t). u Un cas particulier a ce mod`le correspond a un domaine de recherche particuli`rement ` e ` e actif actuellement : il concerne les multiprocesseurs uniformes. Dans ce mod`le, si un e traitement met c units de temps a sexcuter sur un processeur, ce mme traitement e ` e e demandera s.c units de temps pour sexcuter sur un autre processeur du syst`me, e e e avec le facteur s (la vitesse ou rapidit ) constant et connu. Les multiprocesseurs idene tiques sont un cas particulier de multiprocesseur uniforme : tous les processeurs ont la mme capacit de traitement, i.e. s = 1 pour tout couple de processeurs du syst`me. e e e Dans ce cas, il existe une condition ncessaire et susante pour lordonnanabilit e c e dun ensemble de tches priodiques indpendantes [FGB01, GBF02] (algorithme dora e e donnancement inconnu). Ce rsultat est utilis pour driver une condition susante e e e pour lordonnancement de tches priodiques par une variante de EDF sur multiproa e cesseur. Dans cette variante, si le syst`me comporte m processeurs, a tout instant e ` les travaux prts a tre excuts et de plus haute priorit sont aects aux procese ` e e e e e seurs les plus rapides, jusqu` concurrence de m travaux, et en assurant quun travail a plus prioritaire quun autre est aect a un processeur plus rapide. Cette dnition de e` e EDF introduit par consquent beaucoup de migrations (au rythme des activations et e terminaisons des tches), mais aucune alternative ne semble diminuer ce nombre de a migrations dans le cas gnral [GFB01]. e e

62

Ordonnancement et Analyse dordonnancement

e e ` e Dautres travaux [ABJ01] se sont intresss a lamnagement analogue de RM pour le cas particulier du multiprocesseur identique, et proposent une condition susante pour lordonnanabilit. c e Les algorithmes dordonnancement uide ont galement t tendus au cas multie ee e processeur identique pour des tches priodiques indpendantes [AS99, BGP95, RM00]. a e e Lorsque des contraintes plus complexes sont a prendre en compte (autres ressources, ` prcdences), peu de rsultats existent concernant ces algorithmes simples. En pratique, e e e lordonnancement de tels syst`mes repose sur les mmes mthodes que celles utilises e e e e pour les syst`mes distribus. e e

3.8.3

Ordonnancement pour syst`mes distribus e e

Dans ces syst`mes, il ny a pas un unique mcanisme dordonnancement qui cene e tralise les informations et les dcisions dordonnancement, mais plusieurs (1 par proe cesseur, ou 1 par multiprocesseur). Par rapport a lordonnancement multiprocesseur, ` quatre dicults supplmentaires apparaissent : e e La dicult de maintenir une vision cohrente de ltat du syst`me : assurer e e e e le consensus sur les dcisions dordonnancement introduirait un fort surco t, en e u gnral pas compatible avec les contraintes temporelles. En pratique, chaque ore e donnanceur soccupe de grer un sous-ensemble identi des tches du syst`me, e e a e et en isolement des autres ordonnanceurs. Les co ts de migration sont en gnral levs, ce qui entra que la dcision dafu e e e e ne e fectation est plus dterminante quen multiprocesseur, et quelle peut dicilement e tre remise en cause. e Il est ncessaire de prendre en compte lordonnancement de la ressource de come munication (rseau) entre les processeurs. e Pour les syst`mes critiques, il est ncessaire de prendre en compte la contrainte e e de disponibilit et de abilit du syst`me et du rseau (tr`s sensible a lenvie e e e e ` ronnement au travers des interfrences lectromagntiques par exemple), par des e e e techniques de tolrance aux fautes. e Pour pallier aux complexits thoriques, et aux dicults de ralisation majeures, e e e e en pratique trois voies sont couramment empruntes : lordonnancement statique (pour e la ressource processeur et/ou rseau), lordonnancement avec aectation statique des e processeurs, et direntes heuristiques. e 3.8.3.1 Ordonnancements statiques

Etant donn la complexit du probl`me dordonnancement, il est intressant de la e e e e e relguer hors-ligne (par exemple, dans [EJ00], ou dans les syst`mes Mars [KFG+ 92, e SRG89, Foh94] et Maruti [SdSA95]), ce qui permet de dnir et de valider a la fois les e ` allocations des processeurs et du rseau d`s la phase de conception. e e

Ordonnancement pour syst`mes multiprocesseurs ou distribus e e 3.8.3.2 Ordonnancements avec aectation statique des processeurs

63

Dans ce mod`le, les tches sont regroupes par processeur d`s la phase de concepe a e e tion, et un algorithme dordonnancement driv du cas centralis est employ sur chaque e e e e processeur. Ainsi, il existe des approches qui reposent sur la dnition dun plan au niveau e de lordonnancement pour le rseau (on parle de multiplexage temporel, ou TDMA e pour Time Division Multiple Access). Il sagit ensuite dassocier a chaque mission ou ` e rception de message, une tche sporadique dans chacun des syst`mes communiquant e a e en point a point, et a intgrer ces tches dans le mod`le de syst`me, en intercalant entre ` ` e a e e elles les temps de propagation du messages sous la forme de contraintes de prcdence, e e de temps de blocage, et de gigue de dmarrage. Lorsquil sagit daecter les direntes e e tches aux processeurs pour ce mod`le de syst`me, les travaux [TBW92a] proposent une a e e solution fonde sur une mthode doptimisation globale suboptimale (le recuit simul ). e e e e Les travaux [Nav99] prsentent une approche comparable lorsque les messages sont changs sur un rseau a priorit (bus CAN), et sintressent galement au taux de e e e ` e e e mon respect des chances d a la perte ou a laltration de messages. e e u` ` e Il existe dautres mod`les de syst`mes beaucoup plus simples, o` les changes de e e u e messages entre processeurs sont modliss par des traitants dinterruption (de plus e e haute priorit que toutes les tches) quil sagit de prendre en compte d`s la phase de e a e conception [TH99]. Cette phase de validation est beaucoup plus complexe, puisquil sagit dtudier de mani`re exhaustive tous les entrelacements possibles de toutes les e e tches avec les interruptions possibles, suivant les prols dmission de messages. a e

3.8.3.3

Heuristiques

Dans les syst`mes distribus plus complexes, qui doivent considrer par exemple a e e e ` la fois des contraintes de prcdence et de ressources en environnement htrog`ne et e e ee e de faon dynamique, il existe des approches suboptimales par heuristiques. c Lalgorithme le plus rpandu tant lalgorithme myope (myopic algorithm en ane e glais) [Man98], utilis dans le syst`me Spring [SRN+ 98]. Le syst`me Spring est come e e pos de multiprocesseurs a 4 processeurs a mmoire partage, dont 1 spcialis ddi e ` ` e e e e e e a lordonnancement, et les multiprocesseurs sont relis entre eux par un rseau ddi. ` e e e e Lalgorithme myope est charg dtablir des plans dynamiques pour chaque multiproe e cesseur, en tenant compte des prcdences (ventuellement vis a vis des autres mule e e ` tiprocesseurs du syst`me) et des contraintes temporelles. Il repose sur un algorithme e dallocation sur les processeurs locaux itratif, reli a un test dacceptation, et dont le e e` nombre ditrations est born a la conception. e e` Cet algorithme a t tendu pour supporter des mod`les de tches particuliers, tels eee e a que les FERTS voqus en 3.5.2, ou lintgration de tches temps-rel souple [MMM00b] e e e a e (par serveur).

64 3.8.3.4

Ordonnancement et Analyse dordonnancement Considrations de tolrance aux fautes e e

Une dnition anecdotique des syst`mes distribus (attribue a Leslie Lamport) est : e e e e ` A distributed system is one that stops you from getting any work done when a machine youve never even heard of crashes. En eet, dans un syst`me distribu, la probabilit e e e quau moins un lment soit dfaillant est mcaniquement lie (exponentiellement) au ee e e e nombre dlments dans le syst`me. ee e En consquence, pour les syst`mes distribus temps-rel critiques, il est ncessaire e e e e e de prendre en compte les fautes qui peuvent appara tre. La technique est dutiliser la redondance (des traitements ou des messages de communication) temporelle ou spatiale de faon a dtecter ou masquer les fautes qui peuvent appara c ` e tre. Mais grer la redondance de faon correcte impose que les fonctions rpliques soient e c e e cohrentes entre elles, ce qui am`ne a rsoudre le probl`me du consensus, ce qui rajoute e e ` e e des contraintes supplmentaires a la conception du syst`me. Notamment parce quune e ` e des briques de base est de dterminer, et de faon cohrente, quels nuds sont corrects e c e ou non, avant de pouvoir tablir laccord sur les dcisions entre les nuds corrects (on e e parle de mcanisme de gestion de groupe). Or ceci, dans le mod`le de dfaillance le e e e plus simple dit a silence sur dfaillance, rajoute la prsence dun dlai de dtection de ` e e e e dfaillance, souvent lev, a prendre en compte dans la conception du syst`me. e e e ` e Un autre probl`me qui se pose en prsence de mcanisme de tolrance aux fautes e e e e des nuds est celui du redmarrage des nuds apr`s dfaillance, et de leur rinsertion e e e e dans le syst`me. Cette facult, quand elle est supporte, pose a la fois le probl`me de e e e ` e la cohrence de la dcision de rinsertion vis a vis du mcanisme de gestion de groupe, e e e ` e et galement celui de la reprise dun tat correct par le nud qui se rins`re. Suivant e e e e limplantation du syst`me et le mcanisme de reprise, celui-ci peut entra e e ner des occupations en ressources consquentes le temps du transfert ou de ltablissement de ltat de e e e reprise quil est ncessaire de prendre en compte en particulier dans lordonnancement e des messages rseau [Vij98]. e Le syst`me MARS [KFG+ 92] par exemple propose toute une architecture avec e redondance du rseau et des traitements, et leur intgration avec les contraintes de e e temps-rel. La tolrance aux fautes est facilite de par la conception autour dun plan e e e dordonnancement connu de tous les nuds, permettant par exemple de dtecter la e dfaillance dun nud (absence ou retard dun message). e De mme, Spring [GSSR97, MM97], Hades [CPC+ 00] ou Dharma [MMM00a] proe posent plusieurs solutions pour la gestion de plusieurs types de redondances logicielles en contexte de temps-rel. Par exemple, Hades repose sur la dcomposition des traie e tements du syst`me en units lmentaires caractrises hors-ligne par des besoins en e e ee e e ressources, et lies entre elles par des contraintes de prcdences ventuellement condie e e e tionnelles accompagnes de lenvoi de messages. Ce type darchitecture autorise la prise e en compte des traitements rpliqus pour tablir le consensus mme en prsence de e e e e e dfaillances, dans les analyses dordonnancement. e

Conclusion
La plupart des analyses hors-ligne consistent a dterminer la pire conguration pos` e sible compte-tenu de lalgorithme dordonnancement et des proprits des tches, et a ee a ` vrier que cette conguration est compatible avec les contraintes temporelles (notame ment en comparant les temps de rponse obtenus avec les contraintes dchance). Pour e e e plus de souplesse de conception et dutilisation, la tendance actuelle est dintgrer ce e type de syst`me spci, dimensionn et garanti hors-ligne, avec des tests dacceptae e e e tion en-ligne de tches. Ces tests partent de la conguration courante, pour dterminer a e la pire conguration qui rsulterait de lactivation de la nouvelle tche, et a son tour e a ` vrie que cette conguration est compatible avec les contraintes temporelles. e Dans ces cas, la phase danalyse dordonnancement recourt le plus souvent a des ` dmonstrations fondes sur ltude du syst`me dans son ensemble. Des travaux rcents e e e e e sattachent a allger cette contrainte, cest a dire quils sintressent aux syst`mes ou` e ` e e verts. Dans ces syst`mes, lobjectif est quune srie dapplications, chacune charge e e e de grer ses propres tches suivant sa propre politique dordonnancement, puissent e a cooprer. Des rsultats ont dj` t obtenus (ordonnancement uide, hirarchique, rese e eaee e sources virtuelles) allant dans le sens dune virtualisation des ressources partages, e et une coopration sous forme bote noire des traitements temps-rel eectus par le e e e syst`me. e Dautres axes sont encore largement ouverts, comme lordonnancement temps-rel e en-ligne pour des syst`mes temps-rel distribus ou multiprocesseurs. Dimportants e e e rsultats dimpossibilit ou de limites thoriques ont t obtenus rcemment, et de e e e ee e grands eorts dintgration avec les problmatiques connexes ont t faits (notamment e e ee en ce qui concerne la tolrance aux fautes en distribu). Mais lordonnancement en-ligne e e dynamique dans ce contexte reste un domaine a approfondir. `

Revision : 1.5

65

66

Conclusion

ARTICLES REFERENCES

67

Articles rfrencs ee e
Luca Abeni and Giorgio C. Buttazzo. Integrating multimedia applications in hard real-time systems. In RTSS, pages 413, 1998. [AB98b] Alia Atlas and Azer Bestavros. An omniscient scheduling oracle for systems with harmonic periods. Technical Report 1998-014, Sept 1998. [AB98c] Alia K. Atlas and Azer Bestavros. Design and implementation of statistical rate monotonic scheduling in kurt linux. Technical Report 98-013, Boston University, Sept 1998. [AB98d] Alia K. Atlas and Azer Bestavros. Statistical rate monotonic scheduling. In Proceedings of the 19th IEEE Real-Time Systems Symposium, Dec 1998. [AB99] S. Aldarmi and A. Burns. Dynamic value-density for scheduling real-time systems. In Proceedings of the 11th Euromicro Conference on Real-Time Systems, Dec 1999. [ABJ01] Bjorn Andersson, Sanjoy Baruah, , and Jan Jonsson. Static-priority scheduling on multiprocessors. In Proceedings of the Real-Time Systems Symposium, pages 193202, Dec 2001. + 93] N. Audsley, A. Burns, M. Richardson, K. Tindell, and A. Wellings. Ap[ABR plying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal, 8(5):284292, Sep 1993. [ABRW91] N. C. Audsley, A. Burns, M. F. Richardson, and A. J. Wellings. Hard RealTime Scheduling: The Deadline Monotonic Approach. In Proceedings 8th IEEE Workshop on Real-Time Operating Systems and Software, Atalanta, 1991. [ALB99] L. Abeni, G. Lipari, and G. Buttazzo. Constant bandwidth vs. proportional share resource allocation. In Proceedings of the International Conference on Multimedia Computing and Systems, volume II, pages 107111, Jun 1999. [AP97] E. Anceaume and I. Puaut. A taxonomy of clock synchronization algorithms. Technical Report PI1103, IRISA, July 1997. [ARJ95] J. Anderson, S. Ramamurthy, and K. Jeay. Real-time computing with lock-free shared objects. In Proceedings of the 16th IEEE Real-Time Systems Symposium, Dec 1995. [AS99] J. Anderson and A. Srinivasan. A new look at pfair priorities. Real-time Systems Journal, Oct 1999. [AB98a]

68 [ATB93]

ARTICLES REFERENCES N.A. Audsley, K. Tindell, and A. Burns. The end of the line for static cyclic scheduling? In Proceedings of the Fifth Euromicro Workshop on Real-time Systems, pages 3641, Jun 1993. N. Audsley. Optimal priority assignment and feasibility of static priority tasks with arbitrary start times. Technical Report YCS164, U York, Nov 1991. T.P. Baker. Stack-based scheduling of realtime processes. Journal of RealTime Systems, 3(1):67100, 1991. Michael Barabanov. A linux-based real-time operating system. Masters thesis, New Mexico Institute of Mining and Technology, Jun 1997. Sanjoy Baruah. A general model for recurring real-time tasks. In Proceedings of the Real-Time Systems Symposium, pages 114122, 1998. IJ Bates. Scheduling and Timing Analysis for Safety Critical Real-Time Systems. PhD thesis, University of York, Nov 1998. G. Bernat, A. Burns, and A. Llamos Weakly hard real-time systems. . In IEEE, editor, IEEE Transactions on Computers, number 50(4), pages 308321, Apr 2001. An extended version is also available as a technical report YCS-99-320 September 1999. Sanjoy Baruah, Deji Chen, Sergey Gorinsky, , and Aloysius Mok. Generalized multiframe tasks. Real-Time Systems, 1(17):522, Jul 1999. S. Baruah, D. Chen, and A. Mok. Static-priority scheduling of multiframe tasks. In Proceedings of the Euromicro Conference on Real-Time Systems, Jun 1999. S. K. Baruah, J. E. Gehrke, and C. G. Plaxton. Fast scheduling of periodic tasks on multiple resources. In Proceedings of the 9th International Parallel Processing Symposium, pages 280288, Apr 1995. Sanjoy Baruah and Jayant Haritsa. Scheduling for overload in real-time systems. IEEE Transactions on Computers, 9(46):10341039, Sep 1997. Sanjoy Baruah and Mary Ellen Hickey. Competitive on-line scheduling of imprecise computations. IEEE Transactions on Computers, 47(9):1027 1032, Sep 1998. Sanjoy K. Baruah, Rodney R. Howell, and Louis E. Rosier. Feasibility problems for recurring tasks on one processor. Theoretical Computer Science, 118(1):320, 1993. Sanjoy Baruah, Jayant Haritsa, and Nitin Sharma. On-line scheduling to maximize task completions. Combinatorial Mathematics and Combinatorial Computing, (39):6578, 2001.

[Aud91]

[Bak91] [Bar97] [Bar98] [Bat98] [BBL01]

[BCG+ 99] [BCM99]

[BGP95]

[BH97] [BH98]

[BHR93]

[BHS01]

[BKM+ 91] S. Baruah, G. Koren, B. Mishra, D. Mao, A. Raghunathan, L. Rosier, D. Shasha, and F. Wang. On the competitiveness of on-line real-time task scheduling. In Proceedings of the 12th Real-Time Systems Symposium, pages 106115, Dec 1991.

ARTICLES REFERENCES [BM01]

69

L Porto Barreto and G Muller. Bossa: A dsl framework for applicationspecic scheduling policies. Technical Report PI-1384, IRISA, March 2001. biblio d2. Luciano Porto Barreto and Gilles Muller. Bossa: a language-based approach for the design of real-time schedulers. In Proceedings of the Confrence Internationale sur les Syst`mes Temps-Rel, Mar 2002. e e e Sanjoy K. Baruah, Aloysius K. Mok, and Louis E. Rosier. Preemptively scheduling hard-real-time sporadic tasks on one processor. In IEEE RealTime Systems Symposium, pages 182190, 1990. F. Boniol. Le temps-rel par une approche conjointe synchrone - asyne chrone. Technical Report 1/3410.00/DERI, CERT, mar 1992. A. Burns, D. Prasad, A. Bondavalli, F. Di Giandomenico, K. Ramamritham, J. Stankovic, and L. Stringini. The meaning and role of value in scheduling exible real-time systems. Journal of Systems Architecture, 46:305325, 2000. G. Buttazzo and J. Stankovic. Red: Robust earliest deadline scheduling. In Proceedings of the International Workshop on Responsive Computing Systems, 1993. A. Bondavalli, J. Stankovic, and L. Strigini. Adaptable fault tolerance for real-time systems. Technical Report UM-CS-1994-039, University of Massachusetts, Amherst, Computer Science, May, 1994. G. Buttazzo, M. Spuri, and F. Sensini. Value vs. deadline scheduling in overload conditions. In Proceedings of the 15th Real-Time System Symposium, pages 9099, Dec 1995. A. Burns. Fixed priority scheduling with deadlines prior to completion. Technical Report YCS212, 1993. A. Burns. Preemptive priority based scheduling: An appropriate engineering approach. Technical Report 214, 1994. G.C. Buttazzo. ard Real-Time Computing Systems. Kluwer academic, 1997. A. Burns, A. J. Wellings, and A. D. Hutcheon. The impact of an ada runtime systems performance charactersitics on scheduling models. In Proceedings of the 12th Ada Europe conference, 1993. Seonho Choi and Ashok K. Agrawala. Scheduling aperiodic and sporadic tasks in hard real-time systems. Technical Report CS-TR-3794, 1997. M. Caccamo and G. Buttazzo. Exploiting skips in periodic tasks for enhancing aperiodic responsiveness. In Proceedings of the 18th IEEE Real-Time Systems Symposium, 1997. L. Cucu, R. Cocif, and Y. Sorel. Real-time scheduling for systems with precedence, periodicity and latency constraints. In Proceedings of the Confrence Internationale sur les Syst`mes Temps-Rel, Mar 2002. e e e

[BM02]

[BMR90]

[Bon92] [BPB+ 00]

[BS93]

[BSS94]

[BSS95]

[Bur93] [Bur94] [But97] [BWH93]

[CA97] [CB97]

[CCS02]

70

ARTICLES REFERENCES

[CFBW93] C.Bailey, E. Fyfe, A. Burns, and A. J. Wellings. The olympus attitude and orbital control system, a case study in hard real-time system design and inplementation. Technical report, University of York, 1993. [CJ98] George Candea and Michael B. Jones. Vassal: Loadable scheduler support for multi-policy scheduling. In Second USENIX Windows NT Symposium, pages 157166, Seattle, WA, August 1998. USENIX. [CLB99] Marco Caccamo, Giuseppe Lipari, and Giorgio Buttazzo. Sharing resources among periodic and aperiodic tasks with dynamic deadlines. In Proceedings of the 20th IEEE Real-Time Systems Symposium, 1999. [Coo71] Stephen A. Cook. The complexity of theorem-proving procedures. In Proceedings of the third annual ACM symposium on Theory of computing, pages 151158, 1971. [Coo83] Stephen A. Cook. An overview of computational complexity. Communications of the ACM, 26(6):400408, 1983. [CP99a] P. Chevochot and I. Puaut. An approach for fault-tolerance in hard realtime distributed systems. In Proc. 18th IEEE Symposium on Reliable Distributed Systems (SRDS99) (short paper), pages 292293, Lausanne, Switzerland, October 1999. [CP99b] P. Chevochot and I. Puaut. Tolrance aux fautes dans les syst`mes rpartis e e e temps-rel strict. Techniques et Sciences Informatiques (TSI), 18(8):837 e 870, October 1999. [CP01a] A. Colin and I. Puaut. Analyse de temps dexcution au pire cas du syst`me e e dexploitation temps-rel rtems. In Seconde Confrence Franaise sur les e e c Syst`mes dExploitation (CFSE2), pages 7384, Paris, France, April 2001. e [CP01b] A. Colin and I. Puaut. Worst-case execution time analysis of the rtems real-time operating system. In Proc. of the 13th Euromicro Conference on Real-Time Systems, pages 191198, Delft, The Netherlands, June 2001. + 00] [CPC P. Chevochot, I. Puaut, G. Cabillic, A. Colin, D. Decotigny, and M. Bantre. Hades: a distributed system for dependable hard real-time a applications built from cots components. Technical Report PI1357, IRISA, October 2000. [Dav93] R. Davis. Approximate slack stealing algorithms for xed priority preemptive systems. Technical Report 216, U. York, Dec 1993. [Dav94] R. Davis. Dual priority scheduling: A means of providing exibility in hard real-time systems. Technical Report YCS230, University of York, UK, May 1994. [Del96] J. Delacroix. Towards a stable earliest deadline scheduling algorithm. RealTime Systems, 10:263291, 1996. [DFP01] Radu Dobrin, Gerhard Fohler, and Peter Puschner. Translating oine schedules into task attributes for xed priority scheduling. 22nd IEEE Real-Time Systems Symposium, December 2001, London, United Kingdom, Dec. 2001.

ARTICLES REFERENCES [DFW02] [DTB93]

71

W. Dinkel, M. Frisbie, and J. Woltersdorf. Kurt-Linux User Manual. UC Kansas at Lawrence, Mar 2002. R. I. Davis, K. W. Tindell, and A. Burns. Scheduling slack time in xed priority preemptive systems. In Proceedings of the Real-Time Systems Symposium, pages 222231, 1993. Cecilia Ekelin and Jan Jonsson. Solving embedded system scheduling problems using constraint programming. In IEEE RTSS, May 2000. Shelby Funk, Joel Goossens, and Sanjoy Baruah. On-line scheduling on uniform multiprocessors. In Proceedings of the Real-Time Systems Symposium, pages 183192, Dec 2001. IEEE Standard for Information Technology. Portable Operating System Interface 1003.1b & 1003.1c. IEEE, 1993. Gerhard Fohler. Flexibility in Statically Scheduled Hard Real-Time Systems. PhD thesis, Technische Universitt Wien, Institut f r Technische a u Informatik, Treitlstr. 3/3/182-1, 1040 Vienna, Austria, 1994.

[EJ00] [FGB01]

[fIT93] [Foh94]

[GAGB01] Paolo Gai, Luca Abeni, Massimiliano Giorgi, and Giorgio Buttazzo. A new kernel approach for modular real-time systems development. In Proceedings of the 13th IEEE Euromicro Conference on Real-Time Systems, June 2001. [Gar99] M. K. Gardner. Probabilistic Analysis and Scheduling of Critical Soft RealTime Systems. PhD thesis, University of Illinois at Urbana-Champaign, Sep 1999. J. Goossens, S. Baruah, and S. Funk. Real-time scheduling on multiprocessors. In Proceedings of the Confrence Internationale sur les Syst`mes e e Temps-Rel, Mar 2002. e Joel Goossens, Shelby Funk, and Sanjoy Baruah. Edf scheduling on multiprocessor platforms: some (perhaps) counterintuitive observations. Technical Report UNC-CS TR01-033, UNC, Nov 2001. Michael R. Garey and David S. Johnson. Computers and Intractability : A Guide to the Theory of Np-Completeness. Number ISBN 0716710455. W H Freeman & Co., 1979. Donald W. Gillies and Jane W.-S. Liu. Scheduling tasks with AND/OR precedence constraints. SIAM J. Comput., 24(4):797810, 1995. Mark K. Gardner and Jane W. S. Liu. Performance of algorithms for scheduling real-time systems with overrun and overload. In Proceedings of the Eleventh Euromicro Conference on Real-Time Systems, Jun 1999. R.L. Graham, E.L. Lawler, J.K. Lenstra, and A.H.G. Rinnooy Kan. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5:287326, 1979. L. George, P. Muhletahler, and N. Rivierre. Optimality and nonpreemptive real-time scheduling revisited. Technical Report 2516, INRIA, 1995.

[GBF02]

[GFB01]

[GJ79]

[GL95] [GL99]

[GLLK79]

[GMR95]

72 [GNM99]

ARTICLES REFERENCES Bruno Gaujal, Nicolas Navet, and Jorn Migge. Dual-priority versus background scheduling: A path-wise comparison. Technical-report, Inria, Institut National de Recherche en Informatique et en Automatique, July 1999. R. Gopalakrishnan and Guru M. Parulkar. Bringing real-time scheduling theory and practice closer for multimedia computing. In Measurement and Modeling of Computer Systems, pages 112, 1996. L. George, N. Rivierre, and M. Spuri. Preemptive and non-preemptive real-time uniprocessor scheduling. Technical Report 2966, INRIA Rocquencourt, sep 1996. M. Gergeleit and H. Streich. Taskpair-scheduling with optimistic case execution times an example for an adaptive real-time system. In Second International Workshop on Object-oriented Real-time Dependable Systems, Laguna Beach, CA, GMD, Germany, February 1,2 1996. O. Gonzalez, H. Shrikumar, John A. Stankovic, and K. Ramamritham. Adaptive fault tolerance and graceful degradation under dynamic hard real-time constraints. In Proceedings of the 18th IEEE Real-Time Systems Symposium, San Francisco, California. U. Mass, December 1997. Nicolas Halbwachs. Synchronous programming of reactive systems. In Computer Aided Verication, pages 116, 1998. Arnd Christian Heursch. Preemption concepts, rhealstone benchmark and scheduler analysis of linux 2.4. In Proceedings of the Real-Time & Embedded Computing Expo & Conference, 2001. Chetto H., Silly M., and Bouchentouf T. Dynamic scheduling of real-time task under precedence constraints. Real Time Systems, (2):181194, 1990. D. Haban and K.G. Shin. Application of real-time monitoring to scheduling tasks with random execution times. IEEE Transactions on Software Engineering, 16(2):13741389, 1990. Rodney R. Howell and Muralidhar K. Venkatrao. On non-preemptive scheduling of recurring tasks using inserted idle times. Information and Computation, 117(1):5062, 1995. Damir Isovic and Gerhard Fohler. Online handling of rm aperiodic tasks in time triggered systems. In 11th Euromicro Conference on Real-Time Systems, York, UK, June 1999. Hong Inki, Potkonjak Miodrag, and Karri Ramesh. Hetergeneous BISRapproach using system level synthesis exibility. Technical Report 960047, University of California, Los Angeles, Computer Science Department, December 31, 1996. Xu J. and Parnas D. Scheduling processes with release times, deadlines, precedence, and exclusion, relations. IEEE Transactions on Software Engineering, 16(3):360369, 1990. K. Jeay. Analysis of a synchronization and scheduling discipline for realtime tasks with preemption constraints. In IEEE Real-Time Systems Symposium, 1989.

[GP96]

[GRS96]

[GS96]

[GSSR97]

[Hal98] [Heu01]

[HMT90] [HS90]

[HV95]

[IF99]

[IMR96]

[JD90]

[Jef89]

ARTICLES REFERENCES [Jef92]

73

Kevin Jeay. Scheduling sporadic tasks with shared resources in hardreal-time systems. In IEEE Real-Time Systems Symposium, pages 8999, 1992. [JG99] Kevin Jeay and Steve Goddard. A theory of rate-based execution. In Proceedings of the of the 20th IEEE Real-Time Systems Symposium, Dec 1999. [JG01] K. Jeay and S.M. Goddard. Rate-based resource allocation models for embedded systems. In Proceedings of the First International Workshop on Embedded Software, pages 204222, Oct 2001. [JP86] M. Joseph and P. Pandya. Finding response times in a real-time system. The Computer Journal, 29(5):390395, 1986. [JS93] K. Jeay and D. L. Stone. Accounting for interrupt handling costs in dynamic priority task systems. In Proceedings of the 14th IEEE Real-Time Systems Symposium, pages 212221, Dec 1993. [JSM91] K. Jeay, D. F. Stanat, and C. U. Martel. On non-preemptive scheduling of periodic and sporadic tasks. In IEEE, editor, Proceedings of the 12 th IEEE Symposium on Real-Time Systems (December 1991), pages 129139, december 1991. [KAS93] Daniel I. Katcher, Hiroshi Arakawa, and Jay K. Strosnider. Engineering and analysis of xed priority schedulers. Software Engineering, 19(9):920 934, 1993. + 92] H. Kopetz, G. Fohler, G. Gr nsteidl, H. Kantz, G. Pospischil, P. Puschner, [KFG u J. Reisinger, R. Schlatterbeck, W. Sch tz, A. Vrchotichy, and R. Zainlinger. u The programmers view of MARS. In Robert Werner, editor, Proceedings of the Real-Time Systems Symposium - 1992, pages 223226, Phoenix, Arizona, USA, December 1992. IEEE Computer Society Press. + 97] Hermann Kopetz, Roman Nossal, Ren Hexel, Andreas Kr ger, Dietmar [KNH e u Millinger, Roman Pallierer, Christopher Temple, and Markus Krug. Mode handling in the time-triggered architecture. IFAC DCCS 97, June 1997, Seoul, Korea, Jun. 1997. [KS93] G. Koren and D. Shasha. Dover : An optimal online scheduling algorithm for overloaded realtime systems. In Proceedings IEEE Real-Time Systems Symposium, pages 290299, 1993. [KS95] G. Koren and D. Shasha. Skip-over: algorithms and complexity for overloaded systems that allow skips. In Proceedings of the 16th IEEE Real-Time Systems Symposium, 1995. [KSSR96] H. Kaneko, J. A. Stankovic, S. Sen, and K. Ramamritham. Integrated scheduling of multimedia and hard real-time tasks. Technical Report UMCS-1996-045, University of Massachusetts, Amherst, Computer Science, December, 1996. [Law73] E.L. Lawler. Optimal sequencing of a single machine subject to precedence constraints. Management Science, 19, 1973.

74 [Law78] [Law83] [LB00a]

ARTICLES REFERENCES E.L. Lawler. Sequencing jobs to minimize total weighted completion time. Annals of Discrete Mathematics, 2:7590, 1978. Eugene L. Lawler. Scheduling a single machine to minimize the number of late jobs. Technical Report CSD-83-139, UC Berkeley, 1983. G. Lipari and G.C. Buttazzo. Schedulability analysis of periodic and aperiodic tasks with resource constraints. Journal of System Architectures, 46:327338, 2000. Giuseppe Lipari and Sanjoy Baruah. Ecient scheduling of real-time multitask applications in dynamic systems. In Proceedings of the Real-Time Technology and Applications Symposium, pages 166175, May 2000. G. Lipari and S.K. Baruah. A hierarchical extension to the constant bandwidth server framework. In Proceedings of the Real-Time Technology and Application Symposium, 2001. C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1):4661, 1973. Jane W.-S. Liu, Kwei-Jay Lin, Wei Kuan Shih, Albert Chuang shi Yu, Jen-Yao Chung, and Wei Zhao. Algorithms for scheduling imprecise computations. IEEE Computer, 24(5):5868, 1991. S. T. Levi, D. Mosse, and A. K. Agrawala. Allocation of real-time computations under fault-tolerance constraints. In Proceedings IEEE Real-Time Systems Symposium, pages 161170, 1988. C. Lu, J. A. Stankovic, T. F. Abdelzaher, G. Tao, S. H. Son, and M. Marley. Performance specications and metrics for adaptive real-time systems. In Proceedings of the 21th IEEE Real-Time Systems Symposium, Dec 2000. John P. Lehoczky, Lui Sha, and Y. Ding. The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In IEEE Real-Time Systems Symposium, pages 166171, 1989. John P. Lehoczky and Sandra R. Thuel. Scheduling periodic and aperiodic tasks using the slack stealing algorithm. Advances in Real-Time Systems, pages 172195, 1994. J. Leung and J.W. Whitehead. On the complexity of xed-priority scheduling of periodic real-time tasks. Performance Evaluation, 2(4), 1982. G. Manimaran. Resource management with dynamic scheduling in parallel and distributed real-time systems. PhD thesis, Indian Institute of Technology, Madras, jan 1998. C. McElhone and A. Burns. Scheduling optional computations for adaptive real-time systems. Technical Report YCS289, 1997. Aloysius K. Mok and Deji Chen. A general model for real-time tasks. Technical Report CS-TR-96-24, 1996. Aloysius K. Mok and Deji Chen. A multiframe model for real-time tasks. In Proceedings of the Real-Time Systems Symposium, 1996.

[LB00b]

[LB01]

[LL73]

[LLS+ 91]

[LMA88]

[LSA+ 00]

[LSD89]

[LT94]

[LW82] [Man98]

[MB97] [MC96a] [MC96b]

ARTICLES REFERENCES [McE94]

75

C. McElhone. Adapting and evaluating algorithms for dynamic schedulability testing. Technical report, AC York, Feb 1994. [McN59] R. McNaughton. Scheduling with deadlines and loss functions. Management Science, 12:112, 1959. [Mer92] Cliord W. Mercer. An introduction to real time operating systems: Scheduling theory. Technical report, CMU, Nov 1992. Unpublished manuscript. [MF02] Aloysius K. Mok and Alex Xiang Feng. Real-time virtual resource: A timely abstraction for embedded systems. In Second International Conference on Embedded Software, EMSOFT 2002, LNCS 2491, Oct 2002. [Mig99] Jrn Migge. Lordonnancement sous contraintes temps-rel : un mod`le a o e e ` base de trajectoires. PhD thesis, INRIA Sophia Antipolis, Nov 1999. [MM97] G. Manimaran and C. Siva Ram Murthy. A new scheduling approach supporting dierent fault-tolerant techniques for real-time multiprocessor systems. Journal of Microprocessors and Microsystems, 21(3):163173, dec 1997. [MMM00a] G. Manimaran, A. Manikutty, and C Siva Ram Murthy. Dharma: A tool for evaluating dynamic scheduling algorithms for real-time multiprocessor systems. Journal of Systems and Software, 50(2):131149, Feb 2000. [MMM00b] A. Mittal, G. Manimaran, and C. Siva Ram Murthy. Integrated dynamic scheduling of hard and qos degradable real-time tasks in multiprocessor systems. to appear in Journal of Systems Architecture, 2000. [Mok83] A.K. Mok. Fundamental design problems of distributed systems for the hard-real-time environment. PhD thesis, Massachusetts Institute of Technology, Jun 1983. [MS95] M. Marucheck and J. Strosnider. An evaluation of the graceful degradation properties of real-time schedulers. In 25th Annual International Symposium on Fault-Tolerant Computing, June 1995. [MW01] Aloysius K. Mok and Weirong Wang. Window-constrained real-time periodic task scheduling. In Workshop on Real-Time Embedded Systems, Dec 2001. [MZ93] C. E. Moron and H. Zedan. Adaptable scheduler using milestones for hard real-time systems. Technical report, UYork, 1993. [Nav99] Nicolas Navet. Evaluation de performances temporelles et optimisation de lordonnancement de tches et messages. PhD thesis, Institut National a Polytechnique de Lorraine, Nov 1999. [Net97] E. Nett. Real-time behaviour in a heterogeneous environment. In Third International Workshop on Object-oriented Real-time Dependable Systems, Newport Beach, CA, GMD, Germany, February 6-7 1997. [NG97a] E. Nett and M. Gergeleit. Preserving real-time behavior in dynamic distributed systems. In IASTED International Conference on Articial Intelligence and Soft Computing, The Bahamas, GMD, Germany, December 810 1997.

76 [NG97b]

ARTICLES REFERENCES E. Nett and M. Gergeleit. Preserving real-time behavior un dynamic distributed systems. In IEEE, editor, IEEE IASTED International Conference on Intelligent Information Systems, Grand Bahama Island, The Bahams, December 1997. E. Nett, M. Gergeleit, and M. Mock. An adaptive approach to objectoriented real-time computing. In Proceedings of ISORC98, Kyoto, Japan, GMD, Germany, April 2022 1998. E. Nett, M. Gergeleit, and M. Mock. Enhancing oo middleware to become time-aware. RTS Journal, ??:??, ? 2001. E. Nett, M. Gergeleit, and H. Streich. Flexible resource scheduling and control in an adaptive real-time environment. In IASTED International Conference on Articial Intelligence and Soft Computing, Ban, Canada, GMD, Germany, July 27 August1 1997. Guillem Bernat Nicolau. Specication and Analysis of Weakly Hard RealTime Systems. PhD thesis, Universitat de les Illes Balears, Jan 1998. University of Cambrifge Computer Laboratory. The Nemesis System Documentation, jan 2000. I. Puaut. Real-time performance of dynamic memory allocation algorithms. In Proc. of the 14th Euromicro Conference on Real-Time Systems, Vienna, Austria, June 2002. Mario Aldea Rivas and Michael Gonzlez Harbour. Posix-compatible a application-dened scheduling in marte os. Technical report, Universidad de Cantabria. SP., 2001. Marco Riedel. Classication of deterministic scheduling problems (survey and notation), Aug 1998.

[NGM98]

[NGM01] [NGS97]

[Nic98] [oCCL00] [Pua02]

[RH01]

[Rie98]

[RJMO98] Raj Rajkumar, Kanaka Juvva, Anastasio Molano, and Shui Oikawa. Resource kernels: A resource-centric approach to real-time systems. In Proceedings of the SPIE/ACM Conference on Multimedia Computing and Networking, Jan 1998. [RM00] S. Ramamurthy and M. Moir. Static-priority periodic scheduling of multiprocessors. In Proceedings of the 21st IEEE Real-Time Systems Symposium, pages 6978, Dec 2000.

[RRGC02] Michael Richard, P. Richard, E. Grolleau, and F. Cottet. Contraintes de prcdences et ordonnancement mono-processeur. In Proceedings of the e e Confrence Internationale sur les Syst`mes Temps-Rel, Mar 2002. e e e [RS94] K. Ramamritham and J. Stankovic. Scheduling algorithms and operating systems support for real-time systems. In IEEE, editor, Proceedings of the IEEE, volume 82, January 1994. J. Regehr and J. Stankovic. Hls: A framework for composing soft real-time schedulers. In Proceedings of the Real-Time Systems Symposium, pages 314, Dec 2001.

[RS01]

ARTICLES REFERENCES [RSH00]

77

John Regehr, Jack Stankovic, and Marty Humphrey. The case for hierarchical schedulers with performance guarantees. Technical Report CS-2000-07, CS Virginia, 14, 2000. [RSYJ97] Daniela Rosu, Karsten Schwan, Sudhakar Yalamanchili, and Rakesh Jha. On adaptive resource allocation for complex real-time applications. In IEEE, editor, 18th IEEE Real-Time Systems Symposium, San Francisco, CA, volume GIT-CC-97-26, dec 1997. [SA00] K. Subramani and Ashok Agrawala. A dual interpretation of standard constraints in parametric scheduling. In Proceedings of the Formal Techniques in Real-Time and Fault-Tolerant Systems, pages 121133, Sep 2000. + 96] Ion Stoica, Hussein Abdel-Wahab, Kevin Jeay, Sanjoy Baruah, Johannes [SAWJ Gehrke, and C. Greg Plaxton. A Proportional Share Resource Allocation Algorithm for Real-Time, Time-Shared Systems. In Proceedings of the IEEE Real-Time Systems Symposium, December 1996. [SB94] M. Spuri and G. Buttazzo. Ecient aperiodic service under earliest deadline scheduling. In Proceedings of the 15th IEEE Real-Time System Symposium, pages 221, 1994. [SBS95] M. Spuri, G. Buttazzo, and F. Sensini. Robust aperiodic scheduling under dynamic priority systems. In Proc. of the IEEE Real-Time Systems Symposium, Pisa, Italy, dec 1995. [SdSA95] M. Saksena, J. da Silva, and A. K. Agrawala. Design and implementation of maruti-ii. Advances in Real-Time Systems, pages 72102, 1995. [SG97a] H. Streich and M. Gergeleit. On the design of a dynamic distributed realtime environment. In 11th International Parallel Processing Symposium, University of Geneva, Switzerland, GMD, Germany, April 1-5 1997. University of Geneva, Switzerland. [SG97b] H. Streich and M. Gergeleit. On the design of a dynamic distributed realtime environment. In IEEE, editor, IEEE Workshop Parallel Distributed Real-Time Systems (WPDRTS), Geneva, Switzerland, 1997. [SGL97] Jun Sun, Mark K. Gardner, , and Jane W. S. Liu. Bounding completion times of jobs with arbitrary release times, variable execution times, and resource sharing. IEEE Transactions on Software Engineering, 23(10):603 615, Oct 1997. [SL94] Matthew F. Storch and Jane W.-S. Liu. A simulation environment for distributed real-time systems. In Proceedings of the SCS Simulation Multiconference, April 1994. [SL95] WK Shih and WS Liu. Algorithms for scheduling imprecise computations with timing constraints to minimize maximum error. Proceedings of the IEEE Transactions on Computers, 44(3), March 1995. [SLL93] Wei Kuan Shih, Jane W.-S. Liu, and C. L. Liu. Modied rate-monotonic algorithm for scheduling periodic jobs with deferred deadlines. Software Engineering, 19(12):11711179, 1993.

78 [SLS95]

ARTICLES REFERENCES J.K. Strosnider, J.P. Lehoczky, and L. Sha. The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments. IEEE Transactions On Computers, 44(1):7391, Jan 1995. John A. Stankovic, Chenyang Lu, and Sang H. Son. The case for feedback control real-time scheduling. Technical Report CS-98-35, Department of Computer Science, University of Virginia, November 27 1998. Kristian Sandstrm, Christer Norstrm, and Gerhard Fohler. Handling o o interrupts with static scheduling in an automotive vehicle control system. In Proceedings of the International Conferance on Real-Time Computing Systems and Applications, pages 158165, Oct 1998. Steven Sommer and John Potter. Admissibility tests for interrupted earliest deadline rst scheduling with priority inheritance. Technical Report C/TR97-10, U Macquarie, Australia, Jun 1997. B. Sprunt. Aperiodic task scheduling for real-time systems. PhD thesis, Carnegie Mellon University, Aug 1990. M. Spuri. Analysis of deadline scheduled real-time systems. Technical Report 2772, INRIA Rocquencourt, jan 1996. W. Schwabl, J. Reisinger, and G. Grunsteidl. A survey of mars. Technical report, Institut fur Technische Informatik, Technical University Wein, 1989. L. Sha, R. Rajkumar, and J.P. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers, 39(9):11751185, Sept 1990. John A. Stankovic, Krithi Ramamritham, Douglas Niehaus, Marty Humphrey, and Gary Wallace. The spring system: Integrated support for complex real-time systems. Technical Report CS-98-18, Department of Computer Science, University of Virginia, August 1 1998. Marco Spuri and John A. Stankovic. How to integrate precedence constraints and shared resources in real-time scheduling. Technical Report UM-CS-1993-019, U. Mass, 1993. J. Stankovic, M. Spuri, M. DiNatale, and G. Buttazzo. Implications of classical scheduling results for real-time systems. Technical Report UMCS-1994-089, U. Mass, 1994. J.A. Stankovic, M. Spuri, M. Di Natale, and G. Buttazzo. Implications of classical scheduling results for real-time systems. Technical report, Scuola Superiore S.Anna, Pisa - Italy, June 1994. John A. Stankovic. Misconceptions about real-time computing. IEEE Computer, 21(10):1019, 1988. John A. Stankovic. Reective real-time systems. Technical Report UM-CS1993-056, University of Massachusetts, Amherst, Computer Science, June, 1993. Prof. John A. Stankovic. Major real-time challenges for mechatronic systems. In to appear in Proceedings of International Workshop on Mecha-

[SLS98]

[SNF98]

[SP97]

[Spr90] [Spu96] [SRG89]

[SRL90]

[SRN+ 98]

[SS93]

[SSDB94]

[SSNB94]

[Sta88] [Sta93a]

[Sta93b]

ARTICLES REFERENCES

79

tronical Computer Systems for Perception and Action, June 1993, Massachussetts University, May 14 1993. [Sta94] John A. Stankovic. Adjustable ow control lters and reective memories as support for distributed real-time systems. Technical Report UM-CS1994-034, University of Massachusetts, Amherst, Computer Science, April, 1994. [Str95] H. Streich. Taskpair-scheduling: An approach for dynamic real-time systems. Int. Journal of Mini & Microcomputers, 17, No. 2:7783, 1995. [TBW92a] K. Tindell, A. Burns, and A.J. Wellings. Allocating real-time tasks (an np-hard problem made easy). Real-Time Systems, 4(2):145165, Jun 1992. [TBW92b] Ken Tindell, Alan Burns, and Andy J. Wellings. Mode changes in priority pre-emptively scheduled systems. In IEEE Real-Time Systems Symposium, pages 100109, 1992. [TC94] K. Tindell and J. Clark. Holistic schedulability analysis for distributed hard real-time systems. Microprocessing and Microprogramming - Euromicro Journal (Special Issue on Parallel Embedded Real-Time Systems), 40:117 134, 1994. [TDS+ 95] T. Tia, Z. Deng, M. Shankar, M. Storch, J. Sun, L. Wu, and J. Liu. Probabilistic performance guarantee for real-time tasks with varying computation times. In Proceedings of the Real-Time Technology and Applications Symposium, pages 164173, may 1995. [TH99] Henrik Thane and Hans Hansson. Handling interrupts in testing of distributed real-time systems. In Proceedings of the IEEE International Conference on Real-Time Computing Systems and Applications, 1999. [Tin92a] K. Tindell. An extendible approach for analyzing xed priority hard realtime tasks. Technical Report YCS189, 1992. [Tin92b] K. Tindell. Using oset information to analyse static priority pre-emptively scheduled task sets. Technical Report YCS182, Aug 1992. [Tin93] K.W. Tindell. Fixed Priority Scheduling of Hard Real-Time Systems. PhD thesis, University of York, Dec 1993. [Tin94] K. Tindell. Adding time-osets to schedulability analysis. Technical Report YCS221, 1994. [TLS95] T. Tia, J. Liu, and M. Shankar. Algorithms and optimality of scheduling aperiodic requests in xed-priority preemptive systems. Journal of RealTime Systems, 1995. [TLSH94] T. Tia, W. Liu, J. Sun, and R. Ha. A linear-time optimal acceptance test for scheduling of hard real-time tasks, 1994. [TNR90] H. Tokuda, T. Nakajima, and P. Rao. Real-Time Mach: Toward a Predictable Real-Time System. In Proceedings of USENIX Mach Workshop, pages 7382, October 1990. [Vij98] Josh Haines Vijay. Development of application-level fault tolerance in a real-time benchmark. In Proceedings of the IEEE Workshop On Embedded Fault-Tolerant Systems, May 1998.

80 [VJP97] [WL99a]

ARTICLES REFERENCES Brian VanVoorst, Rakesh Jha, and Luiz Pires. A real-time parallel benchmark suite. SIAMs Parallel Processing for Scientic Computing, 1997. Yu-Chung Wang and Kwei-Jay Lin. Implementing a general real-time scheduling framework in the RED-linux real-time kernel. In IEEE RealTime Systems Symposium, pages 246255, 1999. Yu-Chung Wang and Kwei-Jay Lin. Providing real-time support in the linux kernel. In IEEE Real-Time Technology and Applications Symposium, 1999. Y. Wang and M. Saksena. Scheduling xed priority tasks with preemption threshold. In Proceedings of the IEEE International Conference on RealTime Computing Systems and Applications, 1999. Lonnie R. Welch and Behrooz A. Shirazi. A dynamic real-time benchmark for assessment of qos and resource management technology. In Real-Time Technology and Applications Symposium, Jun 1999. Yun Wang and Manas Saksena. Scheduling xed-priority tasks with preemption threshold: An attractive technology?, 2002. Regehrs readings. Khawar M. Zuberi. Real-Time Operating System Services for Networked Embedded Systems. PhD thesis, University of Michigan, 1998.

[WL99b]

[WS99a]

[WS99b]

[WS02] [Zub98]

LIENS REFERENCES

81

Liens rfrencs ee e
[1] The rtai programming guide. http://www.rtai.org et http://www.aero.polimi.it/~rtai/documentation/index.html. [2] Pierluigi Crescenzi, Viggo Kann, Magn s Halldrsson, Marek Karpinski, and Geu o rhard Woeginger, A compendium of np optimization problems. http://www.nada.kth.se/~viggo/wwwcompendium/. [3] Oce de la langue Franaise du Canada, Le grand dictionnaire terminologique. c http://www.granddictionnaire.com. [4] Dlgation gnrale a la langue franaise et aux langues de France, Base de donnes. ee e e ` c e http://www.culture.fr/culture/dglf/terminologie/base-donnees.html. [5] Glenn Reeves, What really happened on mars? Jan 1998. http://catless.ncl.ac.uk/Risks/19.54.html#subj6. [6] TRON Association Version-Up Working Group, Industrial real-time operating system nucleus (itron). http://tron.um.u-tokyo.ac.jp/TRON/ITRON/home-e.html.

82

LIENS REFERENCES

` TABLE DES MATIERES

83

Table des mati`res e


Introduction 1 Dnitions et problmatique du temps-rel e e e 1.1 Direntes dnitions du temps-rel . . . . . . . . . . . . . . . . . . . . e e e 1.2 Classication sommaire des syst`mes informatiques temps-rel . . . . . . e e 2 Mod`le considr et contraintes de conception e e e 2.1 Mod`le de syst`me considr . . . . . . . . . . e e ee 2.1.1 Caractrisation des tches . . . . . . . . e a 2.1.2 Contraintes de ressources . . . . . . . . 2.1.3 Autres contraintes . . . . . . . . . . . . 2.2 Caractrisation du support dexcution . . . . . e e 2.2.1 Perception du temps . . . . . . . . . . . 2.2.2 Supports langage et syst`me . . . . . . e pour le temps-rel e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 5 6 9 9 11 15 16 16 17 17 21 21 21 22 23 23 25 28 29 30 30 31 36 37 40 45 45 46

3 Ordonnancement et Analyse dordonnancement 3.1 Problmatique de lordonnancement en temps-rel . . . . . . . . . . . . e e 3.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Crit`res et mtriques usuels de spcication de contraintes de e e e validit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 3.2 Caractristiques des probl`mes et des mthodes dordonnancement . . . e e e 3.2.1 Classes des probl`mes . . . . . . . . . . . . . . . . . . . . . . . . e 3.2.2 Complexit des probl`mes . . . . . . . . . . . . . . . . . . . . . . e e 3.2.3 Solutions aux probl`mes dordonnancement . . . . . . . . . . . . e 3.3 Ordonnanceurs a priorits simples . . . . . . . . . . . . . . . . . . . . . ` e 3.3.1 Politiques dordonnancement a priorits courantes . . . . . . . . ` e 3.3.2 Rsultats doptimalit . . . . . . . . . . . . . . . . . . . . . . . . e e 3.3.3 Quelques conditions de faisabilit . . . . . . . . . . . . . . . . . . e 3.3.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.5 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.6 Prise en compte des ressources . . . . . . . . . . . . . . . . . . . 3.3.7 Choix dingnierie . . . . . . . . . . . . . . . . . . . . . . . . . . e 3.4 Ordonnancement avec sous-partie dynamique . . . . . . . . . . . . . . . 3.4.1 Tches apriodiques sans contrainte de temps-rel . . . . . . . . a e e

84 3.4.2 3.4.3

` TABLE DES MATIERES Activations en-ligne de tches avec contraintes de temps-rel . . a e Rcupration de ressources pour favoriser lordonnancement de e e tches actives dynamiquement . . . . . . . . . . . . . . . . . . . a e 3.4.4 Probl`mes relis . . . . . . . . . . . . . . . . . . . . . . . . . . . e e Gestion de la surcharge . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Ordonnancement sans reconguration . . . . . . . . . . . . . . . 3.5.2 Ordonnancement avec reconguration . . . . . . . . . . . . . . . 3.5.3 Extensions au mod`le de tche . . . . . . . . . . . . . . . . . . . e a Extensions du mod`le de syst`me . . . . . . . . . . . . . . . . . . . . . . e e 3.6.1 Ordonnancement uide . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 Ordonnanceurs multiples et hirarchiques . . . . . . . . . . . . . e Relchement dhypoth`ses sur lenvironnement et le syst`me . . . . . . . a e e 3.7.1 Approche par prvision . . . . . . . . . . . . . . . . . . . . . . . e 3.7.2 Syst`mes rexifs . . . . . . . . . . . . . . . . . . . . . . . . . . . e e Ordonnancement pour syst`mes multiprocesseurs ou distribus . . . . . e e 3.8.1 Problmatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 3.8.2 Ordonnancement pour syst`mes multiprocesseurs . . . . . . . . . e 3.8.3 Ordonnancement pour syst`mes distribus . . . . . . . . . . . . . e e 48 49 49 49 51 53 54 56 56 57 59 59 60 60 61 61 62 65

3.5

3.6

3.7

3.8

Conclusion

LISTE DES TABLEAUX

85

Liste des tableaux


3.1 3.2 Complexit de probl`mes dordonnancement monoprocesseur . . . . . . e e Complexit dordonnancement non-premptif hors-ligne pour multiproe e cesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 27

86

LISTE DES TABLEAUX

TABLE DES FIGURES

87

Table des gures


2.1 2.2 2.3 2.4 2.5 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Mod`le de syst`me considr . . . e e ee Diagramme dtat des travaux . . . e e Evnements au cours de la vie dun Contraintes temporelles courantes . Prols dacc`s aux ressources . . . e . . . . . . . . travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 12 14 16 24 32 32 36 38 38 41

Intrt de lordonnancement oisif en non-premptif . . . . . . . . . . . . ee e Syst`me de 2 tches priodiques synchrones non ordonnanable par EDF e a e c Syst`me de 2 tches priodiques synchrones ordonnanable par EDF . . e a e c Anomalie dordonnancement par terminaison plus tt en non premptif o e (ordonnancement de type EDF ou DM) . . . . . . . . . . . . . . . . . . Contrainte de prcdence 3 4 et dates de terminaison . . . . . . . . e e Contraintes de prcdence et ordonnanabilit . . . . . . . . . . . . . . . e e c e Anomalie dordonnancement en prsence dune ressource . . . . . . . . . e

Index
A acceptation . . . . . . . . . . . . . . . . . . . . . . . . . 48 actionneurs . . . . . . . . . . . . . . . . . . . . . . . . . . 9 activation (dun travail). . . . . . . . . . . . . 11 adressage (espace mmoire) . . . . . . . . . 11 e aectation (des tches aux processeurs) a 61 anomalie dordonnancement non-premptif non-oisif . . . . . . . . . 36 e prcdences en priorit xe . . . . . 37 e e e ressources sans protocole dacc`s 41 e anti-localit . . . . . . . . . . . . . . . . . . . . . . . . . 16 e application . . . . . . . . . . . . . . . . . . . . . . . . . 10 B blocage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 busy period [Spu96] . . . . . . . . . . . . . . . . . 33 C capteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 caractristiques temporelles (dun trae vail) . . . . . . . . . . . . . . . . . . . . . . . . 12 centralis (ordonnancement) . . . . . . . . 25 e changement de contexte. . . . . . . . . . . . . 21 charge de travail . . . . . . . . . . . . . . . . . . . . 50 chronogramme . . . . . . . . . . . . . . . . . . . . . . 11 clairvoyant (ordonnanceur) . . . . . . . . . 51 concr`te (tche priodique) . . . . . . . . . 13 e a e contrainte temporelle (dun travail) . 12 cration (dun travail) . . voir activation e critique (syst`me) . . . . . . . . . . . . . . . . . . . . 7 e cycle mineur/majeur (plan) . . . . . . . . . 24 cyclique (ordonnancement). . . . . . . . . . 24 D dcision dordonnancement. . . . . . . . . . 21 e dfaillance temporelle . . . . . . . . . . . . . . . . 6 e 88 dlai dinter-arrive . . . . . . . . . . . . . . . . . 13 e e dmarrage (dun travail) . . . . . . . . . . . . 12 e dpassement (dhypoth`se). . . . . . . . . . 14 e e dviation (dhorloge) . . . . . . . . . . . . . . . . 17 e deadline monotonic . . . . . . . . . . . . . . . . . 30 demande en capacit processeur. . . . . 33 e diagramme de transition (dun travail) 11 distribu (ordonnancement) . . . . . . . . . 25 e distribu (syst`me) . . . . . . . . . . . . . . . . . 60 e e DM . . . . . . . . . . . voir deadline monotonic dual priority . . . . . . . . . . . . . . . . . . . . . . . . 47 dynamique (ordonnancement a priorit) ` e 29 dynamique (ordonnancement) . . . . . . . 25 E cart temporel . . . . . . . . . . . . . . . . . . . . . . 56 e chance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 e e EDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 EDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 EEVDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 lection (dun travail) . . . . . . . . . . . . . . . 21 e en-ligne (ordonnancement) . . . . . . . . . . 25 environnement . . . . . . . . . . . . . . . . . . . . . . . 9 tat (dun travail) . . . . . . . . . . . . . . . . . . 11 e F facteur de comptitivit . . . . . . . . . . . . . 51 e e faisable . . voir ordonnancement faisable le dordonnancement . . . . . . . . . . . . . . 25 xe (ordonnancement a priorit) . . . . 29 ` e uide (ordonnancement) . . . . . . . . . . . . 56 fonction de valeur. . . . . . . . . . . . . . . . . . . 51 G

INDEX Gantt (diagramme de) . . . . . . . . . . . . voir chronogramme gigue de dmarrage . . . . . . . . . . . . . . . . . 13 e graphe de prcdence . . . . . . . . . . . . . . . 14 e e H harmonique (tches priodiques) . . . . 13 a e hirarchique (ordonnancement) . . . . . 57 e horloge syst`me . . . . . . . . . . . . . . . . . . . . . 17 e hors-ligne (ordonnancement) . . . . . . . . 24 hyperpriode. . . . . . . . . . . . . . . . . . . . . . . . 13 e I importance (tches). . . . . . . . . . . . . . . . . 51 a indpendantes (tches). . . . . . . . . . . . . . 16 e a instant critique . . . . . . . . . . . . . . . . . . . . . 34 interblocage . . . . . . . . . . . . . . . . . . . . . . . . 41 inversion de priorit . . . . . . . . . . . . . . . . 41 e J job . . . . . . . . . . . . . . . . . . . . . . . . . voir travail L laxit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 e LLF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 localisation . . . . . . . . . . . . . . . . . . . . . . . . . 16 localit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 e M migration . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 mod`le (de syst`me considr) . . . . . . . 9 e e ee mod`le de tche . . . . . . . . . . . . . . . . . . . . 12 e a monoprocesseur (ordonnancement) . . 23 multiple (ordonnancement) . . . . . . . . . 57 multiplexage . . . . . . . . . . . . . . . . . . . . . . . . 15 multiprocesseur identique . . . . . . . . . . . . . . . . . . . . . . . 61 uniforme . . . . . . . . . . . . . . . . . . . . . . . 61 multiprocesseur (ordonnancement) . . 23 multiprocesseur (syst`me). . . . . . . . . . . 60 e N nud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 niveau de premption (SRP) . . . . . . . . 44 e O

89 oisif (ordonnancement). . . . . . . . . . . . . . 24 optimal (algorithme dordonnancement) 25 ordonnanabilit . . . voir ordonnanable c e c ordonnanable (syst`me) . . . . . . . . . . . . 22 c e ordonnancement . . . . . . . . . . . . . . . . 15, 21 P PCP . . voir protocole a seuil de priorit ` e PID (contrleur) . . . . . . . . . . . . . . . . . . . . 59 o PIPvoir protocole a hritage de priorit ` e e plan dynamique. . . . . . . . . . . . . . . . . . . . . 25 plan hors-ligne . . . . . . . . . . . . . . . . . . . . . . 24 plan statique. . . . . . .voir plan hors-ligne politique de rejet . . . . . . . . . . . . . . . . . . . 51 polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 prcdence (contrainte de) . . . . . . . . . . 13 e e premption . . . . . . . . . . . . . . . . . . . . . . . . . 12 e priorit (ordonnancement) . . . . . . . . . . 29 e processeur . . . . . . . . . . . . . . . . . . . . . . . . . . 10 protocole a hritage de priorit . . . . . . 43 ` e e protocole a seuil de priorit . . . . . . . . . 43 ` e Q qualit de service . . . . . . . . . . . . . . . . . . . 51 e qualit de service . . . . . . . . . . . . . . . . . 7, 15 e R ractif (syst`me) . . . . . . . . . . . . . . . . . . . . . 5 e e rcupration de ressources . . . . . . . . . . 49 e e rate monotonic . . . . . . . . . . . . . . . . . . . . . 30 reprise (dun travail) . . . . . . . . . . . . . . . . 12 ressource . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 active . . . . . . . . . . . . . . . . . . . . . . . . . . 15 passive . . . . . . . . . . . . . . . . . . . . . . . . . 15 protocole dacc`s . . . . . . . . . . . . . . . 40 e retard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 RM . . . . . . . . . . . . . . . voir rate monotonic robuste (ordonnanceur) . . . . . . . . . 51, 53 RTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 S section critique . . . . . . . . . . . . . . . . . . . . . 40 seuil de premption . . . . . . . . . . . . . . . . . 35 e SRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

90 statique (ordonnancement a priorit)29 ` e statique (ordonnancement). . . . . . . . . . 25 support dexcution . . . . . . . . . . . . . . . . . 10 e surcharge (processeur) . . . . . . . . . . . . . . 49 synchrones (ensemble de tches) . . . . 13 a synchronisation (ressource) . . . . . . . . . 15 synchronisme fort (hypoth`se) . . . . . voir e ractif e T tche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 a taux de russite . . . . . . . . . . . . . . . . . . . . . 52 e TDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 temps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 creux . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 dexcution pire-cas. . . . . . . . . . . . . 12 e de blocage . . . . . . . . . . . . . . . . . . . . . . 40 de rponse (dun travail) . . . . . . . . 12 e temps-rel . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 e dur (traitement) . . . . . . . . . . . . . . . . . 7 ferme (traitement) . . . . . . . . . . . . . . . 8 souple (syst`me) . . . . . . . . . . . . . . . . . 7 e souple (traitement) . . . . . . . . . . . . . . 7 strict (syst`me, contrainte). . . . . . . 7 e strict (traitement) . . . . . . . . . . . . . . . 7 terminaison (dun travail) . . . . . . . . . . . 12 test dacceptation . . . . . . . . . . . . . . . . . . . 48 tick scheduling . . . . . . . . . . . . . . . . . . . . . . 19 travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 U utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 14 eective du processeur . . . . . . . . . . 52 V valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . 22, 51 W WCET . voir temps dexcution pire cas e

INDEX

Vous aimerez peut-être aussi