You are on page 1of 6

Lordonnancement, la cl dune gestion efficace des ressources

Nicolas Navet Jean-Pierre Thomesse Equipe TRIO laboratoire LORIA Nancy Ordonnancer cest dfinir un ordre sur lexcution des diffrentes activits dun systme. Lorsquil sagit dun systme informatique ces diffrentes activits se dcomposent en l'excution de tches sur un ou plusieurs processeurs et ventuellement en la transmission de messages sur un rseau de communication. Tout le problme consiste trouver le bon ordonnancement vis--vis des contraintes pesant sur le systme, contraintes qui sont issues de la dynamique du processus physique contrl. Gnralement il sagira de respecter des contraintes de date au plus tard sur les fins dexcution (ou contraintes dchances) mais il existe bien dautres contraintes comme celle de date au plus tt ou de simultanit sur loccurrence dvnements comme le dclenchement dactions. Dans le contexte de lordonnancement, un systme est dit faisable si toutes les invocations successives des activits qui le composent (les diffrentes instances) sont assures de respecter leurs contraintes dchances.

1] Le paradoxe du livre et de la tortue (cf. [5])


Pour illustrer le fait que des capacits de traitement importantes (vitesse des processeurs, dbit des rseaux) ne nous permettent pas de faire lconomie dune rflexion sur les choix en matire dordonnancement, G. Le Lann eut lide dutiliser le paradoxe du Livre et de la Tortue dans une version informatique (cf. rfrence [5]). Le processeur Livre est 10 fois plus rapide que le processeur Tortue, deux tches A et B ont respectivement une dure dexcution de 200 et 10 units de temps ( vitesse 1) et une chance fixe t+220 (tche A) et t+15 (tche B) o t est la date de mise disposition de la tche. Lordonnancement sur le processeur Tortue est effectue selon la politique plus petite chance dabord (EDF - Earliest Deadline First) alors que le processeur Livre est ordonnanc sous premier arriv premier servi (First-In - First-out). La figure ci-dessous reprsente le droulement de lexcution sur les deux processeurs avec la tche A qui est mise disposition linstant 0 et la tche B linstant 2. tche A tche B

proc. tortue sous EDF


02 12 212 B ne respecte pas son chance 17 20 21

proc. livre sous FIFO

Figure 1 : Ordonnancement sur les processeurs tortue et livre (tir de [5]). Les chances sont respectes sur le processeur Tortue et non sur le processeur Livre, la politique EDF est ici mieux adapte notre objectif de respect des chances que FIFO (dans ce contexte, EDF a t prouve optimale vis--vis des chances, cf. [1]). Dune faon gnrale, des choix judicieux en matire dordonnancement permettront de dimensionner les ressources matrielles au plus juste tout en garantissant que le systme aura les performances requises.

2] Principales approches de lordonnancement


La ncessit dordonnancer apparat au niveau dun processeur ds que plusieurs tches peuvent tre actives simultanment mais elle est galement bien prsente dans les protocoles de communication en particulier au niveau MAC (Mdium Access Control) pour transmettre des informations sur un mdium partag. On retrouve galement lordonnancement dans dautres

couches comme la couche rseau et la couche transport notamment pour la gestion de trafics diffrentis. Malgr quelques spcificits, comme limpossibilit dinterrompre la transmission dune trame sans perte dinformation, les principales approches de lordonnancement sont identiques pour les tches comme pour les messages et lorsque notre propos sera valable dans les deux contextes, nous parlerons dactivits sexcutant sur une ressource.

Ordonnancement statique et priodique


On considre ici des activits strictement priodiques. Lordonnancement de ces activits est entirement pr-calcul hors-ligne et est stock dans une table qui sera droule pendant lexcution de lapplication. Pratiquement, une telle table contient des couples date-activit qui indiquent la date laquelle la ressource sera alloue lactivit identifie. Lorsque les activits sont priodiques, lordonnancement est calcul pour un PPCM des priodes puis il sera rejou indfiniment. Un avantage certain de cette technique est que le respect des chances du systme sera garantie par construction. Quand on parle de garantie, cest toujours sous rserve de certaines hypothses de bon fonctionnement, en particulier de respect des dures dexcution prvues. Un autre point positif de cette stratgie est que lalgorithme de construction de la table peut intgrer des critres autres que la faisabilit comme par exemple des contraintes de prcdence entre tche, des contraintes lies au partage de ressources, la volont de minimiser la variabilit sur les dates de fin dexcution dinstances successives dune mme tche etc Cette technique possde nanmoins de srieux dsavantages : elle ne permet pas la construction incrmentale dun systme (lajout dune activit priodique ncessite gnralement de reconstruire totalement la table) et elle nest pas adapte pour accepter dynamiquement de la charge. Lutilisation de lordonnancement statique et cyclique est rpandue la fois pour lordonnancement processeur (gnralement dans des systmes embarqus de taille restreinte) mais aussi dans des rseaux de communication tels que FIP (Factory Instrumentation Protocol), TTP/C (Time Triggered Protocol) et PROFIBUS (pour la gestion des stations esclaves).

Ordonnancement priorits fixes


Nous nous situons maintenant dans le cadre de lordonnancement en-ligne, cest dire que les dcisions sont prises pendant lexcution de lapplication selon un algorithme qui dfinit la politique dordonnancement. On parle dordonnancement priorits fixes lorsque les diffrentes instances successives dune mme activit possdent toutes la mme priorit. Si la ressource est toujours alloue linstance qui possde la priorit la plus forte alors la politique dordonnancement rsultante est connue dans sa version premptive (qui permet quune tche soit interrompue pendant son excution) sous le nom de FPP (Fixed-Priority Preemptive). La politique FPP possde des points forts incontestables qui en font trs vraisemblablement la politique la plus couramment mise en oeuvre pour lordonnancement de tches dans les applications temps rel. Cette politique a fait l'objet de trs nombreuses tudes depuis l'article fondateur de Liu and Layland [2]. Des rsultats nombreux et puissants existent tant au niveau de la faisabilit du systme (temps de rponse, test de faisabilit bas sur la charge - cf. section 2 ) qu'au niveau du choix optimal des priorits des activits. Dautre part, dans le cadre dun ordonnancement premptif, si une tche ne respecte pas les hypothses faites lors de la conception du systme (temps dexcution trop long, frquence dactivation trop leve), seules des tches de priorits infrieures seront affectes. Enfin, cette politique est implante dans la quasi-totalit des OS temps rel et notamment ceux se conformant au standard Posix1003.1b dans lequel elle est dfinie sous le nom de sched_fifo. Dans le contexte de lordonnancement de messages, cette politique est sous-jacente tous les MAC de type bus priorits (CAN,VAN, J1850 etc..) dont lutilisation est trs rpandue lheure actuelle.

Ordonnancement priorits dynamiques


Lorsque les priorits des instances successives dune mme activit peuvent tre diffrentes, on parle de priorits dynamiques (du point de vue de la tche). Le reprsentant le plus important de cette classe de politiques est EDF dont lessence est d'excuter les instances dans l'ordre de leur urgence o le degr d'urgence est mesur par la proximit de leur chance. Cela implique qu'une instance ne peut utiliser la ressource que si toutes les instances d'chances plus petites ont termin leur excution ou ne sont pas encore actives.

Dans le cadre de lordonnancement premptif de tches, EDF a le trs grand avantage d'tre optimale vis--vis de la faisabilit du systme dans des contextes varis (cf. [1]) , cest dire que tout ensemble de tches faisable sous une autre politique que EDF sera ncessairement faisable sous EDF. Le plus gros dsagrment de cette politique est par contre son comportement instable en situation de surcharge : il est alors difficile de prdire quelles instances ne respecteront pas leurs chances et les tches les plus critiques pour lapplication peuvent tre affectes. Nanmoins divers mcanismes ont t proposes pour que EDF ait un comportement plus prvisible en situation de surcharge (cf. [8]). Un autre frein lutilisation de la politique EDF est le fait que la grande majorit des systmes d'exploitation temps rel ne limplmente pas en standard alors que FPP est quasi-systmatiquement propose.

Ordonnancement conjoint de trafic contraintes strictes et souples


Selon les consquences du non-respect d'une contrainte temporelle, celle-ci peut tre qualifie de contrainte stricte (hard real-time) ou de souple (soft real-time). En pratique, une application comporte souvent les deux types de contraintes et lobjectif est alors gnralement de minimiser, autant que faire ce peut, le temps de rponse des activits contraintes souples tout en garantissant le respect des contraintes strictes. De nombreuses politiques ont t proposes pour rpondre ce besoin et des solutions efficaces existent la fois sur la base dun ordonnanceur FPP (par exemple DualPriority cf. [3]) ou dun ordonnanceur EDF (par exemple Earliest Deadline Late cf. [4]). Le plus souvent lide sous-jacente de ces politiques est de repousser le plus tard possible les activits contraintes strictes (tout en respectant lchance) si des activits contraintes souples sont en attente dexcution.

Ordonnancement de bout en bout


Dans des architectures rparties, il est frquent que des traitements impliquent plusieurs sites. Considrons par exemple une application de contrle-commande distribue sur deux sites A et B (cf. figure 2). Le dlai entre la lecture dun capteur sur le site A et lapplication de la consigne effectue sur un site B, que nous appellerons temps de rponse de bout en bout du systme informatique, peut tre soumis une contrainte de type date au plus tard. La dtermination du dlai maximum admissible devra naturellement tenir compte du comportement du processus physique sous contrle, e ici en t particulier, de la dynamique du systme aprs lapplication dune consigne.

lecture capteur tA proc. site A tr tB rseau proc. site B


temps de rponse de bout en bout du systme informatique temps de rponse partie oprative

consigne applique
Figure 2 : Dcomposition du temps de rponse de bout en bout du systme informatique dune application de contrle-commande rpartie sur deux sites. Le temps de rponse de bout en bout du systme informatique est la somme des temps de rponse sur les diffrentes ressources impliques : - sur le processeur A, il sagit de lire la valeur en provenance du capteur, deffectuer un ventuel traitement puis dmettre un message destination du site B, - le rseau devra acheminer le message qui pourra tre, dans certains cas, segment en plusieurs trames, - enfin sur le site B, la consigne est calcule puis applique.

En plus de la puissance de traitement des ressources, les dlais observs sur chacun des sites dpendront des autres activits en concurrence, des politiques dordonnancement et de certains choix de conception comme le fait dinvoquer les tches sur loccurrence dun vnement ou de faon priodique. Ces problmes dordonnancement sur des ressources en srie ont t bien tudis et des analyses existent lorsque EDF ou FPP est utilise comme politique dordonnancement processeur sur les diffrents sites (cf. [9] pour FPP et [1] pour EDF).

3] Comment vrifier le respect des contraintes ? lanalyse dordonnanabilit


Lanalyse dordonnanabilit consiste tudier la faisabilit du systme. Il sagit de vrifier que toutes les instances des activits respectent leurs contraintes sous une politique dordonnancement donne avec des paramtres fixs (priorits des tches sous FPP, dure dun quantum de temps sous une politique de type Round-Robin ..). En pratique, une analyse d'ordonnanabilit est soit un calcul explicite de bornes sur les temps de rponse, soit un test de faisabilit parfois simplement bas sur la charge globale du systme comme cest le cas pour les politiques FPP et EDF. L'intrt majeur de ces tests de faisabilit tient en leur complexit algorithmique restreinte: ils peuvent tre linaires en le nombre de tches l o un calcul explicite de temps de rponse a une complexit polynomiale. Par contre ils ne sont en gnral que suffisants ; certains ensembles de tches parfaitement faisables peuvent ne pas passer le test. Lanalyse d'ordonnanabilit ne rsout pas elle seule tous les problmes de conception lis lordonnancement, en particulier - elle ne rpond pas la question cruciale du choix de la ou des politiques dordonnancement et de leurs paramtres. Une analyse d'ordonnanabilit ne propose pas de solutions faisables, elle se prononce simplement sur la faisabilit dune allocation de politiques et de priorits qui lui aura t soumise, - elle est d'une aide limite pour l'optimisation du systme cause des hypothses ncessairement pessimistes sur les pires temps d'excution et puisque la seule trajectoire du systme qui est tudie est la plus pessimiste en termes de flux d'arrive de travail. Si par exemple le travail d'une tche doit tre rendu le plus rgulirement possible, il est souhaitable de minimiser la variabilit (la gigue ) sur ses dates de fins d'excution. L'allocation de priorits et de politique influera naturellement sur la qualit du systme vis--vis de ce critre. Pour dcider des bonnes politiques dordonnancement et de leurs paramtres, il est parfois ncessaire de faire appel des techniques d'optimisation comme les algorithmes gntiques compte tenu de la complexit algorithmique des problmes. Nanmoins il faudra toujours faire appel l'analyse d'ordonnanabilit pour distinguer les configurations faisables des configurations non-faisables et utiliser la simulation ou des mesures sur plate-formes pour valuer la qualit de chaque configuration faisable. Le lecteur pourra par exemple consulter [6] et [7]. Les analyses dordonnanabilit sont dans la littrature souvent qualifies danalyse du pire-cas (worst-case schedulability analysis) et il est parfois crit quelles donnent des garanties absolues sur les temps de rponse. Si en effet les hypothses faites en termes de quantit darrive de travail sont pessimistes, il faut bien tre conscient que ces analyses ne considrent absolument pas la possibilit doccurrence de divers alas qui peuvent toujours survenir dans un systme rel, comme des erreurs de transmission sur un rseau ou la dfaillance dun composant matriel. Si le systme est critique, dans le sens o le non respect dune de ses spcifications pendant son excution peut avoir des consquences graves, alors le concepteur devra tudier son systme sous le jour de la sret de fonctionnement pour ventuellement y introduire des mcanismes de tolrance aux fautes (redondance matrielle, mcanismes protocolaires ). Si quelques tudes (cf. [10]) ont eu pour objectif dintgrer des considrations de sret de fonctionnement aux analyses classiques de performances temporelles dans le pire cas, beaucoup de travail reste fournir dans ce domaine.

Conclusion
La parabole du Livre et de la Tortue permet de raliser que les problmes dordonnancement ne se rglent pas uniquement en considrant la puissance des ressources dautant plus que le dimensionnement des ressources au plus juste est gnralement un impratif conomique.

Nous avons fait un tour dhorizon des techniques dordonnancement les plus couramment utilises en voquant leurs avantages et inconvnients majeurs. Il est clair que bien dautres politiques peuvent se justifier vis--vis de certains objectifs particulier comme par exemple maximiser le throughput (on pourra alors utiliser la politique Shortest Processing Time First) ou rpartir quitablement la ressource (une politique de type Round-Robin est bien adapte). Dans la littrature technique, lordonnancement est souvent trop rduit aux analyses dordonnanabilit qui certes, sont des outils importants mais qui ne nous affranchissent pas de ltude des rpercussions des choix faits en matire dordonnancement sur le processus contrl. Dautre part, une rflexion sur lordonnancement sinsre dans une dmarche de conception globale qui ne pourra faire abstraction, pour les systmes les plus critiques, des questions de sret de fonctionnement. [1] J. Stankovic, M. Spuri, K. Ramamritham et G. Buttazzo. Deadline scheduling for real-time systems, Kluwer Academic Publisher, 1998. [2] C.L. Liu et J.W. Layland. Scheduling algorithms for multiprogramming in hard real-time environment. Journal of the ACM, 20(1):40-61, 1973. [3] B. Gaujal, N. Navet et J. Migge. Dual-priority versus background scheduling: a path-wise comparison. Accepte pour publication dans Real-Time Systems, disponible lurl http://www.loria.fr/~nnavet , 2001. [4] H. Chetto et M. Chetto. Some results of the earliest deadline scheduling algorithm. IEEE Transactions on Software Engineering, 15(10):1261-1269, 1989. [5] G. Le Lann. Critical issues for the development of distributed real-time computing systems, Rapport de recherche INRIA n1274, 1990. [6] N. Navet et J. Migge. Fine tuning the scheduling of tasks through a genetic algorithm: application to Posix1003.1b compliant OS. Accepte pour publication dans IEE Proceedings Software, disponible lurl http://www.loria.fr/~nnavet , 2002. [7] M. DiNatale et J.A. Stankovic. Applicability of simulated annealing methods to real-time scheduling and jitter control. In Proceedings of the 16th IEEE Real-Time Systems Symposium, 1995. [8] J. Delacroix. Towards a stable Earliest Deadline Algorithm, Real-Time Systems, 10(3), 263-291, 1996. [9] K. Tindell, A. Burns et A.J. Wellings. An extendible approach for analysing fixed priority hard realtime sytems, Real-Time Systems, 6(2), 1994. [10] N. Navet, Y.-Q. Song et F. Simonot. Worst-case deadline failure probability in real-time applications distributed over CAN, Journal of Systems Architecture, 46(7), 2000, disponible lurl http://www.loria.fr/~nnavet .

Glossaire:
Faisabilit : capacit de toutes les instances dun ensemble dactivits rcurrentes respecter leurs contraintes temporelles. Il sagira en gnral de contraintes dchances. On dit dun systme quil est faisable ou ordonnanable. Analyse dordonnanabilit : calcul qui permet de se prononcer sur la faisabilit dun ensemble dactivits. En pratique, il sagit gnralement didentifier et dtudier la trajectoire du systme la plus pessimiste vis--vis des contraintes vrifier. Politique dordonnancement : algorithme qui dcide de lattribution dune ressource. Cet algorithme peut tre excut pendant lexcution de lapplication (on parle alors dordonnancement en-ligne) mais lordonnancement peut-tre prcalcul hors-ligne et droul pendant lexcution.

FPP (Fixed Priority Preemptive) : politique dordonnancement de tches sous laquelle les diffrentes instances successives dune tche rcurrente possdent toutes la mme priorit et qui, tout instant, attribue le processeur la priorit la plus forte. Dans sa variante nonpremptive, cette politique est aujourdhui largement utilis dans des MAC comme CAN. EDF (Earliest Deadline First) : politique dordonnancement de tches qui, tout instant, alloue le processeur linstance de tches dont lchance est la plus proche. Cette politique est la meilleure du point de vue de la faisabilit et permet le taux dutilisation processeur le plus lev.

You might also like