Vous êtes sur la page 1sur 26

Ordonnancement temps rel

Ordonnancement rparti
par Francis COTTET
Professeur duniversit (ENSMA, Poitiers Futuroscope)
Ingnieur de lInstitut national polytechnique de Grenoble
Docteur s sciences
Jolle DELACROIX
Matre de confrences (Conservatoire national des arts et mtiers, Paris)
Docteur en informatique de luniversit Pierre-et-Marie-Curie
Claude KAISER
Professeur (Conservatoire national des arts et mtiers, Paris)
Ingnieur de lcole polytechnique, ingnieur du gnie maritime
Docteur s sciences
et Zoubir MAMMERI
Professeur duniversit (universit Paul-Sabatier, Toulouse)
Ingnieur, docteur en informatique
Habilit diriger des recherches

1. Introduction aux systmes temps rel et rpartis ......................... S 8 056 - 3


1.1 Systmes rpartis gnraux : caractristiques et problmes
de conception............................................................................................... 3
1.2 Rpartition matrielle et logique................................................................ 4
1.3 Problmes lis aux systmes temps rel et rpartis ................................ 4
2. Placement et migration de tches ...................................................... 5
2.1 Ordonnancement local et ordonnancement global.................................. 5
2.2 Placement de tches.................................................................................... 5
2.3 Placement dynamique de tches ............................................................... 6
2.4 Migration de tches..................................................................................... 8
3. Ordonnancement de messages ............................................................ 9
3.1 Introduction.................................................................................................. 9
3.2 Communication et rseaux temps rel...................................................... 10
3.3 Caractristiques des messages et qualit de service ............................... 11
3.4 Protocoles de niveau MAC (Medium Access Control).............................. 12
3.5 Ordonnancement de messages : principes gnraux et proprits ....... 14
3.6 Ordonnancement de messages priodiques ............................................ 15
3.7 Ordonnancement de messages apriodiques .......................................... 18
3.8 Tableau rcapitulatif .................................................................................... 20
4. Produits et exemples de ralisations ................................................. 20
4.1 Exemples de systmes dexploitation temps rel et rpartis .................. 20
4.2 Mthodes et outils de validation dapplications temps rel .................... 23
5. Conclusion ................................................................................................. 24
Rfrences bibliographiques ......................................................................... 25

L a complexit des procds commander ou superviser, le nombre lev


de donnes et dvnements traiter, la rpartition gographique des proc-
ds, dune part, et larrive depuis plusieurs annes, sur le march, de rseaux
locaux industriels, dautre part, sont tous des facteurs qui ont conduit repenser
les applications temps rel centralises. Aujourdhui, la notion darchitectures

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 1
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

temps rel et rparties est communment accepte dans le milieu industriel.


titre indicatif, les domaines dapplications qui font couramment appel aux syst-
mes temps rel et rpartis sont :
les tlcommunications (systmes de commutation) ;
le domaine mdical (assistance et contrle de malades) ;
le contrle dquipements (moteur, freins, suspension...) dans les
vhicules ;
le contrle et la rgulation de trafic en milieu urbain ;
les industries (contrle/commande de procds) ;
le domaine militaire (suivi de trajectoires de missiles) ;
le domaine arospatial (suivi de satellites, pilotage automatique) ;
le multimedia (tlconfrences, tlachat...) ;
la domotique (scurit dhabitations).
Un systme informatique destin commander ou superviser des opra-
tions est compos, le plus souvent, de plusieurs units de traitement (des ordi-
nateurs ou des automates programmables), des capteurs, des actionneurs, des
priphriques de visualisation et de dialogue avec les oprateurs. Lensemble de
ces lments est interconnect par un rseau ou toute une pliade de rseaux
interconnects entre eux (des rseaux industriels, des rseaux bureautiques, des
bus de terrain, etc.), comme le montre la figure A. Ce type de systme est quali-
fi de systme temps rel et rparti (ou distribu ou encore dcentralis).
Dans ce type de systme, lordonnancement de tches et de messages joue un
rle fondamental. Lordonnancement centralis de tches est trait dans larticle
Ordonnancement temps rel. Ordonnancement centralis de ce trait. Cest
lordonnancement de messages qui fait lobjet de cet article.

Calculateur Calculateur Calculateur


CFAO GPAO de gestion

Rseau d'usine

Passerelle
Contrleur Gestion de
de qualit Superviseur maintenance

Rseau de cellule

Automate Commande Commande


programmable numrique de robot

C C Capteurs C C
Bus de Bus de
terrain terrain
A A Actionneurs A A A

Figure A Exemple de systme temps rel et rparti

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 2 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

1. Introduction aux systmes Le dveloppement des systmes rpartis est motiv par plusieurs
raisons, notamment :
temps rel et rpartis la demande dinterconnecter le plus possible les applications
existantes, en particulier pour les services multimdias (tlconf-
rence, tl-enseignement, tlmdecine, ingnierie cooprative...) ;
On appelle systme temps rel et rparti tout systme compos
de plusieurs entits interconnectes par un sous-systme de com- la volont daugmenter la disponibilit dun systme informa-
munication et qui cooprent la ralisation dun ensemble de fonc- tique pour permettre le remplacement dun composant du systme
tions sujettes des contraintes de temps (ces contraintes pouvant par un autre sans dgradation significative (voire sans aucune
tre strictes ou non selon la nature de lapplication laquelle est dgradation) du service rendu. Cet aspect est primordial dans les
associ le systme) [9] [28] [56]. Les systmes temps rel et rpartis applications temps rel et rparties pour lesquelles les situations
sont des cas particuliers des systmes rpartis. Cest la raison pour darrt doivent tre les plus rares possibles. Dans les systmes auto-
laquelle nous commenons par nous intresser aux systmes rpar- matiss de production, larrt du systme temps rel est synonyme
tis qui ne prennent pas en compte explicitement des contraintes dun arrt de production ;
temporelles, pour voir les principaux problmes poss par ces sys- le souci de faciliter lvolution matrielle ou fonctionnelle dun
tmes et nous verrons ensuite les difficults considrer pour tenir systme en remplaant ou en ajoutant certains lments sans avoir
compte des contraintes de temps. arrter les autres lments du systme ;
le partage de ressources matrielles (des imprimantes, des
units de sauvegarde massive...) ou logicielles (des bases de don-
1.1 Systmes rpartis gnraux : nes, des logiciels...) ;
caractristiques et problmes la demande de plus de puissance de calcul au moindre cot
de conception (par exemple, plusieurs PC en rseau cotent moins cher quun gros
ordinateur) ;
enfin, les besoins dadaptation du systme informatique son
Un systme rparti est constitu dun ensemble de processeurs environnement : aujourdhui, que ce soit dans les applications
relis entre eux par un sous-systme de communication qui leur bureautiques ou dans les applications industrielles, les ordinateurs
permet dchanger des informations. Selon la nature du sous-sys- participant une application se rpartissent sur des tendues go-
tme de communication, on distingue les multiprocesseurs o la graphiques plus ou moins importantes sur plusieurs tages dun
communication peut se passer avec ou sans mmoire commune et immeuble, ou sur des dizaines de kilomtres carrs dans le cas de
les rseaux dordinateurs o la communication se passe obligatoire- raffineries de ptrole, par exemple. Il est donc important, pour le
ment sans mmoire commune (cest--dire, avec change de mes- systme informatique, de tenir compte de cette rpartition gogra-
sages). Les machines parallles sont constitues de plusieurs phique.
processeurs, en gnral identiques, fortement coupls. Les rseaux
dordinateurs sont forms de machines autonomes, gnralement Les systmes rpartis ont des caractristiques qui les distinguent
htrognes, faiblement couples. Les distances entre les proces- des systmes centraliss :
seurs dun rseau dordinateurs peuvent tre courtes (quelques
dizaines de mtres, voire moins) ou trs importantes (des milliers de les dlais de communication entre sites varient dun message
kilomtres, voire plus, pour les rseaux de satellites). Les distances lautre et aussi selon les protocoles du rseau de communication
entre les processeurs dune machine multiprocesseur sont infini- utiliss ;
ment plus petites (quelques centimtres, voire moins).
ils nont pas dhorloge commune. Chaque site a sa propre per-
On dit quun systme rparti est constitu dun ensemble de pro- ception du temps et, comme les horloges physiques drivent par
cesseurs, de sites ou de nuds interconnects entre eux (figure 1). rapport au temps de rfrence, les diffrents temps lus sur les sites
Par la suite, nous utiliserons indiffremment, lorsquil ny a pas peuvent tre diffrents une mme heure universelle ;
dambigut, les termes nud, site et processeur et nous ne ferons
pas de distinction entre les systmes rpartis construits autour labsence dune mmoire commune a pour consquence
darchitectures multiprocesseurs et ceux construits autour de limpossibilit de dfinir un tat global laide de variables commu-
rseaux dordinateurs. nes. Encore plus important, lexistence de dlais de communication
variables et labsence dun rfrentiel temporel commun ont pour
consquence que chaque site a sa propre vue qui peut tre diff-
rente de celles des autres sites un mme instant du temps
universel ;
Site comme le nombre dquipements dun systme rparti est
plus lev que celui dun systme centralis, les risques de
dfaillances y sont plus importants. Des mcanismes de tolrance
aux fautes doivent tre intgrs pour rpondre lexigence de ne
Site Rseau Site pas dgrader la sret de fonctionnement et, en particulier, la dispo-
nibilit de ces systmes [27] ;

de lexistence dinterfaces de communication avec lextrieur


rend les systmes rpartis plus vulnrables aux intrusions ;

Site communication Site les applications rparties sont plus complexes spcifier,
concevoir, implanter, tester et valider.

Limpossibilit de disposer instantanment dun tat global iden-


Site tique sur tous les sites pose beaucoup de problmes pour la prise de
dcisions relatives la gestion et au partage de ressources, la vali-
dation dactions atomiques faisant intervenir plusieurs sites, lta-
Figure 1 Architecture gnrale dun systme rparti blissement dune vue dun groupe participant une application

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 3
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

cooprative, etc. Cest aussi lune des principales sources de com- Il est important de signaler que la rpartition (ou dcentralisation)
plexit des algorithmes de placement de tches (cf. 2). doit tre considre sparment pour chaque fonction du systme.
Selon les spcificits dun systme, on peut avoir des fonctions cen-
Exemple : un site i diffuse, linstant t, un message pour informer tralises, dautres partiellement rparties et dautres compltement
les autres sites quil a une charge faible et quil est prt accueillir des
rparties. Par exemple, on peut avoir dans un mme systme : une
tches en provenance des autres sites. Juste aprs linstant t, une ava-
fonction compltement rpartie pour la synchronisation dhorloges,
lanche dvnements locaux se produit et le site i est oblig dexcuter
une base de donnes clates sur plusieurs sites, mais toutes les
un nombre important dactions pour rpondre aux vnements surve-
transactions sur la base sont contrles par un seul site et une ges-
nus, ce qui conduit une saturation momentane de ce site. Les
tion centralise des fichiers. Tout nest pas rparti dans un systme
autres sites recevant le message du site i dcident de lui envoyer des
rparti ! Il est clair quil ne peut y avoir de rpartition logicielle sans
tches excuter. la rception des tches, le site i les rejette, car il
rpartition matrielle, mais la rciproque nest pas vraie. La dcen-
est en situation de surcharge.
tralisation matrielle peut aider ou inciter la rpartition logicielle.
On remarque, travers cet exemple, que les dlais de communi-
cation donnent une image qui peut tre dpasse et qui conduit
entreprendre des oprations (de transfert de tches, par exemple)
qui seront annules.
1.3 Problmes lis aux systmes temps
Beaucoup de travaux ont t dvelopps depuis plus dune quin-
rel et rpartis
zaine dannes sur les diffrents problmes poss par les systmes
rpartis. Nous conseillons au lecteur dsireux dapprofondir ses Dans le cas des systmes temps rel, la rpartition est parfois
connaissances sur les systmes rpartis de consulter des ouvrages indispensable : le procd physique est fortement rparti, les traite-
tels que [4] [14] [25] [39] [45] [60]. ments, les contraintes temporelles dpassent les capacits dun seul
processeur, larrt du systme est inacceptable
La rpartition des systmes temps rel introduit de nouveaux pro-
1.2 Rpartition matrielle et logique blmes, notamment :
les calculs fonds sur les contraintes temporelles qui font rf-
rence au temps chronomtrique ou une date absolue risquent de
Les termes dcentralis, rparti et distribu sont souvent utiliss comporter des erreurs de calcul trop importantes et, partant, de ne
de manire ambigu. Pour les prciser, il faut tout dabord distin- pas tre crdibles, cause de drives trop grandes entre les horlo-
guer la rpartition matrielle et la rpartition logique. ges des diffrents sites ;
lobservation de lvolution des diffrents constituants du pro-
La rpartition matrielle (ou encore dcentralisation physique)
cd est retarde et diffrente dun site un autre cause des dlais
est obtenue en utilisant plusieurs units de traitement qui sont inter-
de communication variables ;
connectes par un sous-systme de communication. Par exemple,
les tests dordonnanabilit et les calculs de garantie des con-
un systme de contrle/commande constitu de capteurs et
traintes de temps de tches communicantes, donc lordonnance-
dactionneurs en contact direct avec le procd physique, dautoma-
ment temps rel rparti, sont tributaires de ces drives dhorloges et
tes programmables dans les salles de commande et de stations de
de ces dlais de communication ;
travail dans les salles de CAO, est un systme avec une architecture
la tolrance aux fautes est beaucoup plus complexe, ce qui
matrielle rpartie (ou dcentralise).
rend encore plus difficile de tolrer des fautes tout en respectant les
La taxinomie est plus complexe lorsquil sagit du logiciel. En contraintes de temps.
effet, il faut distinguer : Dans le cas de lordonnancement temps rel qui nous intresse
la rpartition des donnes (ou rpartition de linformation) ; ici, la rpartition implique lordonnancement conjoint de tches et
la rpartition des traitements ; de messages.
la rpartition du contrle. Le respect ou non des contraintes temporelles des messages se
Lensemble des informations (variables simples, fichiers...) qui rpercute de manire directe sur celui des tches, car lattente de
sont partages entre des tches distantes peut tre stock sur un rception dun message par une tche est quivalente lattente
seul site (on parle, dans ce cas, de stockage centralis de linforma- dacquisition dune ressource ; si le message narrive pas temps,
tion) ou clat sur plusieurs sites (on parle, dans ce cas, de stockage les contraintes temporelles de la tche ne peuvent tre garanties.
dcentralis de linformation). Cette rpartition ne prjuge en rien Lordonnancement de tches dans un systme rparti se rgle
sur la faon dont le contrle de laccs aux informations partages deux niveaux : au niveau de chaque processeur (ordonnancement
sera gr. local) et au niveau du placement de tches sur les processeurs. Le
La rpartition des traitements conduit affecter les program- problme dordonnancement local a t prsent dans larticle
mes (ou tches) des sites pour y tre excuts. Cette rpartition ne [S 8 055] de ce trait ; le problme de placement sera tudi dans le
prjuge en rien de la faon dont lexcution des programmes sera paragraphe suivant.
gre, cest--dire, de la faon dont sera effectu le contrle de La conception et limplantation des systmes temps rel et rpar-
lexcution des tches. tis ncessitent des protocoles de communication qui garantissent
Le contrle concerne le dclenchement et larrt des tches, le aux tches communicantes de recevoir, dans les dlais, les messa-
transfert des tches dun site vers un autre, laccs aux ressources ges qui leur sont destins. Pour les messages avec des chances
partages, la validation doprations faisant intervenir plusieurs strictes de dlivrance, il faut que les protocoles donnent des garan-
sites, etc. Il peut tre la charge dun seul site (il sagit dun contrle ties et, pour les messages non critiques du point de vue temporel, la
compltement centralis), dune partie des sites (il sagit dun con- stratgie du protocole est le meilleur effort (cest--dire, minimiser
trle partiellement rparti) ou de tous les sites (il sagit dun contrle le retard des messages et le nombre des messages tardifs). Toute-
compltement rparti). Lorsque le contrle est distribu, la prise de fois, la notion de meilleur effort doit tre utilise avec certaines
dcision (par exemple, pour valider une opration sur une base de prcautions dans le cas de systmes temps rel. Par exemple, per-
donnes, pour lancer la production dun ensemble de pices ou, dre une image sur dix dans le cas dune animation vido dans une
encore, pour sortir le train datterrissage dun avion) peut tre prise salle de commande est souvent sans consquence, par contre per-
par chaque site sparment, par tous les sites (dans ce cas, si un dre neuf images sur dix rend le systme de supervision inutile aux
seul site manque, la dcision ne peut tre prise) ou la majorit des yeux des oprateurs. La garantie des contraintes temporelles de
sites (on parle, dans ce cas, de dcision par consensus). messages passe par un ordonnancement adquat des messages.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 4 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

Le paragraphe 3 est rserv ltude du problme de lordonnance- quune tche ne requiert quun seul processeur la fois pour son
ment de messages et de ses solutions. excution). On remarque aisment que si les paramtres n et p ont
Dans un systme temps rel et rparti, les tches sont synchroni- des valeurs leves, lobtention dune solution au bout dun temps
ses en utilisant le temps chronomtrique (par exemple, activation raisonnable devient vite impossible. Sauf pour des cas trs simples,
de tches des instants prcis ou de manire priodique). Il en est le problme de placement de tches est un problme NP-complet
de mme pour la datation de donnes et dvnements apparais- [20] (cest--dire, un problme qui ne se rsout pas avec un algo-
sant sur les diffrents sites. Le bon fonctionnement dun systme rithme qui donne un rsultat au bout dun temps polynomial). Cest
rparti ncessite le plus souvent lexistence dun temps global la raison pour laquelle la quasi-totalit des travaux qui ont trait le
accessible tous les sites. La solution la plus couramment utilise problme de placement de tches utilisent des techniques approxi-
pour tablir un temps global est la synchronisation dhorloges phy- matives et des heuristiques.
siques. Dautres solutions fondes sur lutilisation de rcepteur dun Le problme de placement consiste souvent rechercher dabord
temps diffus par une station de radio ou un satellite commencent une solution qui respecte le plus possible les contraintes initiales
tre envisages. Beaucoup dalgorithmes ont t proposs pour puis choisir le meilleur placement, si plusieurs placements ont t
rgler le problme de synchronisation dhorloges. Le lecteur dsi- trouvs. La recherche dun placement doit tenir compte des con-
reux dapprofondir ses connaissances sur ce sujet peut consulter les traintes initiales des tches, de lenvironnement support ainsi que
rfrences [19] [21]. des critres optimiser.
Les contraintes initiales peuvent tre diverses :
existence ou non de tches contraintes strictes pour lesquel-
2. Placement et migration les la garantie des chances est une ncessit quelle que soit la
charge du systme ;
de tches obligation pour certaines tches de rsider sur un processeur
prcis disposant de ressources matrielles ou logicielles spcifiques
(par exemple, une tche dacquisition de mesures doit se trouver
sur la machine en contact direct avec le procd physique) ;
2.1 Ordonnancement local
limitation du nombre de tches sexcutant sur chaque
et ordonnancement global processeur ;
interdiction deux tches donnes de sexcuter sur un mme
Dans les systmes rpartis, on distingue deux types site (par exemple, pour des raisons de tolrance aux fautes, on
dordonnancement : lordonnancement local et lordonnancement exige quune tche et sa copie ne sexcutent pas sur un mme
global. site) ;
Lordonnancement local consiste allouer un processeur aux regroupement de tches utilisant certaines ressources ;
tches affectes ce processeur, en tenant compte de leur urgence etc.
et de leur importance.
Afin de chercher un bon placement, il est important de prciser
Lordonnancement global a, quant lui, pour mission dessayer les critres (ou fonctions de cots) optimiser. Dans les systmes
de garantir les contraintes de tches en exploitant les capacits de temps rel, le critre le plus important est videmment le respect
traitement des diffrents processeurs composant le systme rparti des contraintes temporelles : (1) garantir le respect des contraintes
considr (en procdant, ventuellement, des migrations de temporelles des tches contraintes strictes et (2) minimiser le
tches). nombre de tches contraintes relatives qui dpassent leurs
Ainsi, un ordonnanceur local a pour objectif de rpondre la chances. Dautres critres peuvent tre envisags ensuite. Beau-
question quand excuter une tche sur le processeur local, de coup de travaux ont t dvelopps dans le contexte de lordonnan-
manire respecter les contraintes imposes cette tche ? . Un cement non temps rel (cest--dire, dans des problmes
ordonnanceur global, quant lui, cherche rpondre la question doptimisation concernant, par exemple, la gestion de production
quel est le site le mieux adapt pour excuter une tche donne, ou des emplois du temps, le transport, lintelligence artificielle, etc.)
de manire respecter ses contraintes ? . montrant comment on peut optimiser un ou plusieurs critres. Dans
le cas de lordonnancement dans des systmes rpartis, on peut
Le placement et lordonnancement sont indissociables dans le cas
avoir comme critre doptimisation :
des applications temps rel : il faut placer les tches sur lensemble
des processeurs de telle sorte que lordonnancement local conduise la minimisation de la dure totale dexcution de lensemble
imprativement au respect des contraintes de temps des tches cri- des tches ;
tiques du point de vue temporel. Lordonnancement local utilise des la minimisation du nombre de processeurs utiliss ;
algorithmes comme ceux prsents dans larticle [S 8 055]. Nous
nous intressons ici aux diffrents aspects de lordonnancement la minimisation de la charge de communication ;
global, cest--dire, les aspects lis au placement et la migration lquilibrage de charge des processeurs.
des tches.
Selon la nature de lapplication et le systme support de lapplica-
tion, on est amen privilgier certains critres. Par exemple, si le
rseau de communication utilis est un rseau Ethernet un rseau
2.2 Placement de tches qui ne garantit pas de temps de rponse born et dont le rendement
scroule si les demandes de transmission dpassent un certain
seuil il est souvent conseill de chercher particulirement mini-
2.2.1 Problme de placement de tches miser les communications pour permettre aux tches places sur
des machines distantes de recevoir leurs messages temps et donc
de se terminer temps.
premire vue et de manire simplifie, on peut considrer que
le problme de placement (ou allocation, en anglais noter aussi Les critres optimiser sont parfois en contradiction les uns avec
que certains utilisent le terme allocation de tches au lieu de les autres. Par exemple, rduire la charge de communication con-
placement de tches ) de n tches sur p processeurs conduit duit regrouper les tches sur un nombre rduit de processeurs, ce
tudier pn cas de placements possibles (en supposant videmment qui aboutit donc des processeurs plus chargs que dautres.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 5
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

2.2.2 Classes dalgorithmes et techniques placement statique est la solution utilise aujourdhui dans les
de rsolution du problme de placement applications temps rel rparties industrielles. Il y a deux principales
raisons cela :
Selon le nombre de processeurs, le nombre de tches placer et le placement dynamique est complexe, encore peu tudi, et
les contraintes temporelles, les contraintes de prcdence et les donne rarement une garantie absolue quant au respect des con-
contraintes de ressources, deux familles dalgorithmes peuvent tre traintes temporelles ;
utilises : le choix dune architecture matrielle et logicielle (nombre et
les algorithmes exacts (ou optimaux) qui procdent par nu- types de processeurs, type de rseau, types de systmes dexploita-
mration pour trouver la solution optimale. De tels algorithmes tion...) est souvent dict par les spcificits de lapplication et on
deviennent trs vite irralistes lorsque la taille du problme est construit, par consquent, une architecture sur mesure pour per-
importante, cause de lexplosion combinatoire de cette mettre aux tches de respecter leurs chances tout en tant pla-
numration ; ces de manire statique.
les algorithmes approchs (ou non optimaux) qui permettent On a dpass aujourdhui le stade des applications temps rel et
de trouver une solution qui ne respecte pas ncessairement toutes rparties composes uniquement de tches cycliques de rgulation
les contraintes. Parfois, la solution obtenue peut tre la solution avec un nombre dentres et de sorties parfaitement connu et o
optimale. lon prvoit un arrt durgence ds quun vnement survient. Impo-
ser une connaissance fige sur une application temps rel et rpar-
Les mthodes utilises par les algorithmes de placement de
tie complexe est synonyme dun surdimensionnement parfois
tches sont notamment :
excessif de larchitecture. Cest ainsi que des travaux sont effectus
la technique du branch-and-bound, la programmation dynami- pour viter ce surdimensionnement et proposer des mcanismes
que et la thorie des graphes, pour les algorithmes optimaux (la plus dynamiques [13] [52] [54] [56] [57] [74]. On soriente la fois
thorie des graphes tant la technique la plus utilise). Une des vers un ordonnancement local dynamique et un placement dynami-
mthodes utilises dans les algorithmes de placement fonds sur la que.
thorie des graphes consiste dterminer des coupes minimales
dun graphe contenant les tches, les processeurs et les liens de La technique idale du placement serait celle qui permettrait de
communication, pour dterminer des solutions de placement. Les trouver instantanment le meilleur site pour accueillir une tche qui
algorithmes fonds sur la programmation dynamique reprsentent est dclenche ou qui doit reprendre son excution aprs une inter-
le problme de placement sous forme dun problme doptimisation ruption. Le transfert dune tche dun site vers un autre ne doit
avec minimisation dune fonction de cot sous contraintes ; remettre en cause aucune des tches plus prioritaires en cours
les mthodes approximatives et heuristiques (telles que le dexcution sur le systme rparti et ne doit pas affecter les perfor-
recuit simul, le tabou, les algorithmes gntiques, les rseaux de mances globales du systme. Ce rsultat est impossible atteindre
neurones et les algorithmes gloutons) pour les algorithmes non dans la pratique cause du dlai ncessaire pour obtenir un tat
optimaux. Les mthodes itratives (algorithmes gntiques, exact et valide de lensemble des sites dun systme rparti (parce
rseaux de neurones, recuit simul et tabou) partent dune solution que lobtention de cet tat demande de nombreux messages avec
et tentent de lamliorer par des itrations successives. Les algorith- des dlais de transfert variables). Par ailleurs, les transferts nces-
mes gloutons tentent datteindre la solution sans remettre en ques- saires pour la migration de tches peuvent compromettre le respect
tion les choix dj effectus. Ils fournissent en gnral des solutions des contraintes temporelles de tches et les performances globales
moins bonnes que les autres mthodes. du systme.

Dans les applications non temps rel, lexception des applica-


tions de petites tailles, les algorithmes non optimaux sont quasi-
ment les seuls tre utiliss dans la pratique. Pour des applications 2.3 Placement dynamique de tches
temps rel contraintes temporelles strictes, les algorithmes non
optimaux sont inadquats, car ils ne donnent aucune garantie quant
au respect des contraintes temporelles des tches. Par consquent, On distingue deux grandes classes dalgorithmes de placement
des algorithmes optimaux doivent tre utiliss. Pour viter les pro- dynamique :
blmes dexplosion combinatoire, on impose souvent des contrain- le placement sans coopration (ou placement aveugle) : au
tes initiales restrictives permettant de trouver, au bout dun temps moment o une requte dexcution de tche est cre, un site est
raisonnable, une solution garantissant le respect des contraintes choisi de manire alatoire pour excuter la tche considre ;
temporelles strictes des tches. Par exemple, on impose que toute
le placement avec coopration : les sites schangent des
tche critique du point de vue temporel doit tre priodique, ou
informations pour dterminer le site sur lequel sera place la tche
encore que toutes les ressources doivent tre affectes une tche
dont la requte dexcution vient dtre cre.
avant de dmarrer son excution.
Les techniques de placement sans coopration sont simples
mettre en uvre. Comme elles ne tiennent pas compte des charges
2.2.3 Placement statique et placement dynamique des sites, elles peuvent conduire des surcharges de certains sites,
donc des chances de tches qui ne seront pas respectes.
Les tches constituant une application rpartie peuvent tre affec- Les techniques de placement avec coopration tiennent compte
tes de manire statique ou dynamique aux sites. Dans le premier de la charge dexcution de chaque site avant de lui affecter de nou-
cas, on parle de placement statique, dans le deuxime, de place- velles tches. Quand le surcot en temps quelles introduisent est
ment dynamique. Dans le premier cas, il ne peut plus y avoir de pla- acceptable, elles sont alors plus efficaces pour lquilibrage de
cement des tches pendant lexcution de lapplication, le charge et le respect des chances de tches, mais elles sont plus
placement des tches est donc fig la configuration du systme. complexes mettre en uvre.
Dans le deuxime cas, lalgorithme dordonnancement choisit de Un algorithme de placement avec coopration est compos dune
placer chaque tche sur le site le plus apte respecter ses contrain- fonction de contrle et, ventuellement, dune fonction de collecte
tes temporelles, au moment o elle est dclenche. dinformations [17], [59]. Cette dernire fonction, quand elle est pr-
Le placement statique utilise une connaissance statique : le nom- sente, a pour objectif de recueillir et de maintenir des informations
bre de tches, les cots de communication, la charge du rseau, les concernant ltat et la charge des sites du systme rparti. La fonc-
bornes des temps de transfert de messages, les temps dexcution tion de contrle permet de dterminer les sites de placement des
sur les processeurs, etc. sont dtermins une fois pour toutes. Le tches.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 6 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

2.3.1 Collecte dinformations de charge quun site de placement est trouv, la tche placer peut directe-
ment commencer son excution.
Les changes dtat entre sites peuvent se faire de manire prio-
dique ou la demande. Il est vident que plus les changes dinfor-
mations dtat des sites sont frquents, plus la vue de ltat global 2.3.3 Placement dynamique centralis
du systme est prcise. En contrepartie, plus la charge du rseau est et placement dynamique rparti
leve, plus la probabilit dchec du respect des contraintes tem-
porelles de tches distantes communicantes est leve, car les mes- Pour la collecte dinformations relatives la charge des sites, cha-
sages changs entre tches peuvent ne plus arriver temps. Il faut que site peut avoir sa propre vue de ltat du systme (il sagit dune
essayer de trouver un compromis entre le vieillissement des infor- solution rpartie) ou bien toutes les informations dtat peuvent tre
mations de charge et le cot de communication engendr par leur stockes sur un seul site (il sagit dune solution centralise). Dans le
collecte. cas dune fonction de collecte centralise, chaque processeur peut
Au lieu de raisonner sur une charge exacte des processeurs, on envoyer sa charge au site central, soit priodiquement, soit quand
utilise comme indicateur de charge la notion de seuil de charge, et elle a chang de faon significative, ou encore la demande du site
on parle alors de site ayant une charge normale, de site sous-charg central. Dans le cas dune fonction de collecte rpartie, chaque site
(ou faiblement charg) et de site surcharg (ou avec une charge le- peut collecter les informations concernant les autres sites de
ve). manire priodique ou bien quand il a besoin de transfrer une
tche.
Limpossibilit davoir instantanment un tat global fait que la
plupart des algorithmes de placement dynamique proposs ne don- Les dcisions de transfert peuvent tre prises par un seul site pri-
nent pas de solution optimale. On soriente donc vers lutilisation de vilgi (il sagit dune solution centralise), ou bien chaque site peut
techniques approches et dheuristiques. dcider sparment de transfrer des tches (il sagit dune solution
rpartie). De la mme manire, la fonction de localisation peut tre
centralise (dans ce cas, tout site qui veut transfrer une tche
2.3.2 Contrle de transfert demande au site central de lui trouver un site de placement) ou bien
rpartie (dans ce cas, le choix du site de placement est effectu par
chaque site qui souhaite transfrer une tche ou par consensus
Deux aspects sont souvent distingus dans la fonction de contrle
entre les sites du systme).
de transfert : la politique de transfert et la politique de localisation.
La politique de transfert dcide du choix de la tche transfrer. La Il y a donc plusieurs faons de concevoir des algorithmes de pla-
politique de localisation dcide du choix du processeur vers lequel cement dynamique avec coopration. On peut avoir des algorith-
sera transfre la tche slectionne. mes avec ou sans collecte dinformations de charge. On peut avoir
des algorithmes compltement centraliss (toutes les fonctions sont
Pour la politique de transfert, on distingue deux approches :
centralises), des algorithmes partiellement rpartis (certaines fonc-
celle des seuils de charge : lorsque la charge dexcution sur tions sont centralises et dautres rparties) ou des algorithmes
un processeur dpasse un seuil fix, les tches nouvellement compltement rpartis (toutes les fonctions sont rparties).
dclenches doivent tre places sur dautres sites. Et inversement,
lorsque la charge du processeur est au-dessous de ce seuil, celui-ci Les solutions centralises sont simples mettre en uvre, mais
excute les tches dclenches localement et peut aussi accepter prsentent deux inconvnients majeurs :
des tches provenant dautres sites ; elles ne sont pas tolrantes aux fautes. La panne du site sur
celle du placement systmatique : une procdure de recherche lequel est implante une fonction de lalgorithme de placement
dun site de placement est lance pour chaque nouvelle requte entrane limmobilisation du placement, si aucun mcanisme de
dexcution de tche, et cela indpendamment de la charge du site redondance na t prvu. Cela conduit ajouter un mcanisme
sur lequel cette requte a t faite. dlection, coteux en messages et en temps, qui permet de choisir
Le choix dune politique de localisation dpend de lexistence ou un site parmi un ensemble de sites de secours explicitement conus
non dune fonction de collecte dinformations de charge. Si cette pour reprendre le contrle lorsque le site central courant tombe en
dernire fonction existe, le site prsentant la charge la plus faible est panne ;
choisi pour accueillir la tche placer. Si elle nexiste pas, le choix elles conduisent la cration dun goulet dtranglement au
du site de localisation peut se faire principalement de deux niveau du processeur qui gre la fonction, ce qui peut avoir comme
manires : consquence le ralentissement de tout le systme.
tous les sites sont interrogs pour trouver un site faiblement Les solutions rparties demandent la participation de tous les
charg. Si un seul site faiblement charg est trouv, la tche placer sites la ralisation de lalgorithme de placement, ce qui donne plus
est transfre vers ce site. Si plusieurs sites faiblement chargs sont de capacits de tolrance aux fautes. Linconvnient de ces solu-
trouvs, le site qui engendre le cot de transfert le plus faible est tions est leur complexit. Comme, dans les applications temps rel,
retenu. Si aucun site faiblement charg nest trouv, la tche doit la tolrance aux fautes est souvent une exigence de base, les solu-
tre excute localement ; tions rparties sont plus adaptes.
la demande de placement est envoye tous les sites. Par un Pour trouver un compromis entre la simplicit des solutions cen-
protocole daccord avec consensus, lensemble des sites se met tralises et la robustesse des solutions rparties, certains prconi-
daccord sur le site de placement [24]. sent lutilisation dapproches hybrides [74] : grer le placement de
Le cot de transfert dune tche dpend principalement du rseau manire hirarchique. Par exemple, si le systme rparti est com-
utilis. Si tous les sites sont relis par rseau local en bus diffu- pos de plusieurs machines multiprocesseurs, le placement de
sion, le cot de transfert est quasiment le mme quels que soient les tches peut tre gr de la manire suivante : sur chaque machine,
sites concerns ; par contre, si les sites sont interconnects par un on fixe un processeur privilgi qui gre, de manire centralise, les
rseau en structure maille, le cot de transfert dpend de chaque informations de charge des processeurs de cette machine. Les pro-
couple de sites (car entre deux sites, on peut trouver plusieurs sites cesseurs privilgis des diffrentes machines schangent leurs
intermdiaires qui relayent les messages et qui conduisent donc informations de charge. Si la charge des processeurs locaux le per-
un accroissement du dlai de communication). Pour rduire le cot met, le processeur privilgi associ une machine donne dcide
de transfert de tches, certains prconisent, lorsque cest possible, de placer les tches dclenches localement sur des processeurs
de prvoir une copie du code et du contexte initial de chaque tche locaux. Sinon il utilise les informations de charge des autres machi-
sur tous les sites sur lesquels cette tche peut sexcuter. Ainsi, ds nes, pour leur demander daccepter de recevoir des tches.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 7
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

2.4 Migration de tches Politique linitiative de loffreur


Quand un site se considre comme sous-charg, il informe les
autres de sa capacit (dite information de surplus) daccepter des
Les algorithmes de placement dynamique permettent de trouver tches. Lorsquun site dcide de migrer une tche, il choisit le site
un site o sera excute une tche qui vient dtre cre ou dclen- ayant diffus rcemment le plus de capacits (ou de surplus)
che. Si une tche place sur un site doit sexcuter entirement sur accueillir des tches (figure 2 b).
le site qui lui a t choisi, on parle de systme rparti sans
migration ; si une tche peut changer de site pendant son excu- Politique mixte
tion, on parle de systme rparti avec migration . Cest une politique qui combine les avantages des deux politiques
La migration dune tche en cours dexcution consiste transf- prcdentes. Lide est danticiper le plus possible sur le transfert de
rer son contexte (cest--dire, ses donnes, les registres du proces- tche en envoyant la tche migrer sur un site foyer (si celui-ci
seur) qui volue au fur et mesure que la tche sexcute et existe) qui est suppos avoir une charge lui permettant daccepter la
transfrer ventuellement son code (cest--dire, les instructions et tche migrer, et en diffusant, en mme temps, une requte
les constantes qui composent le programme de la tche) qui est denchres (requte qui contient les adresses des sites demandeur
fixe. Pour minimiser le temps de migration dune tche, le code des et foyer). Cest le site foyer (sil existe) qui reoit les rponses aux
tches susceptibles de migrer est dupliqu sur les sites sur lesquels enchres et qui dcide soit dexcuter localement la tche qui lui a
ces tches peuvent sexcuter. Ainsi, en cas de migration, seul le t transfre soit de procder une migration en fonction des
contexte de la tche est transfr. offres reues. Si aucun site foyer na t choisi, le site demandeur
La migration des tches est une fonction importante dans un procde comme dans le cas de la premire politique (cf. figure 2 c).
algorithme dordonnancement global. Elle permet de tenir compte La politique linitiative du demandeur engendre trois types de
des volutions du systme en rpartissant, de manire dynamique, messages pour chaque demande de migration (message de requte
la charge dexcution des tches sur lensemble des processeurs. denchres, message de rponse et message de transfert de tche).
Par ailleurs, le changement dynamique du site dexcution dune La politique linitiative de loffreur engendre deux types de mes-
tche constitue un moyen daccrotre la tolrance aux fautes du sys- sage (message dacceptation de tche et message de transfert de
tme. tche). Si la charge des sites est leve, la plupart des tentatives
Plusieurs politiques de migration ont t tudies. Ces politiques pour trouver un site daccueil pour faire migrer une tche restent
se distinguent selon que le site demandeur (celui qui souhaite sans succs. Do un accroissement inutile de la charge du rseau.
migrer une tche) prend linitiative ou non du transfert de tche. Dans ce cas, la politique linitiative de loffreur est plus efficace (car
elle minimise la charge du rseau). Cependant, si la charge des sites
Politique linitiative du demandeur est faible, la politique linitiative de loffreur nest pas efficace, car
Cette technique, dite technique des enchres , est bien connue elle conduit des messages mis par des sites pour offrir leur ser-
dans les algorithmes de rpartition de charge. Lorsquun site est en vice, mais comme les autres sites ne sont pas chargs, leurs offres
surcharge, il diffuse une requte denchres tous les autres sites restent sans rponse. Dans ce cas, la politique linitiative du
(figure 2 a). la rception dune requte denchres, un site envoie demandeur est plus efficace. Le seuil de charge partir duquel une
son cot dexcution au site ayant mis la requte. Quand le site politique est plus efficace quune autre est difficile dterminer
demandeur a reu les cots attendus, le site avec le cot le plus fai- dans le cas gnral. titre indicatif, des simulations faites sur la
ble est retenu. moyenne des retards et le pourcentage des tches qui terminent
leur excution en respectant les contraintes ainsi que sur la migra-
tion des tches montrent que ce seuil est de lordre de 75 % [2].
Une proprit importante exige pour les mthodes de migration
Site Site Site Site Site Site est la transparence. Un mcanisme de migration est transparent, si
offreur demandeur offreur offreur demandeur offreur toutes les tches qui communiquent avec une tche sexcutent de
la mme manire que cette tche ait migr ou non. Par ailleurs, la
migration ne doit pas apparatre explicitement dans le programme
RED de la tche : le problme de migration de tches se pose au systme
DM M OA
RE T T et non au programmeur.
OA
OR Le choix dune tche migrer doit tenir compte de plusieurs
ED DM
M E paramtres : charge du rseau, charge des sites, caractristiques
OR TT
M des tches et localisation des ressources quelles utilisent, etc. Le
surcot de migration (cest--dire le temps ncessaire pour dtecter
M la surcharge, dterminer le site rcepteur, transfrer le contexte de
TT
la tche et transfrer la tche elle-mme, avertir ventuellement
a politique sur initiative b politique sur initiative dautres sites sur lesquels sont places des tches qui communi-
du demandeur de l'offreur quent avec la tche migrer, etc.) peut tre incompatible avec le res-
pect des contraintes de temps imposes la tche. La migration
Site Site Site Site dune tche qui a une faible dure dexcution, dune tche qui a
offreur demandeur offreur foyer beaucoup de liens de communication avec dautres tches situes
sur le mme site quelle, ou dune tche qui utilise beaucoup de res-
TTM c politique mixte sources situes sur son site de placement actuel conduit souvent
RED des baisses de performances globales. Ainsi, les mcanismes de
DM M
RE REDM : requte d'enchres migration, sils ne sont pas utiliss avec prcaution, peuvent con-
ORED OR de demande de migration duire des situations dinstabilit, voire dcroulement du systme.
M ED OREDM : offre une requte
M En effet, les migrations peuvent conduire des surcharges des sites
d'enchres de demande
de migration et du rseau, puis les sites surchargs vont demander faire migrer
TTM TTM : transfert de la tche certaines tches, et le systme peut se trouver compltement satur
migrer par des oprations de migration. Cest pour ces raisons, surcot
OAT : offre d'accueil de tches individuel et baisse globale des performances, que beaucoup
dalgorithmes de migration de tches ne concernent encore que des
Figure 2 Politiques de migration applications non temps rel.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 8 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

Des tudes danalyse et dexprimentation de techniques de


migration ont t menes depuis de nombreuses annes. Mme sil Placement de tches
est difficile de comparer les rsultats des modles analytiques, de
simulation ou probabilistes faits avec des hypothses diffrentes,
certaines conclusions gnrales semblent apparatre [6].
Placement dynamique Placement statique
Lorsquon ne considre, lors de la slection de tches migrer,
que des tches qui ncessitent des temps dexcution longs, la plu-
part des algorithmes de migration apportent une amlioration du
Non optimal Optimal
temps de rponse moyen. Non optimal Optimal
Plus la charge des sites est dsquilibre, plus lutilisation
dalgorithmes de migration est efficace.
Les meilleurs rsultats sont obtenus avec les algorithmes de
migration exploitant des informations de charge globales sur le sys-
tme, condition que le surcot engendr par lacquisition de ces Algorithmes Algorithmes
informations ne soit pas un frein la migration. non coopratifs coopratifs
Le type de rseau et, en particulier, le protocole daccs au
mdium dtermine lefficacit de la migration. Par exemple, sur un
rseau de type Ethernet, la migration conduit une surcharge du Avec collecte
d'informations de charge Sans collecte
rseau, donc une baisse du rendement qui peut aller jusqu la
d'informations
saturation complte du rseau par des trames en collision, alors de charge
que, sur un rseau en bus jeton, la migration ne conduit pas
lcroulement du rseau. Laugmentation de la charge sur le rseau
conduit des temps de transfert plus importants et peut augmenter Centralise Distribue Hybride
le nombre de tches qui ne reoivent pas leurs messages temps.
On peut se demander alors si la migration peut apporter un rel
bnfice par rapport au placement statique. La rponse cette ques-
tion nest pas simple. Elle dpend du type de lapplication et du sys- Politique de transfert
tme support. Si lapplication est dynamique de nature
(dclenchement de tches de manire alatoire), une approche par
placement fixe (partant des connaissances minimales) nest pas effi-
cace. Dans une application temps rel et rpartie, si lon considre Centralise Distribue Hybride
que lensemble des sites doit excuter en priorit les tches urgen-
tes ou importantes, la migration de tches peut apporter des solu-
tions la minimisation des tches tardives.
Politique de localisation
Signalons enfin que de nombreuses synthses sur le problme de
placement, dans le cas non temps rel, dans des architectures paral-
lles ou rparties, ont t proposes dans la littrature. Nous con-
seillons le lecteur de se rfrer notamment aux rfrences suivantes Centralise Distribue Hybride
[2] [3] [6] [7] [10] [13] [17] [59] [74]. En revanche, peu de travaux ont
tudi le placement dans le cas des systmes temps rel et rpartis.
Le lecteur pourra trouver des exemples danalyse et dexprimenta-
tion de certaines des mthodes de placement prsentes prcdem-
ment dans les rfrences [5] [11] [22] [24] [52] [54] [57] [62] [63]. Ces Avec migration Sans migration
derniers travaux ont trait principalement des tches priodiques.
La figure 3 rsume les principales alternatives concernant les
mthodes de placement de tches dans les systmes rpartis.
Sur initiative Mixte Sur initiative
de l'offreur du demandeur

Figure 3 Principales alternatives de conception des algorithmes


3. Ordonnancement de placement de tches
de messages
pas pouvoir traiter la cause du dclenchement de lalarme avant
quelle nengendre une dfaillance, alors quun transfert de fichier
3.1 Introduction ne ncessite pas en gnral un respect de contraintes temporelles
strictes. Si un message arrive au-del du dlai fix, il est alors consi-
dr comme perdu. Un message doit tre correct du point de vue
Comme nous lavons dj soulign, les applications temps rel et contenu, mais aussi du point de vue temporel. Par exemple, une
rparties imposent des contraintes temporelles sur lexcution des mesure de temprature qui est prleve par un capteur correct,
tches ; ces contraintes se rpercutent directement sur les messa- mais qui arrive deux secondes plus tard un automate de rgula-
ges changs entre les tches lorsque celles-ci sont places sur des tion ayant un cycle dune seconde, est considre comme obsolte,
processeurs diffrents. donc incorrecte.
Dans une application temps rel, certaines tches peuvent avoir Ainsi, la principale caractristique qui permet de distinguer les
des contraintes temporelles strictes et dautres non. De la mme communications temps rel des autres types de communications
manire, les messages changs entre ces tches peuvent avoir des rside dans cette ncessit de respecter les dlais de transfert de
contraintes strictes ou non. Par exemple, un message dalarme doit messages. Les systmes de communication doivent permettre
tre transmis et reu avec des contraintes strictes sous peine de ne dexprimer les contraintes de temps des messages et doivent int-

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 9
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

grer des protocoles qui garantissent le respect des contraintes de 3.2 Communication et rseaux temps rel
temps spcifies dans les services.
Diffrents travaux ont t consacrs la prise en compte des con-
Une communication temps rel est dfinie par des contraintes de
traintes de temps sur les messages dans les rseaux commutation
temps explicites, cest--dire quelle doit commencer ou se terminer
de paquets et dans les rseaux locaux accs multiple. Dans la pre-
dans un intervalle de temps dtermin. En gnral, les contraintes
mire catgorie de rseaux, les travaux ont t essentiellement con-
temporelles associes un message temps rel sont de deux types :
sacrs ATM (Asynchronous Transfer Mode) pour la prise en
un dlai de transfert born et une gigue borne. Les rseaux qui dis-
compte des contraintes de temps dans les applications multimdias
posent des mcanismes adquats pour garantir le respect de ces
[26] [51] [66] [67] [69] [73]. Dans la seconde catgorie de rseaux, les
contraintes sont appels rseaux temps rel. Les industriels les
travaux ont port essentiellement sur des rseaux de type [CSMA
dsignent aussi comme des rseaux locaux industriels.
(Carrier Sense Multiple Access) avec ses diffrentes variantes
CSMA/CD (with Collision Detection), CSMA/CA (with Collision Beaucoup de travaux ont recens les proprits que doivent pos-
Advoidance), CSMA/DCR (with Deterministic Collision Resolution)], sder les rseaux temps rel [18] [41] [43] [44] [50] [58] [72] :
bus jeton, boucle jeton, FDDI (Fiber Distributed Data Interface) et prdiction des temps de rponse des messages contraintes
FIP (Flux dInformation Processus) [1] [31] [36] [58] [68] (cf. 3.4). strictes ;
borne maximale connue pour le dlai de transfert ;
Quand on sintresse lordonnancement de messages temps
faible gigue ;
rel, ces deux catgories de rseaux prsentent des diffrences
significatives. haut degr dordonnanabilit, cest--dire garantie a priori du
respect des contraintes temporelles dun nombre lev de
messages ;
Rseaux commutation de paquets
possibilit dchanges priodiques ou apriodiques de
Chaque station relie au rseau est considre comme un messages ;
abonn et ne connat pas les protocoles utiliss lintrieur du possibilit dchanges de messages avec des contraintes de
rseau de commutation. temps strictes ou non ;
robustesse des protocoles, cest--dire aptitude continuer
Pour transmettre ses donnes, chaque abonn tablit une con-
fonctionner correctement en prsence de variations du trafic et de
nexion selon un contrat lui garantissant une certaine qualit de ser- surcharges ;
vice (taux de perte, dlai maximal pour le transfert, etc.). Les bonnes performances et surcot peu important ;
stations (ou abonns du rseau) ne peuvent ni rentrer en compti-
tolrance aux fautes ;
tion les unes avec les autres, ni se consulter pour savoir laquelle doit
fiabilit des transferts ;
mettre des donnes. Tout abonn sadresse au nud du rseau (un
commutateur ATM, par exemple) auquel il est directement raccord, fonctionnement dans des conditions environnementales pou-
et ce nud se charge du transfert du message. vant tre svres ;
niveau lev de validation et de testabilit.
Les contraintes de temps sont entirement assumes par le
Dans les rseaux classiques commutation de paquets, les per-
rseau, condition que chaque station ngocie une qualit de ser- formances sont mesures essentiellement en termes de temps de
vice suffisante pour tenir compte des caractristiques des messages rponse moyen et de rendement du rseau. Dans les rseaux temps
quelle souhaite transmettre. Par consquent, les mcanismes utili- rel, la notion de temps de rponse moyen est inadapte, voire
ss sont implants dans les nuds de commutation du rseau et dangereuse ; il faut pouvoir garantir des dlais de rponse borns et
non dans les stations. connus lavance pour des messages individuels. On rappelle que
le temps rel ne signifie pas rpondre rapidement, mais suffisam-
Rseaux accs multiple ment rapidement pour tenir compte de lvolution du phnomne
Les stations connectes au rseau contrlent laccs au
physique contrl. Donc, un rseau haut dbit nest pas ncessai-
mdium via une technique MAC (Medium Access Control) implan- rement un rseau temps rel. Cest plus particulirement par sa stra-
te sur chacune des stations. Chaque station accde au mdium tgie dallocation du mdium, et non spcialement par son dbit,
partag principalement soit par comptition, soit par consultation quun rseau peut tre capable de garantir le respect des contraintes
(en utilisant un jeton, par exemple) selon le type de technique MAC temporelles des messages. Un rseau doit cependant possder des
utilise par le rseau. performances minimales, pour envisager son utilisation dans un
systme temps rel.
Une fois quune station a mis une trame sur le mdium, cette
Les protocoles de communication jouent un rle important dans
trame est directement reue par son destinataire (sauf, videm- limplantation des applications temps rel et rparties. Les protoco-
ment, en cas de collision ou de rseau utilisant des quipements les fonds sur le modle OSI (Open Systems Interconnection) ont
dinterconnexion tels que ponts et routeurs). montr leur efficacit pour les systmes non temps rel. Beaucoup
Les stations doivent tre configures (en particulier en dtermi- de travaux actuels portent sur la manire de modifier ou dtendre
nant les priorits des messages ou des stations, les temps dutilisa- ces protocoles pour les adapter au temps rel. Lintroduction de con-
tion des jetons, etc.) pour pouvoir garantir les contraintes de temps traintes de temps impose lintgration de mcanismes nouveaux,
imposes aux messages. Par consquent, les mcanismes associs notamment lordonnancement de messages.
sont implants dans les stations. Actuellement, les tudes sur les contraintes temporelles se
situent essentiellement au-dessus du protocole MAC dans la couche
liaison de donnes qui gre laccs au support de communication.
Les techniques de prise en compte des contraintes de temps, La prise en compte des contraintes de temps par le protocole MAC
quelles soient intgres au-dessus de la sous-couche MAC, dans le est ncessaire, mais elle nest pas suffisante. En effet, il faut rper-
cas des rseaux accs multiple, ou dans les commutateurs, dans cuter les contraintes de temps sur toutes les couches pour parvenir
le cas des rseaux commutation de paquets, sont similaires. Elles rellement les respecter dans lapplication temps rel. On parle
sont fondes sur ladaptation dalgorithmes dordonnancement de alors de profil de communication temps rel, pour dsigner une
tches pour monoprocesseur (comme Earliest Deadline First ou architecture de communication o les contraintes de temps sont pri-
Rate Monotonic). Dans la suite, nous allons nous intresser seule- ses en compte par toutes les couches.
ment lordonnancement des messages dans le cadre des rseaux Des dtudes ont montr que des rseaux existants peuvent
accs multiple. garantir le respect de contraintes de temps, sils sont bien configu-

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 10 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

rs [1] [31] [43] [44] [47] [72]. On utilise tantt des techniques centra- contraintes strictes, lintervalle minimal entre deux demandes suc-
lises, comme celle de FIP, tantt des techniques jeton, tantt cessives de transmission du message suffit.
encore des techniques daccs fondes sur le protocole CSMA [23]
[29]. Ces dernires techniques sont intrinsquement tolrantes aux Longueur
fautes. Cest la longueur du message en bits.
Malcolm et Zhao [36] ont fait une synthse des travaux mens Relations entre messages
depuis plus dune dizaine dannes sur ladaptation des techniques
MAC existantes au problme de communication temps rel. Nous Les messages gnrs par une mme source ont, de ce fait, une
nous appuyons sur cette synthse. Nous ne cherchons pas rpon- relation de prcdence. Les messages gnrs par des sources dif-
dre la question quel est le rseau le plus adapt au temps rel ? frentes appartenant une mme station ou des stations diffren-
mais plutt comment adapter un rseau donn pour quil puisse tes peuvent tre indpendants ou bien avoir des relations de
prendre en compte des contraintes de temps ? . En effet, mme si dpendance. Par exemple, les applications multimdias doivent
certains protocoles MAC sont plus dterministes que dautres, synchroniser le son et limage et spcifient que les messages issus
chaque rseau peut traiter certaines contraintes de temps. Le choix de ces deux sources soient transmis dans une mme fentre tempo-
du rseau et de la technique dordonnancement dpend des con- relle.
traintes et des spcificits des applications cibles et il est inutile de
Destinataires
surdimensionner le rseau utilis.
Un message mis par une source peut tre destin une seule
station, un groupe de stations ou toutes les stations.

3.3 Caractristiques des messages


et qualit de service 3.3.2 Qualit de service

Une application temps rel exige du sous-systme de communi-


3.3.1 Caractristiques de messages cation une certaine qualit de service qui sexprime notamment par
les paramtres suivants.
Les paramtres les plus utiliss pour spcifier les caractristiques Dlai maximal de transfert (ou dlai critique)
des sources de messages changs dans une application temps rel
et rpartie sont les suivants. Cest le dlai maximal pour transmettre un message dune station
une autre. Comme lindique la figure 4, le dlai de transfert dun
Criticit message est compos de plusieurs dlais intermdiaires : le dlai
Les tches rparties peuvent changer : de traverse des couches suprieures chez lmetteur, le dlai
dattente au niveau MAC de lmetteur avant transmission, le dlai
des messages avec des contraintes temps rel strictes (hard
de transmission et de propagation du message sur le mdium, le
real-time messages). Tout manquement au respect des contraintes
dlai dattente au niveau MAC du rcepteur et le dlai de traverse
temporelles peut conduire une dtrioration du service, voire
des couches suprieures chez le rcepteur.
des catastrophes. Le respect de ces contraintes doit tre garanti ;
des messages avec des contraintes temps rel relatives (soft
real-time messages) caractriss par des contraintes temporelles
dont le dpassement occasionnel ne conduit pas la dgradation
du service ;
des messages ne prsentant aucune spcification de contrain-
tes de temps. Par consquent aucune disposition particulire nest Tche 1 Tche 2
exige pour prendre en compte ce type de messages.
En considrant que les messages sans contraintes temporelles
sont des messages avec des dlais de transfert et des gigues infinis,
les deuxime et troisime classes de messages peuvent tre regrou-
pes en une seule, lorsque lon considre laspect ordonnancement
de messages. En effet, dans les applications temps rel et rparties, Dlai Dlai
les deuxime et troisime classes de messages sont traites par les de traverse Couches Couches de traverse
des couches suprieures suprieures des couches
mmes stratgies, en affectant la priorit la plus faible la troisime suprieures suprieures
classe de messages.
Type
Un message peut tre priodique (dit aussi synchrone) ou aprio-
dique (dit aussi asynchrone) :
la priode dun message priodique dsigne lintervalle de Dlai Dlai de
temps sparant deux demandes dmission successives du mes- d'mission rception
sage par sa source ; Sous-couche Sous-couche
MAC MAC
un message apriodique peut demander tre transmis
nimporte quel moment. Cependant, pour pouvoir garantir, dans
certains cas, ou optimiser, dans dautres, le respect des contraintes
Mdium
de temps associes un message apriodique, un certain nombre
dinformations concernant les instants de demande de transmission
du message doivent tre connues, savoir : lintervalle de temps Dlai de transmission
minimal sparant deux demandes successives de transmission du et propagation
message, les dures des avalanches du message, lintervalle de
temps minimal sparant deux avalanches successives, etc. Toutes
ces informations ne sont pas toujours ncessaires. Ainsi, pour le
respect des contraintes de temps des messages apriodiques avec Figure 4 Dlais intervenant dans une communication temps rel

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 11
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

Gigue maximale peut mettre ds quelle le souhaite, condition quelle ait dtect
Les messages mis par une source peuvent avoir des dlais de que le bus tait libre avant de commencer sa transmission.
transfert variables selon la charge du rseau. La variation maximale Lorsquune station met une trame, elle coute le support en mme
du dlai de transfert est appele la gigue. Certaines applications temps quelle met. Si deux ou plusieurs stations tentent dmettre
comme les applications multimdias (o la prsentation des infor- en mme temps, leurs trames entrent en conflit : on dit quil y a une
mations ncessite une synchronisation) spcifient une limitation de collision sur le bus. Si, pendant sa transmission, la station ne
la gigue. dtecte pas de collision, elle considre que sa tentative dmission a
russi ; sinon elle attend un temps alatoire avant de tenter une
Taux de perte maximal nouvelle fois sa transmission.
Pour certaines applications, comme les applications vido ou Cette technique est rarement utilise dans le monde du temps
audio, la perte de quelques messages est acceptable. Lorsque la rel. Cependant, comme nous le verrons par la suite, CSMA/CD peut
charge est leve, le rseau peut alors, de temps en temps, sans tre adapte pour la communication temps rel.
avertir lutilisateur, carter certains messages, afin de mieux servir
dautres sources de messages. Dautres applications, comme les Technique du bus jeton (norme IEEE 802.4)
systmes de contrle/commande de procds, tolrent difficilement Dans la mthode daccs du bus jeton, lensemble des stations
la perte de messages. actives est organis sous la forme dun anneau logique (ou anneau
Taux derreur maximal virtuel). La mise en place dun anneau logique consiste dtermi-
ner, pour chaque station active, ladresse de la station qui lui suc-
Les moyens de communication tant imparfaits, des erreurs de cde sur lanneau logique. Par exemple, dans la figure 5, lanneau
transmission peuvent apparatre nimporte quel moment. Cepen- logique est form de trois stations (2, 4 et 6).
dant, le bon fonctionnement dune application peut imposer un taux
derreur maximal au-del duquel lapplication est considre Une fois lanneau logique configur, le droit daccs au bus, pour
comme srieusement compromise. mettre des donnes, est rserv, un moment donn, une seule
station : on dit que cette station a le droit dmettre. Ce droit est
symbolis par la possession dune trame spciale dite jeton. Le
Hypothses pour la suite de larticle jeton est transmis de station en station tant quil y a au moins deux
Le respect du dlai de transfert dun message ncessite de stations dans lanneau logique.
dterminer les dlais intermdiaires, de disposer de services la configuration du rseau, un temps dutilisation du bus est
permettant dexprimer ces dlais et de disposer de mcanismes affect chaque station. On dfinit aussi le temps maximal de rota-
permettant de garantir ces dlais. Les contraintes de temps doi- tion du jeton (TTRT, Target Token Rotation Time). Le TTRT dsigne le
vent tre prises en compte tous les niveaux de communica- temps maximal entre deux passages successifs du jeton dans une
tion. Dans la suite de cet article, comme nous lavons soulign, station. Quand une station reoit le jeton, elle met ses trames
nous focaliserons notre tude sur les techniques dordonnance- jusqu puisement de son temps dutilisation et transmet ensuite le
ment intgrer au-dessus de la sous-couche MAC. jeton son successeur sur lanneau. Si une station na plus de don-
nes transmettre, elle libre le jeton.
Des priorits locales sont dfinies permettant chaque station
3.4 Protocoles de niveau MAC (Medium dordonner localement ses trames selon leur importance ou leur
urgence locale. Cette technique fait partie des techniques dites
Access Control) jeton temporis.
Pour faire face aux diverses anomalies et pannes, comme la dupli-
3.4.1 Prsentation de protocoles de niveau MAC cation ou la perte du jeton, la panne dune station qui fait partie de
lanneau logique, etc., la norme IEEE 802.4 intgre un ensemble de
mcanismes permettant de dtecter ces anomalies et pannes et de
Nous limitons notre prsentation des protocoles MAC aux mca- ramener lanneau logique dans un tat de fonctionnement normal.
nismes sur lesquels sarticulent les techniques dordonnancement
de messages. Le protocole du bus jeton est la base de certains rseaux
locaux industriels comme MAP (Manufacturing Automation Proto-
Un rseau accs multiple est compos dun ensemble de sta-
col) [38] et PROFIBUS (PROcess FIeldBUS) [16].
tions interconnectes par un support de transmission. Laccs au
mdium par une station peut tre gr de plusieurs manires [37],
notamment :
par multiplexage frquentiel : chaque station met sur une
bande de frquences qui lui est rserve ;
par multiplexage temporel : chaque station dispose, de Anneau logique
manire cyclique, dun quantum de temps ;
par comptition : chaque station met ds quelle le souhaite
et doit grer les situations de collisions ; 1 2 3 4
par consultation : chaque station met quand elle a obtenu le
jeton ou quand la station arbitre lui a donn le droit dmettre ;
dans le premier cas on parle de techniques MAC dcentralises,
dans le second de techniques MAC centralises. Support de transmission (Bus)
Nous nous intressons six techniques MAC qui reprsentent les
principales techniques utilises pour assurer des communications
temps rel.
8 7 6 5
Technique CSMA/CD (norme IEEE 802.3)
CSMA/CD (Carrier Sense Multiple Access with Collision Detec-
tion) fonctionne sur des topologies de rseaux en bus ou en toile.
Cette technique est utilise par le rseau local le plus rpandu :
Ethernet. CSMA/CD est fonde sur la comptition : toute station Figure 5 Exemple danneau logique

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 12 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

1 Producteur Consommateur

1 4
8 2 Arbitre de bus

Sens de passage
du jeton Table
d'arbitre
7 3
2 2 3 2 3

6 4
BUS
5
1 Production d'une valeur
2 Envoi d'une trame d'identificateur et reconnaissance
Figure 6 Exemple de boucle jeton
de l'identificateur par le producteur et les consommateurs
3 Transfert de la valeur du producteur vers les consommateurs
4 Consommation de la valeur
Technique du rseau FDDI
FDDI (Fiber Distributed Data Interface) est un protocole permet- Figure 7 Phases dchange dobjet dans FIP
tant de connecter des stations autour dune boucle en fibre optique
(figure 6). Les stations accdent la boucle en utilisant un jeton cir-
culant. Dans le cas de FDDI, le successeur physique dune station jeton demand, un instant donn, par lensemble des stations. Ce
sur la boucle est aussi son successeur logique (par exemple, la sta- champ est employ de la manire suivante : lorsquune trame de
tion 2 succde la station 1, sur la figure 6). Le jeton passe de sta- donnes T traverse une station, cette station peut rserver le pro-
tion en station selon lordre physique des stations sur la boucle. Il chain jeton, en modifiant les bits de rservation de la trame T,
ny a pas besoin de procdures spciales de cration de lanneau, par la priorit de ses donnes, si elle a des donnes mettre avec
dinsertion de stations et de retrait de stations, comme dans le cas une priorit plus leve que celle demande par les autres stations
de lanneau logique du bus jeton. Le principe daccs au mdium qui ont dj vu passer la trame T.
de FDDI est similaire celui du bus jeton. FDDI fait partie des tech- Lorsque la trame mise par la station qui dtient le jeton revient
niques dites jeton temporis. sa station source, cette station teste les bits de rservation . Si
la configuration du rseau, on affecte, pour chaque station, un la priorit demande est infrieure ou gale celle du jeton courant,
temps pour transmettre ses messages priodiques (ou synchrones). la station continue dmettre ses donnes, sinon elle cesse dmet-
Un TTRT est donc dfini, comme dans le cas du bus jeton. tre ses donnes et met en circulation un jeton avec la priorit
Un mcanisme de priorits locales est disponible dans FDDI per- demande. Une station qui cre un jeton avec une priorit plus le-
mettant chaque station dordonner localement ses messages ap- ve que celle du jeton quelle a pig est responsable de ce jeton et
riodiques. Lorsque le jeton tourne plus vite que prvu ou quune doit lliminer lorsquil nest plus utilis.
station na pas de messages priodiques transmettre, elle peut linitialisation de la boucle, un jeton ayant la priorit la plus
transmettre des messages apriodiques. Les niveaux de priorits basse est mis en circulation.
des messages apriodiques sont servis en tenant compte des ins-
Technique du rseau FIP
tants darrive du jeton.
FIP (Flux dInformation Processus ou Factory Instrumentation Pro-
Technique de la boucle jeton (norme IEEE 802.5) tocol) est un rseau pour linterconnexion de capteurs, daction-
Une boucle jeton (token ring) comporte un ensemble de stations neurs et dautomates [61] via un bus. Le rseau FIP est fond sur une
connectes en srie par des lignes point point unidirectionnelles. structure centralise dans laquelle une station, dite arbitre de bus,
Laccs au mdium peut tre gr soit avec un seul jeton, soit avec donne le droit dmettre aux autres stations. Il est bas sur le
plusieurs jetons. Par la suite, nous nous intressons uniquement modle producteur/distributeur/consommateurs dans lequel les
la boucle avec des jetons multiples. Avec un mcanisme de priorits objets (des variables ou des messages) changs sur le rseau sont
globales, la boucle IEEE 802.5 privilgie les trames ayant les plus produits par des stations dites producteurs et consomms par
hautes priorits sur lensemble du rseau ; elle fonctionne selon le dautres dites consommateurs. Chaque objet a un identificateur uni-
principe suivant. que. Les objets peuvent tre changs, entre producteurs et con-
Huit niveaux de priorits sont dfinis dans la version de base de
sommateurs, de manire priodique ou apriodique sous le
la boucle jeton. contrle de larbitre de bus. En fonction des priodes de consomma-
tion des objets, on dfinit une table statique dite table darbitre de
La priorit dun jeton ou dune trame est indique par trois bits
bus qui permet dindiquer lordre fixe dans lequel les objets doivent
dits champ de priorit . Chaque niveau de priorit a son propre tre changs sur le bus. En utilisant sa table, larbitre de bus diffuse
jeton. un identificateur dobjet changer ; ensuite le producteur met la
un instant donn, la boucle fonctionne un seul niveau de valeur de lobjet qui sera copie par tous les consommateurs con-
priorit, dit priorit courante . Le jeton de priorit courante est cerns. La figure 7 rsume les phases dun change de donnes
alors soit en circulation, soit bloqu dans une station qui est en train dans le rseau FIP.
dmettre ses donnes.
FIP permet lchange dobjets apriodiques seulement quand il
Lorsquune station dtecte le passage dun jeton, elle le pige, reste du temps libre aprs lchange des objets priodiques.
si elle a des donnes mettre dont la priorit est suprieure ou
gale celle du jeton reu. Technique du rseau CAN
Chaque trame de donnes contient un champ dit bits de Le rseau CAN (Controller Area Network) a t introduit pour
rservation qui permet de slectionner la priorit la plus leve du assurer la communication dans les vhicules [23]. Dans la pratique,

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 13
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

CAN est utilis aujourdhui aussi bien dans les vhicules que dans que les contraintes temporelles des messages soient respectes.
les systmes de contrle/commande. CAN est un bus diffusion. Lordonnancement de messages constitue donc une fonction de
Les stations ne possdent pas dadresses propres et elles accdent base de tout systme temps rel et rparti. Comme nous lavons
au bus via la technique CSMA/CA (CSMA with Collision Avoidance). soulign dans le paragraphe 3.3, tous les messages gnrs dans
Tout objet chang sur le bus a un identificateur propre. Lidentifica- une application temps rel et rpartie ne sont pas critiques du point
teur contenu dans une trame dfinit le niveau de priorit de la de vue temporel. Ainsi, selon les contraintes temporelles associes
trame : plus lidentificateur est petit, plus la trame est prioritaire. aux messages, deux stratgies dordonnancement sont employes.
Lorsque deux stations tentent dmettre simultanment, cest la sta-
tion qui met lobjet dont lidentificateur est le plus petit qui Stratgie avec garantie
simpose et qui russit sa transmission. On dit que CAN est fond Si des messages sont ordonnancs selon cette stratgie, tout
sur un accs au mdium avec priorit et avec rsolution de colli- message accept pour transmission est transmis en respectant ses
sions non destructive. Les objets peuvent tre changs de manire contraintes temporelles (sauf, videmment, en cas de dfaillance du
priodique, de manire sporadique ou sur demande dun consom- systme de communication). Cette stratgie est gnralement
mateur. rserve aux messages avec contraintes de temps strictes.
Stratgie avec meilleur effort
3.4.2 Fonctions de la sous-couche MAC du point Un message accept pour transmission avec cette stratgie nest
de vue ordonnancement pas ncessairement transmis en respectant ses contraintes tempo-
relles. Cette stratgie est employe pour traiter les messages avec
Nous pouvons remarquer, travers la prsentation succincte de contraintes de temps relatives ou sans contraintes de temps.
quelques techniques MAC, que certains MAC sont plus aptes que
dautres prendre en compte de manire efficace des contraintes de
temps. Par exemple, il est difficile davoir un temps de rponse Dans un systme temps rel et rparti, les deux stratgies peu-
born avec CSMA/CD, alors que la rservation de bande passante vent cohabiter, pour pouvoir rpondre aux besoins de communica-
pour les messages priodiques est la base mme de la conception tion des diverses applications.
de FIP ou de FDDI. Avec lmergence des systmes temps rel et rpartis, de nou-
Malcolm et Zhao [36] ont propos une approche de dcomposi- veaux besoins dordonnancement sont apparus : il faut, la fois,
tion de la sous-couche MAC afin didentifier les mcanismes de garantir le respect des contraintes temporelles des tches et celles
niveau MAC qui peuvent tre exploits pour ordonnancer des mes- des messages. Comme lordonnancement de messages tient
sages temps rel. Cette approche permet de distinguer deux aspects compte de contraintes analogues, principalement les chances et
dans laccs au rseau par une station : les dlais, celles des tches, lordonnancement de messages
larbitrage daccs : cette fonction dtermine le moment o temps rel utilise les mmes algorithmes que lordonnancement de
une station a le droit dutiliser le support de communication ; tches. Ainsi, comme nous le verrons dans les paragraphes 3.6
et 3.7, beaucoup dalgorithmes dordonnancement de messages
le contrle de transmission : cette fonction dtermine le temps
emploient les politiques Rate Monotonic et Earliest Deadline First
pendant lequel une station peut utiliser le support pour transmettre
[33].
la totalit ou une partie de ses donnes.
Alors que les tches peuvent, en gnral, accepter la premption
Exemple : prenons deux exemples de MAC, pour comprendre sans remettre en cause la cohrence des rsultats quelles labo-
quoi correspondent ces deux fonctions. rent, la transmission dun message nadmet pas de premption. Si
Dans la technique du bus jeton, la fonction darbitrage repose sur la transmission dun message commence, il faut transmettre tous
le droit daccs au mdium qui passe de station en station, selon les bits du message jusquau dernier, sinon la transmission choue.
lordre de lanneau logique, sans tenir compte de lurgence des messa- Ainsi, certaines prcautions doivent tre prises pour appliquer les
ges. La fonction de contrle de transmission dcoule du quantum de algorithmes dordonnancement de tches aux messages :
temps affect chaque station la configuration du rseau. Dans ce
ne considrer que les algorithmes non premptifs ;
cas, le contrle de transmission est bien adapt la prise en compte de
contraintes de temps. utiliser les algorithmes premptifs condition davoir des
messages dont la dure de transmission est infrieure ou gale
Dans la technique CSMA/CD, la fonction darbitrage daccs utilise le
lunit de temps de base dallocation du mdium ;
fait que toute station peut utiliser le support si elle dtecte quil est
libre. La fonction de contrle de transmission est fonde sur le fait utiliser les algorithmes premptifs condition deffectuer une
quune station peut mettre des donnes, sans restriction, tant quelle fragmentation des messages longs en petits paquets et de rassem-
dtecte que le bus est libre. Aucune des deux fonctions nest donc bler les paquets la rception. Mme si, traditionnellement, la fonc-
directement adapte la prise en compte de contraintes de temps. tion de fragmentation et de rassemblage relve de la couche
transport, elle peut tre pratique au-dessus du MAC, pour pouvoir
La conception dun algorithme dordonnancement de messages effectuer lordonnancement de messages en utilisant des algorith-
intgrer au-dessus dun MAC donn consiste exploiter les capaci- mes premptifs.
ts offertes par chacune des deux fonctions de ce MAC, pour met- notre connaissance, peu dalgorithmes dordonnancement de
tre de manire efficace les messages temps rel. tches non premptifs sont utiliss dans lordonnancement de mes-
sages au-dessus de la sous-couche MAC. Rappelons, par ailleurs,
que certains algorithmes premptifs possdent des proprits trs
intressantes quon aimerait exploiter dans le cas des messages,
3.5 Ordonnancement de messages : telles que loptimalit et lexistence de test simple pour sassurer a
principes gnraux et proprits priori de la garantie des contraintes temporelles.

3.5.1 Principes et stratgies dordonnancement 3.5.2 Modle canonique des messages temps rel
de messages
De mme quon sest donn un modle canonique des tches
Lordonnancement de messages temps rel a pour objectif temps rel, on utilise, pour leur ordonnancement, un modle cano-
dallouer le mdium partag entre plusieurs stations de telle sorte nique des messages temps rel avec :

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 14 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

ri : date o le message i est soumis pour tre transmis, Surcot minimal


Ci : dure de transmission et de propagation du message i sur le Lordonnancement de messages temps rel est fond sur la con-
mdium, naissance des charges des stations. Si cette connaissance est labo-
Ri : dlai critique du message i, re en ligne, un surcot est introduit pour dterminer la station qui
a la priorit pour mettre ses donnes. Il est important que le sur-
Gi : gigue maximale du dlai de transfert du message i, cot (temps de traitement et nombre de messages) engendr par
Pi : priode du message i, lorsquil sagit dun message priodi- lalgorithme dordonnancement soit minimal. Nous appellerons
que. messages de service (ou trames de service) les messages ncessai-
res au fonctionnement dun algorithme dordonnancement de mes-
Comme pour une tche, le dlai critique permet de calculer Di , sages.
lchance dun message i :
En gnral, on se contente dun compromis entre les proprits
D i = ri + R i prcdentes pour choisir un algorithme dordonnancement de mes-
sages pour une application donne.
Ce modle sert aussi bien au niveau MAC quau niveau suprieur
(cf. figure 4), pour ordonner lmission des messages et leur rcep-
tion par une station ou un ensemble de stations.
Nous nous intresserons ici des messages priodiques ou ap- 3.6 Ordonnancement de messages
riodiques, indpendants et sans contraintes de gigue. Les chan- priodiques
ces des messages priodiques sont implicitement supposes gales
aux priodes (on parle, dans ce cas, de messages chance sur
requte). Pour les messages priodiques, les informations ncessaires
lordonnancement sont connues lavance, savoir les tailles des
messages (donc les dures de transmission des messages), les ins-
3.5.3 Proprits dun algorithme tants de demande de transmission (grce la connaissance des
dordonnancement de messages priodes), les chances et les gigues. Dans cette tude, nous ne
considrons que des messages priodiques dont lchance est
Dans le domaine de la communication temps rel, les principales gale la priode et sans contraintes de gigue.
proprits attendues dun algorithme dordonnancement de messa- Par un test fond sur le taux dutilisation du rseau par les messa-
ges sont les suivantes. ges priodiques, Up , on peut savoir si un ensemble de messages est
ordonnanable ou pas. En particulier, si Up est suprieur 100 %,
Taux dutilisation potentielle (TUP ) lev lensemble des messages priodiques ne peut tre ordonnanc par
Un algorithme a un TUP gal W sil permet dordonnancer des aucun algorithme. Selon lalgorithme dordonnancement et le pro-
messages priodiques tant que le taux dutilisation des messages tocole MAC choisis, il peut exister un TUP. Dans ce cas, si
priodiques, Up , est infrieur W. On dfinit Up par : U p < TUP , alors on peut affirmer a priori quun ensemble des mes-
sages priodiques est ordonnanable. Les messages priodiques
i = n sont gnralement considrs comme critiques et sont traits par
Ci
Up = ----- (n : nombre de messages priodiques)
Pi
une stratgie de garantie.
i = 1

Lexistence dun TUP pour un algorithme est une condition suffi- 3.6.1 Ordonnancement avec des MAC contrle
sante pour ordonnancer un ensemble de messages, car il permet de daccs dcentralis
tester a priori lordonnanabilit dun ensemble de messages. Un
TUP lev est donc toujours souhait pour satisfaire les contraintes 3.6.1.1 Approche fonde sur larbitrage daccs
dun maximum de messages. Gnralement, on ne sait pas calculer
le TUP [36]. Cependant, pour certains algorithmes, on peut calculer Principe dordonnancement
la plus petite borne suprieure du TUP que nous noterons PCTUP Le principe dordonnancement retenu dans cette approche prend
(pire cas du TUP). son origine dans lordonnancement de tches priodiques sur
monoprocesseurs. En particulier, cest lalgorithme RM (Rate Mono-
Robustesse face des variations de trafic tonic) [33] qui est utilis de la manire suivante :
Les sources de messages priodiques peuvent fluctuer de temps 1 associer des priorits aux messages en fonction de leurs
en temps, en augmentant ou en diminuant les priodes ou les lon- priodes : les messages ayant les priodes les plus petites sont les
gueurs de messages. Un algorithme dordonnancement est consi- plus prioritaires ;
dr comme robuste sil accepte des variations de trafic sans
affecter lordonnanabilit de lensemble des messages, condition 2 dcouper ( cause du caractre premptif de RM) chaque mes-
videmment que son TUP ne soit pas dpass lors dune augmenta- sage en trames ;
tion de trafic. 3 implanter RM en tenant compte du protocole MAC utilis.
Pas de propagation de fautes temporelles Avec quels MAC utiliser Rate Monotonic ?
Lorsquune station, la suite dune anomalie, diminue les prio- RM semploie de manire efficace avec des rseaux qui disposent
des ou augmente les tailles de certains messages, elle peut remettre dun mcanisme de priorits globales, comme la boucle jeton
en cause le respect des contraintes temporelles des messages des IEEE 802.5 ou CAN. Lutilisation de RM est inefficace avec des
autres stations. Un algorithme dordonnancement de messages doit rseaux qui ne disposent pas de mcanismes de priorits globales,
pouvoir limiter la propagation des fautes temporelles en dehors des comme CSMA/CD ou FDDI, car il faut que les stations schangent
stations fautives. des donnes pour savoir celle qui a le message le plus prioritaire, ce
qui conduit videmment une surcharge du rseau.
Possibilit de transfert des messages sans contraintes strictes
Une partie de la bande passante du rseau doit rester utilisable Utilisation de Rate Monotonic avec une boucle jeton IEEE 802.5
pour mettre des messages avec contraintes temporelles relatives Lutilisation de RM avec la boucle jeton consiste affecter des
ou sans contraintes temporelles. priorits aux messages en fonction de leurs priodes. Le mca-

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 15
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

nisme des priorits globales de la boucle jeton garantit alors aux lapplication. Comme les valeurs des identificateurs sont directe-
stations que leurs messages seront transmis en tenant compte de ment utilises comme priorits des messages par le protocole CAN,
leurs priorits. Les proprits de lordonnancement de messages lapplication de RM est directe.
laide de RM sur la boucle IEEE 802.5 sont les suivantes.
Les proprits de lordonnancement de messages laide de RM
PCTUP (pire des cas du taux utilisation potentielle) sur CAN sont les suivantes.
Dans la rfrence [58], on dmontre que RM avec IEEE 802.5 a un PCTUP
PCTUP gal :
Il dcoule de celui de RM qui est de lordre de 69 %.
0,69 Bmax /Pmin
Robustesse face des variations de trafic
avec Bmax temps maximal de blocage dun message par un On peut changer les priodes ou les tailles des messages et
autre de plus faible priorit, lensemble reste ordonnanable tant que le taux dutilisation des
Pmin minimum des priodes des messages. messages priodiques ne dpasse pas le PCTUP.
Robustesse face des variations de trafic Propagation de fautes temporelles
On peut changer les priodes ou les tailles des messages et Si lon diminue la priode, ou bien si lon augmente la taille dun
lensemble reste ordonnanable tant que le taux dutilisation des message, tous les messages dont les identificateurs sont plus
messages priodiques ne dpasse pas le PCTUP. grands que celui dont on a modifi des caractristiques risquent de
Propagation de fautes temporelles ne plus voir leurs chances respectes. Les fautes dune station se
Si lon diminue la priode, ou bien si lon augmente la taille dun propagent donc aux autres stations.
message, tous les messages dont les priodes sont plus grandes change de messages sans contraintes strictes
que la priode de ce message risquent de ne plus voir leurs chan-
ces respectes. Les fautes dune station se propagent donc aux Les messages sans contraintes strictes peuvent tre transmis, en
autres stations. leur affectant des identificateurs (donc des priorits) de manire
dynamique.
change de messages sans contraintes strictes
Surcot
Les messages sans contraintes strictes peuvent tre transmis, en
leur affectant des priorits en fonction de leurs chances. RM sur CAN prsente un surcot ngligeable, puisque la fonction
Surcot
darbitrage se fait pendant que les messages sont transmis et sans
dtruire le message qui finit par simposer sur le bus.
La fonction darbitrage des priorits prend un temps qui dpend
de la longueur du rseau et de son dbit, puisquil faut faire un tour
complet de la boucle avant de connatre le message le plus priori- Lutilisation de RM sur CAN ne souffre pas des mmes insuffisan-
taire. Le surcot engendr est plus lev que celui associ lappro- ces que celles inhrentes la boucle jeton. En effet :
che fonde sur le contrle de transmission que nous verrons par la comme les identificateurs sont affects de manire statique, la
suite. connaissance du message le plus prioritaire, un instant donn, est
exacte ;
Lutilisation de Rate Monotonic avec une boucle jeton soulve les identificateurs sont cods sur 11 bits (voire 29 dans la ver-
quelques problmes, notamment : sion tendue de CAN), par consquent, les priorits associes aux
une connaissance approximative : la slection du message de objets refltent bien leurs priodes ;
plus haute priorit ne se fait, un instant donn, quaprs un tour de dans une application construite autour du rseau CAN, la
la boucle. Les stations rservent la boucle en fonction de la priorit valeur dun objet identifi de niveau application est achemine par
de leurs messages, en changeant les bits de rservation des trames un seul message de niveau MAC. Par consquent, les messages ne
de donnes lorsque celles-ci passent par les stations. Si un message sont pas fragments pour les adapter au MAC de CAN.
de priorit lev est soumis au niveau MAC dune station mettrice,
juste aprs le passage de la dernire trame de donnes, la station 3.6.1.2 Approche fonde sur le contrle de transmission
concerne par ce message est oblige dattendre la prochaine trame
pour effectuer sa rservation. Par consquent, le message en circu- Principe dordonnancement
lation sur la boucle nest pas ncessairement celui qui a la plus Les travaux utilisant lapproche fonde sur le contrle de trans-
haute priorit ; mission ont principalement port sur le jeton temporis utilis dans
un nombre de niveaux de priorits limit : le nombre de priori- les rseaux FDDI et le bus jeton IEEE 802.4. Le respect des con-
ts est limit dans un rseau. Or le nombre de priodes des messa- traintes de temps dpend de la manire dont on affecte les temps
ges est inconnu a priori et peut tre plus lev que le nombre de dallocation du mdium aux stations. chaque tour du jeton, on
priorits du rseau. Par consquent, deux messages avec des prio- alloue un temps, not Qi , chaque station i pour quelle puisse
des diffrentes peuvent se retrouver avec la mme priorit ; transmettre ses messages. Les principales techniques dallocation
une taille maximale des trames : RM est fond sur la premp- du mdium aux messages priodiques sont prsentes dans [1]
tion de tches. Lapplication de RM lordonnancement de messa- [70]. Il sagit des techniques suivantes :
ges implique quil faut choisir une taille maximale des trames (taille
qui correspond lunit de base dallocation du mdium) de 1 Allocation pour un message complet :
manire trouver un compromis entre le respect des chances des
messages, la minimisation du surcot et laugmentation du rende- Qi = C i
ment du rseau.
2 Allocation quitable :
Utilisation de Rate Monotonic avec CAN
Qi = (TTRT )/n
Dans le rseau CAN, les identificateurs des objets dterminent les
priorits de transmission des messages. Lapplication de RM avec TTRT temps de rotation du jeton dfini la
lordonnancement dobjets priodiques peut se faire de la manire configuration du rseau,
simple : on associe les identificateurs dobjets en fonction de leurs
temps rserv explicitement aux messages
priodes. Si deux objets ont la mme priode, on leur associe deux
apriodiques et au passage du jeton,
identificateurs diffrents, en privilgiant de manire alatoire un des
deux objets, ou en se basant sur limportance des objets pour n nombre de stations.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 16 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

3 Allocation proportionnelle :
A B C D E
Ci 0 100 ms
Q i = ( TTRT ) -----
Pi A C
4 Allocation proportionnelle normalise : 100 ms 200 ms

i=n
A B C
C Ci
Q i = ( TTRT ) -----i
Pi
-----
Pi
200 ms 300 ms
i=1
A C E
5 Allocation locale :
300 ms 400 ms
Ci A C B
Q i = ----------------------------------------
-
P i TTRT 1 400 ms 500 ms

avec x partie entire de x. A C

6 Allocation locale amliore : 500 ms 600 ms

Ci X change de la variable priodique X


Q i = ----------------------------------------------------------------
-
max ( P i TTRT 1,1 ) changes ventuels de variables apriodiques

La premire technique dallocation nest pas utilisable dans le cas Variable Priode
de messages longs. En effet, si une station transmet un message
long, mais avec une grande priode, elle monopolise le support A 100 ms
pendant un temps qui peut conduire au non-respect des contraintes B 200 ms
des autres messages. La deuxime technique dallocation ralise un C 100 ms
partage quitable du mdium. Or, dans la plupart des cas, les sta- D 600 ms
tions transmettent des messages priodiques avec des tailles et des E 300 ms
priodes diffrentes et ont des besoins diffrents en bande syn-
chrone. Cette technique nest pas efficace dans ce cas. Figure 8 Exemple de table darbitre de bus de FIP

Proprits de lordonnancement avec jeton temporis


PCTUP 3.6.2 Ordonnancement avec MAC contrle
daccs centralis
Il est gal zro pour la premire et la troisime techniques dallo-
cation. Il est de lordre de 33 % pour les deuxime, quatrime, cin-
quime et sixime techniques [1] [36] [70]. Lexemple de MAC que nous avons retenu pour illustrer le cas de
structures de contrle daccs centralises est celui de FIP.
Robustesse face des variations de trafic
Ordonnancement de messages dans FIP
On peut changer les priodes ou les tailles des messages et
Dans FIP, on distingue deux types de trafic : les objets identifis,
lensemble reste ordonnanable condition que le taux dutilisation
dits aussi variables (par exemple, la vitesse dun moteur), et les
des messages priodiques ne dpasse pas le PCTUP. Dans le cas de
messages au sens classique du terme qui peuvent correspondre
la quatrime technique dallocation, si on change une seule caract-
nimporte quelle information. Les priodes et types de variables et
ristique (priode ou taille) dun message, on est oblig de recalculer
les priodes de messages sont dfinis une fois pour toutes la con-
tous les temps dallocation des diffrentes stations.
figuration du rseau. La taille maximale des messages est limite.
Propagation de fautes temporelles Les stations nont pas la possibilit de les modifier pendant lexcu-
tion de lapplication. partir des priodes de consommation des
Si une station diminue sa priode ou augmente la taille de son variables (et des messages), on construit, hors ligne, une table de
message, ses contraintes temporelles risquent de ne plus tre res- scrutation qui sera suivie, en ligne, par larbitre de bus pour dtermi-
pectes. Mais, comme la station doit garder le mme temps dallo- ner tout instant la variable (ou le message) pour laquelle il faut
cation du mdium qui lui a t attribu linitialisation du rseau rserver le support. Chaque station productrice de variable (ou de
(on suppose, videmment, que le rseau nintroduit pas de fautes), message) attend que larbitre de bus diffuse lidentificateur de la
les contraintes des autres stations ne sont pas affectes. Par cons- variable ou du message quelle produit, avant de pouvoir diffuser sa
quent, lapproche fonde sur le contrle de transmission vite la valeur sur le bus. Lordonnancement de variables (ou de messages)
propagation des fautes temporelles. priodiques est donc effectu hors ligne en se basant sur la fonction
change de messages sans contraintes strictes darbitrage daccs au bus. La figure 8 montre un exemple de table
darbitre de bus construite pour cinq variables priodiques.
Les messages sans contraintes strictes peuvent tre transmis,
mais sans les favoriser en fonction de leur urgence au niveau global Proprits de lordonnancement avec FIP
comme ctait le cas avec lapproche fonde sur larbitrage daccs. PCTUP

Surcot En thorie, le rseau FIP permet lchange dun ensemble de n


variables (messages) priodiques condition que :
Il est plus faible que celui engendr par lapproche fonde sur
larbitrage daccs. Par ailleurs, seule la premire technique dallo- i=n
cation ne ncessite pas de fragmentation et de rassemblage de Xi Pi < 1
messages ; son surcot est donc le plus faible. i=1

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 17
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

Xi est le temps ncessaire lchange dune variable (un mes- on peut calculer le taux moyen dutilisation du rseau par les mes-
sage) priodique i. Ce temps comprend, notamment, le temps de sages apriodiques, Ua :
transmission et de propagation de la trame contenant lidentifi-
cateur et le temps de transmission et de propagation de la trame Ua = m x m
contenant la valeur de la variable (le message) dont lidentificateur
avec m taux moyen darrive des messages,
a t diffus.
Pi est la priode de la variable (message) i m dure moyenne de transmission de message.

La table de larbitre de bus est constitue dune liste ordonne Le succs de transfert de messages apriodiques dpend de la
reprsentant toutes les variables (messages) priodiques chan- valeur de Ua et de Up (le taux dutilisation des messages priodi-
ges durant un temps gal au plus petit commun multiple (PPCM) ques). Comme le taux dutilisation Ua est fond sur le taux moyen
des priodes. Par consquent, si la valeur du PPCM des priodes est darrive et la moyenne des temps de transmission, si le taux duti-
grande, la table de larbitre de bus peut avoir une taille suprieure lisation rel est suprieur au taux Ua demand, certaines chances
i=n
de messages apriodiques ne sont pas respectes.
la taille de la mmoire alloue FIP. Donc, mme si Xi Pi < 1 , Lordonnancement de messages apriodiques soulve plus de
i=1 problmes que lordonnancement de messages priodiques. Une
FIP peut refuser un ensemble de variables (messages) priodiques. pratique courante consiste considrer que seuls les messages
Dans la pratique, cette contrainte conduit effectuer des ajuste- priodiques sont critiques et vice versa, ce qui conduit transformer
ments de priodes pour limiter la taille de larbitre de bus, rduisant les messages apriodiques en messages priodiques, conduisant
ainsi le PCTUP. un surdimensionnement du rseau. Quand les messages ne sont
pas critiques du point de vue temporel, lutilisation de la stratgie du
Robustesse face des variations de trafic
meilleur effort est donc conseiller. Rappelons que lobjectif des
Rappelons que, dans FIP, on distingue les variables et les messa- algorithmes dordonnancement de messages fonds sur lapproche
ges. Les tailles et les priodes des variables et les priodes des mes- du meilleur effort est dessayer de minimiser le nombre de messa-
sages sont fixes la configuration du rseau et ne peuvent pas tre ges apriodiques qui dpassent leurs chances. Il est donc impor-
modifies en ligne. Toute modification de ces caractristiques tant pour les applications qui utilisent cette stratgie
ncessite une reconfiguration du rseau. Les tailles des messages dordonnancement de prvoir des mcanismes de dtection et de
peuvent varier, mais sans dpasser une taille maximale connue traitement des dpassements des chances de messages.
lavance. La table darbitre de bus tient compte de cette taille maxi-
male. FIP manque donc totalement de robustesse, du point de vue
ordonnancement. 3.7.1 Ordonnancement avec MAC contrle
Propagation de fautes temporelles daccs dcentralis
Les stations ne peuvent pas modifier en ligne les caractristiques
de variables (messages), par consquent, le problme de fautes 3.7.1.1 Stratgie de garantie fonde sur larbitrage daccs
lies aux stations ne se pose pas. Par contre, comme dans toute
structure centralise, les fautes de larbitre de bus peuvent compro- Deux mthodes principales ont t proposes pour la prise en
mettre toute lapplication. compte de messages apriodiques avec des contraintes strictes : la
mthode de rservation dynamique et la mthode destimation avec
change de messages sans contraintes strictes
conservation [36].
Les variables (messages) apriodiques sont considres comme
nayant pas de contraintes de temps. Elles peuvent tre transmises Mthode de rservation dynamique
pendant les temps laisss libres aprs change des variables (et Cette mthode procde selon le principe suivant : lorsquun mes-
messages) priodiques. sage apriodique demande tre transmis, on effectue une rserva-
Surcot tion du canal pour transmettre ce message. Cette rservation se fait
en demandant aux autres stations, par envoi explicite dun message
Pour obtenir la valeur dune variable (un message), une trame
de rservation, de ne pas utiliser le canal pendant un intervalle de
pralable contenant lidentificateur de variable (message) doit tre
temps donn et de permettre ainsi dy transmettre le message ap-
diffuse par larbitre de bus. FIP a donc un surcot important en ce
riodique. Si la rservation russit, le message apriodique est
qui concerne les trames de service. Par contre, le surcot li aux trai-
accept, sinon il est rejet. Cette mthode conduit un surcot
tements est ngligeable, car les calculs concernant les variables
important cause des messages de rservation, mais pas toujours
(messages) priodiques sont effectus hors ligne.
un surdimensionnement comme pour la mthode du serveur
priodique (cf. 3.7.1.2). cause du surcot, cette mthode est mal
adapte aux situations de surcharge.
3.7 Ordonnancement de messages Mthode destimation avec conservation
apriodiques Le principe de cette mthode est le suivant : ds quun message
apriodique demande tre transmis, on calcule x, le pire des dlais
pour transmettre ce message, en fonction de la file dattente des
Un message apriodique, comme son nom lindique, est transmis
messages dj accepts par la station et de lattente la plus longue
de manire alatoire. La connaissance complte des caractristi-
avant davoir accs au support. Si x est infrieur ou gal
ques des messages apriodiques ne peut tre obtenue que pendant
lchance du message, alors les contraintes temporelles du mes-
lexcution effective des tches. Cependant, si lon veut augmenter
sage peuvent tre garanties et le message est accept. Sinon, le
la probabilit de succs de transfert des messages apriodiques,
message est rejet et la couche suprieure est avertie.
certaines informations doivent tre connues lavance. En particu-
lier, on doit connatre les tailles minimales, moyennes et maximales, Cette mthode est fonde sur une estimation pessimiste, car le
les lois darrive et les chances des messages apriodiques consi- calcul du temps x utilise le pire des cas (on suppose que la station
drs comme critiques du point de vue temporel. Sans la connais- ne reoit le droit daccs quune fois que toutes les autres stations
sance a priori de ces informations, les ressources ncessaires au ont utilis tout le temps qui leur est imparti). Elle ne fonctionne
transfert des messages apriodiques ne peuvent tre values, con- quau-dessus dun MAC avec un temps daccs born (comme FDDI
duisant ainsi une probabilit forte de lchec du transfert des mes- ou le bus jeton). Elle ne ncessite pas de trames de service. Son
sages apriodiques. Si les informations prcdentes sont connues, surcot est donc limit.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 18 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

3.7.1.2 Stratgie de garantie fonde sur le contrle Utilisation de LLF avec CSMA/CD
de transmission
Zhao et Ramamritham [71] ont propos lalgorithme dordonnan-
On utilise principalement la mthode du serveur priodique qui cement suivant qui permet dordonnancer des messages apriodi-
consiste affecter priodiquement un temps chaque station en ques sur un rseau CSMA/CD.
fonction de lintervalle de temps minimal de demande de transmis- 1 Lorsque le bus est libre, toute station qui a un message
sion du message apriodique (dans ce cas, le message est parfois transmettre attend pendant une dure proportionnelle la laxit de
qualifi de sporadique). Lorsque la station a le droit daccs, elle son message.
teste si le message apriodique est en attente, auquel cas il est 2 Aprs avoir attendu :
transmis ; sinon, la station monopolise le droit daccs, sans trans-
mettre, pendant toute la dure de temps qui lui est alloue. Des si le bus est libre, alors :
amliorations de cette technique ont t proposes pour obliger la la station met son message ;
station qui na pas de message apriodique en attente librer le sil ny a pas de collision durant la transmission, le message
droit daccs et laisser ainsi les autres stations transmettre leurs est mis en respectant ses contraintes temporelles ;
messages apriodiques. Les techniques dallocation du temps sinon un mcanisme de rsolution de collision est mis en
au serveur priodique sont celles prsentes dans le paragra- place pour dterminer le temps dattente (attente en fonction de la
phe 3.6.1.2. laxit et de ladresse de la station, par exemple). Aller en 2 ;
sinon aller en 1, car il y a un message plus urgent mis par une
On peut considrer quavec cette technique un message apriodi- autre station.
que est trait quasiment de la mme manire quun message prio-
dique. Cette technique est simple mettre en uvre et ne ncessite Si une station tente dmettre son message quand la charge du
ni trames de service, ni traitement spcifique comme les deux tech- rseau est importante, le risque dchec de la tentative devient
niques prcdentes, mais elle conduit un surdimensionnement du lev. Par ailleurs, cette technique conduit une certaine oisivet du
rseau. rseau, cause des attentes avant de transmettre. Tous ces inconv-
nients sont dus aux problmes de collisions inhrents la technique
CSMA/CD. Cette technique est donc viter en cas de charges
3.7.1.3 Stratgie du meilleur effort fonde sur larbitrage moyennes ou leves.
daccs
Utilisation de LLF avec fentre temporelle sur boucle jeton
Les principaux algorithmes de cette catgorie sont inspirs des FDDI ou autre
algorithmes dordonnancement de tches EDF (Earliest Deadline
Lalgorithme propos par Lim et al [31] permet dordonnancer des
First) [33] et LLF (Least Laxity First) [40] qui sont tous les deux opti-
messages apriodiques sur des rseaux en boucle jeton (FDDI ou
maux. Voyons brivement comment des algorithmes comme EDF et
autre), selon le principe suivant.
LLF peuvent tre appliqus lordonnancement de messages ap-
riodiques dans le cas de quatre rseaux. 1 Le jeton circulant contient trois champs : la borne infrieure et
la borne suprieure dune fentre temporelle et un compteur.
Utilisation de EDF avec le rseau CAN 2 Quand le jeton arrive devant une station, celle-ci incrmente le
Une mthode simple permettant dadapter EDF CAN et dordon- compteur si elle a un message transmettre dans la fentre tempo-
nancer des messages apriodiques consiste dfinir les identifica- relle spcifie dans le jeton.
teurs des objets transmis sur le bus de la manire suivante : une 3 Aprs un tour complet de la boucle, le jeton revient la station
premire partie des bits de lidentificateur correspond lidentifica- source qui procde alors de la manire suivante :
teur de lobjet connu au niveau application, puis une seconde partie si le compteur est nul, alors la fentre temporelle est agrandie
de lidentificateur est calcule partir du dlai du message. Le mes- et un jeton est mis avec la nouvelle fentre ;
sage apriodique le plus urgent a lidentificateur le plus petit, il est si le compteur est gal un, alors le jeton est transmis la sta-
donc transmis en priorit. Le rcepteur se fonde sur la premire par- tion qui a le message le plus urgent transmettre (la station qui a
tie des identificateurs pour reconnatre les objets qui lintressent incrment le compteur se reconnat comme destinataire du jeton) ;
[53]. si le compteur est suprieur un, alors la fentre est rtrcie et
un jeton avec la nouvelle fentre est mis en circulation.
Utilisation de LLF avec la boucle jeton IEEE 802.5
4 Quand une station transmet son message, elle met juste
LLF, comme son nom lindique, est fond sur lutilisation de la aprs un jeton avec une nouvelle fentre temporelle dont la borne
laxit des messages. Lorsque lon se place au-dessus de la sous- infrieure est gale linstant courant et la borne suprieure est
couche MAC, la laxit dun message m linstant t, L(t,m), est dfi- dtermine de la manire suivante :
nie par :
si cette station a un autre message transmettre, alors la
L(t,m) = TAMAC(m) + DMAC(m) DEP (m) t borne suprieure est gale lchance de ce message ;
sinon la borne suprieure est dtermine partir de la borne
avec TAMAC(m) instant o le message est soumis la sous- infrieure et dune constante fixe linitialisation du rseau.
couche MAC de lmetteur, La mise en uvre de cet algorithme conduit soit modifier le
jeton de base, soit utiliser une trame de donnes qui joue le rle
DMAC(m) dlai maximal acceptable pour le transfert du
du jeton voulu, mais cela conduit un surcot important. cause de
message m au niveau MAC,
son surcot, cet algorithme est, en gnral, conseill dans le cas o
DEP (m) dlai dmission et de propagation sur le les messages apriodiques sont rares ou bien dans le cas o la
support physique du message m. charge moyenne du rseau est faible.
Lapplication de LLF, dans le cas de la boucle jeton IEEE 802.5,
consiste assigner la priorit la plus leve au message dont la 3.7.1.4 Stratgie du meilleur effort fonde sur le contrle
de transmission
laxit est la plus petite [68]. Chaque fois quune station reoit le
jeton, elle transmet le message dont la laxit est la plus petite. Les Les algorithmes avec stratgie du meilleur effort fonde sur le
problmes dapplication de LLF au rseau IEEE 802.5, pour prendre contrle de transmission sont surtout utiliss dans le domaine du
en compte des messages apriodiques, sont les mmes que ceux multimdia pour le transfert dimages et de sons. Celui propos par
poss par lapplication de RM pour les messages priodiques Vetterli and Garret [67] fonctionne selon une ide simple mieux
(cf. 3.6.1.1). vaut transmettre une information approximative que rien du tout .

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 19
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

Cette ide, si elle est adapte beaucoup dapplications multim- rpartie. Le lecteur pourra se rfrer aux rfrences [8] et [41], pour
dias, lest trs peu pour les applications de contrle/commande. Le dautres synthses sur ces systmes dexploitation.
principe de cette technique est le suivant.
chaque message (par exemple, une image) sont associes plu-
sieurs versions avec des quantits dinformations diffrentes (des Tableau 1 Adquation dune technique MAC
quantits qui dpendent de la qualit de limage, par exemple). On une stratgie dordonnancement de messages
transmet la version du message qui tient compte de la charge du
rseau. La slection de la version de message peut se faire de plu- Stratgie de meilleur
sieurs manires, entre autres en utilisant une information locale Stratgie de garantie
effort
seulement (chaque station mesure la charge du rseau en tenant (pour messages
(pour messages
compte du nombre de messages dans sa file dattente et choisit la priodiques)
apriodiques)
version envoyer en fonction de la charge mesure) ou en utilisant Technique
un historique rcent (chaque station compte le nombre de ses mes- MAC
Avec Avec
sages qui nont pas respect leurs chances, le nombre global de Avec Avec
contrle contrle
collisions dtectes, etc. et choisit la version mettre en fonction arbitrage arbitrage
de de
de cet historique). daccs daccs
transmission transmission
La technique utilise dans cet algorithme sapparente celle utili-
se pour lordonnancement de tches rsultats imprcis [12], [34]. Boucle
jeton Oui (1) Non (2) Oui (1) Non (2)
Cet algorithme peut prsenter un surcot important si ltat du
rseau est obtenu par change de messages entre stations. Bus jeton Non (3) Oui (4) Non (3) Oui (5)
FDDI Non (3) Oui (4) Non (3) Oui (5)
3.7.2 Ordonnancement avec MAC contrle FIP Oui (6) Non (7) Oui (8) Non (7)
daccs centralis CAN Oui (9) Non (10) Oui (9) Non (10)

Comme pour les messages priodiques, nous nous intressons CSMA/CD Non (11) Non (12) Oui (11) Non (12)
ici au cas du rseau FIP seulement. Dans FIP, tout message ou toute (1) Grce au mcanisme de priorits globales, le droit daccs est attribu
variable apriodique est considr comme non critique du point de la station qui a le message le plus urgent parmi lensemble des messa-
vue temporel. Aucune contrainte de temps ne peut tre spcifie ges en attente dans toutes les stations.
pour les variables (messages) apriodiques. FIP gre les changes (2) Quand elle est utilise avec le mcanisme de priorits globales, la tech-
de variables (messages) apriodiques laide de deux files dattente nique de la boucle jeton ne permet pas de garantir, chaque tour du
FIFO (First In First Out). Les demandes de transfert de variables jeton, un temps dutilisation du mdium pour chaque station.
(messages) apriodiques arrivent larbitre de bus suite la diffu- (3) Cette stratgie est inadapte, car le bus jeton et FDDI ne disposent pas
sion didentificateurs priodiques rservs aux variables (messa- de mcanisme de priorits globales. La mise en place dun protocole qui
ges) apriodiques et sont mises en files dattente. Ces demandes permet de dterminer le message le plus urgent sur un bus jeton ou
sont servies lorsquil ny a pas de variables (messages) priodiques FDDI et passer le jeton la station qui a ce message conduit un sur-
changer. Ainsi FIP permet la prise en compte de variables (mes- cot important.
sages) apriodiques avec une stratgie de meilleur effort (avec deux (4) En utilisant des techniques dallocation de bande synchrone
niveaux de priorits seulement) fonde sur larbitrage daccs. (cf. 3.6.1.2).
(5) En augmentant le temps dallocation du mdium pour une station don-
ne, on augmente les chances de garantie de respect des contraintes
temporelles de ses messages apriodiques, mais pas de celles des mes-
3.8 Tableau rcapitulatif sages des autres stations. La notion de meilleur effort convient des
stations individuelles et non lensemble du rseau.
(6) Larbitre de bus donne le droit daccs aux stations selon un ordre pr-
dtermin, ce qui permet de garantir facilement les contraintes de varia-
Le tableau 1 montre avec quelles techniques MAC une stratgie bles et messages priodiques.
dordonnancement peut tre mise en uvre pour prendre en
compte des contraintes de temps. (7) Dans FIP, on nattribue le mdium une station que pour transmettre
une seule variable (message). La stratgie base sur le contrle de
transmission est donc inadapte dans le cas de FIP.
(8) FIP gre les changes de variables et messages apriodiques en utili-
sant deux files dattente FIFO avec deux niveaux de priorit, qui sont
4. Produits et exemples servies aprs change des variables et messages priodiques.

de ralisations (9) En associant des identificateurs aux messages en fonction de leur


priode ou de leur chance, le message le plus urgent obtient, en prio-
rit, le droit daccs au mdium.
(10) CAN est fond sur une technique daccs comptition, on ne peut pas
garantir une station davoir le droit daccs de manire rgulire pen-
4.1 Exemples de systmes dexploitation dant un intervalle de temps et un ordre fixs lavance.
temps rel et rpartis (11) CSMA/CD ne permet pas daffecter le mdium aux stations sur la base
des priodes ou des chances de leurs messages. Mais, en implantant
un protocole de rservation du mdium, on peut garantir certaines con-
traintes temporelles. Cependant, tout protocole au-dessus de CSMA/CD
Plusieurs systmes dexploitation prototypes ont t proposs qui permet de connatre le message le plus urgent pour toutes les sta-
pour des applications temps rel et rparties. Nous en donnons les tions conduit un surcot important. Un tel protocole est adapt uni-
grands principes. Parmi ceux que nous prsentons, seul SPRING quement quand le taux dutilisation du rseau est faible.
intgre des mcanismes de placement dynamique de tches. Tous (12) La fonction de contrle de transmission de CSMA/CD nest pas adapte
ces systmes font dun systme de communication garantissant des la prise en compte de contraintes de temps, car elle ne permet pas de
dlais borns pour le transfert de messages une condition nces- garantir une station dutiliser le mdium pendant un temps dalloca-
saire pour le bon fonctionnement de toute application temps rel et tion et un ordre fixs lavance.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 20 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

Unit de traitement Unit de traitement


Site Site Site Site

P P Rseau
P P
P P
Site Site Site

Bus Ethernet

Bus Ethernet

P processeur
Processeur Processeur Sous-systme
Figure 9 Exemple dun sous-systme MARS systme systme d'entres/sorties

4.1.1 Systme MARS Processeur Processeur Processeur


d'application d'application d'application
Le projet MARS (MAintainable Real-time System) [15] a dbut
luniversit de Berlin, puis continu luniversit de Vienne. Lobjec-
tif de MARS est de proposer une architecture de systme temps
rel, rparti et tolrant les fautes destine des applications criti- Figure 10 Composants dun systme SPRING
ques du point de vue temporel. Lune des principales proprits de
MARS est donc naturellement la vrification, de manire analytique,
de la garantie des contraintes temporelles des tches. Cet objectif SPRING, on parle de tches critiques, de tches essentielles et de
limite videmment le champ dapplication de MARS, puisque lon tches non essentielles), avec ou sans contraintes de ressources ou
ne peut vrifier analytiquement que des tches dont le comporte- de prcdence. SPRING permet aussi de garantir une chance sp-
ment est connu lavance (cest--dire des tches priodiques ou cifie pour un groupe de tches (dans ce cas, on sintresse lins-
qui apparaissent des instants connus lavance). tant de terminaison de la dernire tche du groupe et non pas
Une application, selon lapproche MARS, peut tre dcompose seulement aux instants de terminaison de chaque tche).
en un ensemble de sous-systmes (clusters) autonomes. Un temps Chaque site dun systme SPRING est compos dune machine
global commun est disponible sur tous les sous-systmes. Un sous- multiprocesseur qui est constitue, son tour, dun (ou plusieurs)
systme est compos dunits de traitement tolrantes aux fautes processeur(s) dapplication, dun (ou plusieurs) processeur(s) sys-
(figure 9). Une unit de traitement tolrante aux fautes est une agr- tme et dun sous-systme dentres/sorties (figure 10). Les proces-
gation de trois processeurs fonctionnant en redondance active pour seurs systme excutent les oprations systme (comme
fournir un service fiable au sous-systme. Ces units sont intercon- lalgorithme dordonnancement, lallocation de mmoire, etc.), ce
nectes par un bus Ethernet dupliqu et gr par le protocole TDMA qui permet de ne pas imputer le surcot du systme dexploitation
(Time Division Multiple Access) qui garantit des temps de transmis- aux tches dapplication. Ainsi, lorsquon calcule le temps dexcu-
sion connus lavance pour les messages. Les messages sont le tion dune tche, on ne sintresse quau traitement propre la
seul moyen de communication entre units de traitement. Les mes- tche et on vite donc toutes les incertitudes sur les temps dexcu-
sages sont dats lmission et la rception, ce qui permet de syn- tion des primitives systme. Il est signaler que le surcot engendr
chroniser les horloges. par le systme dexploitation est souvent un point crucial dans la
Les tches sont excutes de manire cyclique ou des instants dtermination du temps dexcution allouer de manire efficace
fixs a priori. Toutes les donnes dune tche doivent tre prtes une tche temps rel. Dans la pratique, on a lhabitude, selon le cas,
avant de lancer la tche. Une tche sexcute sans interaction avec soit de considrer ce temps comme ngligeable, soit dutiliser une
lenvironnement et sans synchronisation avec les autres tches. la valeur maximale pour viter tous les dsagrments aux tches
fin de son excution, la tche diffuse son rsultat aux autres entits applicatives. SPRING apporte donc une solution efficace (mais on-
du sous-systme par des messages dtat. Ce modle dexcution reuse) ce problme.
de tches, qui est restrictif, a comme avantage la possibilit de cal-
culer hors ligne le temps dexcution de chaque tche. Comme les Les tches dapplication sexcutent gnralement sur les proces-
priodes des tches sont connues, les instants de communication seurs dapplication, mais peuvent aussi rserver du temps sur les
sont connus lavance et les rservations de temps daccs au processeurs systme. Un algorithme dynamique est utilis pour
rseau TDMA sont effectues a priori. Ainsi, MARS opte pour un garantir les contraintes des tches critiques ou essentielles. Lorsque
ordonnancement fixe de tches et de messages. Pour tenir compte les processeurs locaux sont trop chargs pour garantir les contrain-
de certains aspects dynamiques (apparition dalarmes, par exem- tes de toutes les tches locales critiques ou essentielles, un algo-
ple), MARS impose une conception dapplication avec plusieurs rithme dordonnancement rparti est lanc pour dterminer des
modes de marche et un ordonnancement fixe doit tre tabli pour sites daccueil pour certaines tches. Pour minimiser les temps de
chaque mode de marche. Lorsquun vnement important (et prvu transfert de tches lors des oprations de migration, SPRING opte
davance) apparat, le systme change de table dordonnancement. pour la duplication de tches sur les sites du rseau. SPRING utilise
donc un placement dynamique avec migration de tches. Linforma-
tion sur la charge des diffrents sites est recueillie et maintenue par
4.1.2 Systme SPRING chaque site (il sagit donc dune gestion rpartie de linformation de
charge).
SPRING est un systme dexploitation temps rel et rparti dve- Contrairement MARS, SPRING opte pour une combinaison flexi-
lopp luniversit du Massachusetts [55]. Cest un systme pour ble des techniques en ligne et hors ligne : les tches priodiques
des applications dynamiques, complexes et de grande taille. Tous (qui sont critiques ou essentielles) sont traites hors ligne et les
les types de tches sont considrs : des tches priodiques ou ap- tches sporadiques sont traites en ligne. Ainsi, SPRING dispose
riodiques, des tches avec des degrs dimportance variables (dans dune grande varit de techniques pour ordonnancer des applica-

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 21
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

geant un haut degr de sret de fonctionnement [42]. Delta-4 XPA


(eXtra Performance Architecture) est une extension de Delta-4 pour
Site Site Site Site
prendre en compte les aspects temps rel [65]. La thse de Delta-4
Bus Ethernet XPA est que la prdiction, de manire statique, de tous les compor-
tements dun systme complexe, comme le fait MARS, conduit au
mieux un surdimensionnement excessif du systme, au pire une
Site Site Site
impossibilit, tant donn le nombre de situations prendre en
compte dans certains cas. Pour les systmes complexes, il faut rai-
sonner la fois en termes de garantie absolue, pour les situations
prvues , et en termes de meilleur effort pour les situations non
prvues (en ralit, des situations juges trs peu probables). Les
systmes conus selon lapproche Delta-4 sont des systmes prvus
Objet systme Application pour fonctionner en mode dgrad progressif. Cela signifie que, en
cas dextrme gravit davalanche dvnements, un systme peut
devenir compltement inoprant ; cest ce qui arrive, heureusement
Ordonnanceur rarement, des navettes spatiales ou autres engins, par exemple.
en ligne
Pour assurer un fonctionnement en mode dgrad progressif,
Serveur de Delta-4 XPA intgre la notion de dlai et dimportance de tches et
Calendrier
communication utilise un ordonnancement premptif combinant lapproche EDF et
limportance de tches. Le placement de tches est effectu de
Objet inactif Objet en excution manire statique.
Objet actif redondant
Le service de communication contient des primitives pour la plu-
Figure 11 lments de base dun systme MARUTI
part des problmes de communication dans les systmes rpartis,
notamment, communication de groupe, diffusion atomique et, sur-
tout, dlais de transfert borns. Le rseau utilis pour limplantation
tions temps rel et rparties, mais avec des architectures matrielles
de larchitecture Delta-4 XPA est un rseau local avec dlai de trans-
complexes.
fert born (comme FDDI, le bus jeton ou la boucle jeton) et avec
redondance. Par ailleurs, les processeurs accdent deux sources
4.1.3 Systme MARUTI de temps global : un temps global interne fourni par un algorithme
de synchronisation dhorloges et un temps global externe donn
Le systme dexploitation MARUTI a t dvelopp luniversit fourni par un rcepteur GPS (Global Positioning System).
du Maryland et a t conu pour des applications temps rel et
rparties [30]. Le noyau de MARUTI est construit selon lapproche
oriente objet (le systme est constitu donc dun ensemble de ser- 4.1.5 Autres systmes
veur dobjets). Les travaux (ou tches) sont des invocations dobjets
excutables. MARUTI dispose de mcanismes de redondance qui
permettent lutilisateur de demander dexcuter plusieurs fois un En plus des projets prsents prcdemment qui ont eu pour
mme objet ou davoir des objets redondants qui sexcutent en objectif de proposer des systmes temps rel et rpartis complets,
parallle (figure 11). En plus des chances, MARUTI permet de dautres projets se sont principalement limits la proposition de
prendre en compte les instants exacts de dbut et de fin des excu-
noyaux de systmes offrant des facilits pour implanter des applica-
tions dobjets, ce qui permet de limiter la gigue en cas de besoin.
tions temps rel et rparties. Il sagit notamment de ARTS, CHAOS
MARUTI maintient un calendrier des excutions dobjets. Au et DARK.
moment de la demande dexcution dun objet, un test dordonnan-
abilit est effectu, en tenant compte des demandes dexcution
dj acceptes. Si le test est positif, la demande est accepte, sinon ARTS (Advanced Real-time Technology System) est un systme
elle est rejete. Si une requte est accepte par le systme, ses rparti dvelopp luniversit de Carnegie Mellon [64]. ARTS est
chances seront respectes. Ainsi, MARUTI opte pour une strat- conu selon lapproche oriente objet et fonctionne avec un ordon-
gie de garantie en ligne mais, avec cette stratgie, des demandes nanceur priorits statiques. Lordonnancement de messages uti-
dexcution dobjets (mme les objets critiques) peuvent tre reje- lise une extension Rate Monotonic qui permet davoir un
tes. ordonnancement homogne pour les tches et les messages. Seu-
Des objets distants peuvent changer des messages. Les ressour- les les requtes dont le systme peut garantir les chances sont
ces de communication sont gres comme des objets en tenant acceptes. Des implantations de ARTS ont t faites sur des rseaux
compte des dlais des messages changs entre objets distants. Les de type Token ring (IEEE 802.5) et FDDI.
ressources de communication ncessaires lexcution dun travail
accept sont rserves au moment de lacceptation du travail ; cela CHAOS (Concurrent Hierarchical Adaptable Object System)
permet aux travaux accepts de recevoir temps les messages dont est une famille de noyaux de systme (CHAOSarc, CHAOSbase,
ils ont besoin. Les machines composant une plate-forme MARUTI
CHAOSmin...) pour des architectures multiprocesseurs et qui fonc-
sont interconnectes par un rseau Ethernet gr par le protocole
TDMA. Le placement des objets seffectue de manire statique. tionnent, comme MARUTI, selon lapproche objet [48].

Le systme DARK (Distributed Ada Real-time Kernel ) a t dve-


4.1.4 Systme Delta-4 XPA lopp pour des applications temps rel et rparties crites en Ada
[49]. Lordonnanceur est dynamique et de type meilleur effort ; il
Delta-4 est un projet ESPRIT dont lobjectif est la proposition dun faut excuter dabord les tches les plus prioritaires, sans garantie
systme rparti tolrant les fautes destin des applications exi- absolue du respect des chances.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 22 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

4.2 Mthodes et outils de validation Cahier des charges Code source


dapplications temps rel
Conception
4.2.1 Besoin doutils de validation dapplications d'application Compilateur

Les applications temps rel sont complexes et comportent des


lments nombreux et varis, comme les tches, les vnements,
les contraintes des tches, les protocoles de communication utili-
Outil d'analyse
ss, etc. Ces applications abordent des domaines sensibles, comme Description Description
abstraite concrte des paramtres
le nuclaire, le suivi de malades, le transport et les industries pol-
des tches des tches temporels
luantes, et leurs dysfonctionnements peuvent savrer catastrophi-
ques. Nous avons tous encore en mmoire lchec de la fuse
Ariane 5 qui, daprs les rapports des experts, est imput des
erreurs du logiciel de bord qui a t mal test [32]. Aussi est-il Description
important pour lutilisateur de savoir valider lapplication avant sa de ressources
mise en exploitation. La preuve formelle est la voie la plus sre pour
cela. Mais on ne sait pas prouver aujourdhui toutes les proprits,
ni valider tous les comportements. Par ailleurs, la validation elle-
mme est complexe et ncessite une dmarche progressive et
Gnrateur
structure, tout comme la construction de lapplication. Par bou- de charge
tade, on en vient dire quune application bien construite est une
application dont la validation est simple raliser. Cest une
manire dexprimer que lon na rellement compris un problme
ou une application que lorsquon a fait apparatre au premier plan Analyseur
ses structures fondamentales ; prouver alors la validit de celles-ci d'ordonnanabilit
est la base de la preuve de toute application. Construire une applica-
tion de faon mthodique et accompagner cette approche par une
validation progressive, quelle soit formelle ou quelle fasse de la
simulation, ncessite des outils.
Une application temps rel prsente deux aspects : un aspect Outil de mesure
Plate-forme
fonctionnel et un aspect temporel. Les deux aspects doivent tre du temps d'excution
valids. Un nombre relativement important de travaux ont t dve-
lopps ces quinze dernires annes sur les mthodes formelles
pour la vrification des applications temps rel. Malheureusement, Figure 12 Constituants de loutil PERTS
les outils nont pas suivi. On ne trouve aujourdhui que quelques
prototypes dvelopps par la communaut universitaire [35], [46].
Loutil PERTS que nous vous prsentons en fait partie.
rel est compose de trois parties : description des tches, descrip-
tion des ressources utilises et description des algorithmes dordon-
nancement et des protocoles de contrle daccs aux ressources.
4.2.2 Outil PERTS ces trois parties il faut ajouter la description du rseau qui se
rsume un dlai maximal de communication.
PERTS (Prototyping Environment for Real-Time Systems) est un
Une tche est dcrite principalement par les paramtres suivants :
outil permettant daider la validation des applications temps rel
implantes sur des architectures multiprocesseurs ou rparties [35]. attributs fonctionnels (nom, premption autorise ou non,
Tous les modules de PERTS sont programms en C++ et fonction- importance et fonction de laxit qui dcrit, pour les tches rsultat
nent sous X-Window. Llment central de PERTS est sans doute son imprcis seulement, le cot engendr par la terminaison de la tche
analyseur dordonnanabilit (figure 12). PERTS permet de prendre un instant donn) ;
en compte la plupart des types de tches tudis dans la littrature attributs temporels (temps maximal dexcution, temps
(tches priodiques ou apriodiques, tches rsultat imprcis, moyen dexcution, date au plus tt, priode, chance, probabilits
tches avec ou sans contraintes de prcdence et de ressources, de distribution des paramtres des tches apriodiques) ;
tches premptibles ou non). PERTS offre un ensemble de fonctions ressources utilises (nombre dexemplaires pour chaque res-
qui permet de prendre en compte la quasi-totalit des algorithmes source utilise, intervalles de temps durant lesquels la tche peut
et protocoles connus en ce qui concerne : utiliser chaque ressource).
les algorithmes dordonnancement priorits (Earliest Dead- Les relations de prcdence et de communication entre tches
line First, Rate Monotonic...) ; sont dcrites laide dun graphe. En particulier, ce graphe dcrit la
les serveurs pour tches apriodiques ; taille et la frquence des donnes changes entre tches.
les algorithmes dordonnancement des tches rsultat Les tches apriodiques peuvent tre dclenches de manire
imprcis ; alatoire et les communications peuvent tre indterministes selon
les protocoles de contrle daccs aux ressources (protocole le rseau utilis. Pour valider ces aspects alatoires, PERTS intgre
plafond de priorit, protocole hritage de priorit...). un environnement de simulation orient objet qui permet lutilisa-
teur de construire le modle associ au comportement dynamique
Chaque fois quil est possible, PERTS utilise des techniques analy-
de son application.
tiques fondes sur des rsultats thoriques prouvs (comme ceux
prsents dans larticle S 8 055 de ce trait). Chaque ressource utilise est dcrite principalement laide des
paramtres suivants :
Description des entres type de ressource (imprimante, processeur, fichier...) ;
PERTS fournit lutilisateur des interfaces qui lui permettent de nombre dexemplaires de la ressource ;
dcrire lapplication valider. Une description dapplication temps caractre consommable ou non de la ressource ;

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 23
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

ressource premptible ou non ;


temps dattente pour acqurir la ressource lorsque celle-ci est
5. Conclusion
libre (ce temps dpend de la nature de la ressource ; par exemple,
pour acqurir un canal de communication, il faut attendre le temps
ncessaire ltablissement de connexion) ; La rpartition est souvent indispensable pour matriser et garantir
temps de libration de la ressource (temps entre le moment o les contraintes temporelles dans les systmes temps rel comple-
une tche libre la ressource et le moment o cette ressource xes. Mais une telle rpartition conduit de nouveaux problmes
devient rellement disponible pour une nouvelle acquisition). quil faut rsoudre. Parmi ces problmes, on trouve celui de lordon-
nancement temps rel. En effet, le respect des contraintes temporel-
La troisime partie de la description dapplication concerne le les globales dune application temps rel et rpartie implique le
choix dun algorithme dordonnancement de tches (Rate Monoto- respect, la fois, des contraintes temporelles des tches et de celles
nic, Earliest Deadline First, etc.) et dun protocole de contrle des messages changs entre ces tches. Nous avons synthtis les
daccs aux ressources (protocole hritage de priorit, protocole diffrentes techniques qui permettent le placement et la migration
priorit plafond, etc.). de tches temps rel et la communication de messages changs
entre ces tches dans des architectures rparties.
Rsultats fournis
Lanalyseur dordonnanabilit qui constitue llment central de Nous avons soulign que le placement peut se faire de manire
loutil PERTS fournit diffrentes dures (temps dexcution des statique ou dynamique. Le placement statique est simple mettre
tches, temps doccupation des ressources...) en fonction des en uvre et facilite le test dordonnanabilit. Malheureusement, il
charges, des algorithmes dordonnancement et des protocoles de noffre pas de souplesse pour ragir aux surcharges des sites, pour
contrle daccs aux ressources considrs, pour les pires cas de prendre en compte certains aspects dynamiques. Le placement
fonctionnement. Lanalyseur dordonnanabilit peut tre utilis dynamique, avec la migration de tches, permet de mieux tenir
plusieurs fins : compte des charges de lensemble des sites et de privilgier lexcu-
tester si lensemble des ressources spcifies est suffisant tion des tches les plus importantes dans le systme. Cependant, le
pour les tches ; placement dynamique engendre des surcots de traitement et de
communication non ngligeables et rend difficile voire impossible
slectionner les algorithmes de calcul pour les tches rsul- le test a priori de lordonnanabilit des tches. Entre le tout statique
tats imprcis ; et le tout dynamique, une tendance qui tend simposer est celle
suggrer des valeurs de paramtres tels que les priodes des qui consiste choisir un placement statique pour des tches impor-
serveurs des tches apriodiques. tantes, priodiques et connues lavance et un placement dynami-
Dans le cas multiprocesseur ou rparti, PERTS permet dobtenir que, avec ventuellement des migrations, pour les autres.
des placements de tches valides. Lorsquil ny a pas de placement
possible, loutil peut suggrer des modifications faire pour obtenir La prise en compte des contraintes temporelles de messages doit
un placement valide. se faire tous les niveaux de la communication. Par consquent, les
profils de communication temps rel sont dune importance capitale
Pour rpondre divers niveaux de validation, PERTS distingue pour garantir le bon fonctionnement des applications temps rel et
trois types danalyse : analyse du systme, analyse dun site et ana- rparties. Nous avons trait un des aspects de la communication
lyse de bout en bout. temps rel, et non des moindres, savoir la prise en compte des
Lanalyse du systme a principalement deux objectifs : contraintes de temps au-dessus du niveau MAC. En effet, cest au
niveau MAC quapparat le problme de partage du mdium entre
aider lutilisateur placer les tches sur les sites du systme ; les stations o sexcutent les tches communicantes. Un ordon-
donner diffrents rsultats de lanalyse dordonnanabilit. nancement adquat au-dessus du niveau MAC est une clef indispen-
sable pour garantir les chances des messages. Les principales
Lanalyse de site concerne lanalyse dordonnanabilit des techniques MAC et techniques dordonnancement de messages qui
tches affectes un processeur. Elle fournit lutilisateur toute une leur conviennent ont t prsentes, montrant ainsi que beaucoup
varit de rsultats, parmi lesquels : de techniques MAC peuvent tre utilises pour vhiculer des messa-
lordonnanabilit des tches affectes au site (le rsultat est ges temps rel.
donn sous forme graphique pour aider, dans le cas o lensemble
des tches nest pas ordonnanable, lutilisateur comprendre Notre tude des messages priodiques sest appuye sur une
pourquoi certaines contraintes ne sont pas garanties) ; hypothse courante dans les applications temps rel et rparties,
le taux dutilisation du processeur ; savoir, les dlais sont gaux aux priodes. Cependant, pour rpon-
dre aux besoins dautres applications, dautres contraintes doivent
le temps dattente et de rponse moyen concernant lutilisa-
tre prises en compte, notamment : des messages avec des chan-
tion des ressources.
ces diffrentes des priodes, des contraintes de gigue, des contrain-
Lutilisateur peut alors agir sur certains aspects. Par exemple, tes concernant le taux derreur ou le taux de perte. Les travaux sur
pour amliorer les temps de rponse des tches apriodiques, il ces problmes, dans le contexte des rseaux accs multiple, sont
peut changer de type de serveur. Il peut aussi lancer une simulation encore rares aujourdhui. Cependant, ces problmes sont tudis
des tches apriodiques et visualiser les rsultats de la simulation. depuis quelques annes dans le contexte des rseaux commuta-
tion de paquets, comme ATM, pour des applications multimdias o
Lanalyse de bout en bout concerne un systme rparti dans sa
les contraintes de gigue, de taux derreur et de taux de perte sont
globalit. Lanalyse de bout en bout permet danalyser des temps
trs rpandues. Il y a donc des rapprochements effectuer entre les
dexcution, dans le pire des cas, selon les processeurs sur lesquels
deux catgories de rseaux pour concevoir les rseaux temps rel
chaque tche peut sexcuter. PERTS considre que les tches ne
de demain.
migrent pas durant leur excution.
Enfin, lenvironnement de simulation permet de spcifier le sys- Enfin, il faut souligner que lordonnancement rparti est actuelle-
tme sur lequel sera implante lapplication avec diffrents niveaux ment un stade embryonnaire et que beaucoup reste faire pour
de dtails. On peut spcifier les processeurs, le rseau de communi- obtenir des rsultats thoriques, comme on en a pour lordonnance-
cation, les units de disques, les priphriques, etc., de manire ment monoprocesseur, qui permettent de sassurer de la garantie
obtenir une description dtaille (dite aussi description concrte) de des contraintes temporelles, et de guider le test et la validation des
lapplication et la valider un niveau plus fin. applications rparties et des rseaux.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 24 Techniques de lIngnieur, trait Informatique industrielle
________________________________________________________________________________________________________ ORDONNANCEMENT TEMPS REL

Rfrences bibliographiques

[1] AGRAWAL (G.) et al. Local synchronous mission protocol, service interface to the [30] LEVI (S.T.), TRIPATHI (S.K.), CARSON (S.D.) et
capacity allocation schemes for guaran- application layer, management). DIN 19245-2 AGRAWALA (A.K.). The MARUTI hard real-
teeing messages deadlines with the timed (04-91) : Messen Steuern, Regeln ; PROFI- time operating system. ACM Operating Sys-
token protocol. In Proceed. of INFOCOM93, BUS. Process Field Bus ; Kemmunikations- tems Review, 23 (3), p. 90-105 (juil. 1989).
San Francisco, p. 186-193 (1993). Modell, Dienste fr die Anwendung, Proto- [31] LIM (C.), YAO (L.) et ZHAO (W.). A compara-
[2] ALABAU (M.) et DECHAIZE (T.). Ordonnan- koll, Syntax, Codierung, Schmittstelle zur tive study of three token ring protocols for
cement temps rel par chance. Technique Schicht 2, Management (Measurement and real-time communications. 11th IEEE Int.
et Science Informatiques, vol. 11, n 3, p. 59- control ; PROFIBUS ; Process Field Bus com- Conference on Distributed Computing Sys-
123 (1992). munication-model, services for user applica- tems, p. 308-317 (mai 1991).
tion, protocol, specification, coding, data
[3] ANDR (F.) et PAZAT (J.-L.). Le placement [32] LIONS (J.L.). ARIANE 5 - Flight 501 failure.
layer interface, management).
de tches sur des architectures parallles. http://andrea.it.dtu.dk/~hra/ariane5rep.html
Technique et Science Informatiques, vol. 7, [17] EAGER (D.L.), LAZOWSKA (E.D.) et ZAHOR- (19 juil. 1996).
n 4, p. 385-401, (1988). JAN (J.). Load sharing in distributed sys-
[33] LIU (C.L.) et LAYLAND (J.W.). Scheduling
tems. IEEE Transactions on Software
[4] BALTER (R.), BANTRE (J.P.) et KRAKOWIAK algorithms for multiprogramming in a hard-
Engineering vol. SE-12, p. 662-675 (may
(S.) (d.). Construction des systmes real-time environment. Journal of ACM,
1986).
dexploitation rpartis. Collection didactique vol. 20, n 1, p. 46-61 (jan. 1973).
dite par lINRIA (1991). [18] ELLOY (J.-P.). Les contraintes du temps rel
[34] LIU (J.W.S.), LIN (K.J.), SHIH (W.K.), YU
dans les systmes industriels rpartis. RGE
[5] BANNISTER (J.) et TRIVEDI (K.). Task allo- (A.C.), CHUNG (J.Y.) et ZHAO (W.). Algo-
(Revue gnrale dlectricit) N 2/1991,
cation in fault-tolerant distributed systems. p. 26-34.
rithm for scheduling imprecise computation.
Acta Informatica, 20, p. 261-281 (1983). IEEE Transactions on Computer, p. 58-68
[19] FONSECA (P.) et MAMMERI (Z.). A fra- (1991).
[6] BERNARD (G.), STVE (D.) et SIMATIC (M.). mework for the analysis of non-deterministic
Placement et migration de processus dans clock synchronisation algorithms. In LNCS [35] LIU (J.W.S.), RENDONDO (J.L.), DENG (Z.),
les systmes rpartis faiblement coupls. n 1151, p. 159-174, Springer-Verlag (1996). TIA (T.S.), BETTATI (R.), SILBERMAN (A.),
Technique et Science Informatiques, vol. 10, STORCH (M.), HA (R.) et SHIH (W.K.).
n 5, p. 375-392 (1991). [20] GAREY (M.) et JOHNSON (D.). Complexity PERTS : A prototyping environment for real-
results for multiprocessor scheduling under time systems. Technical report UIUCDCS-R-
[7] BLAZEWICZ (J.), HECKER (K.H.), PESCH (E.), resources constraints. SIAM Journal of Com-
SCHMIDT (G.) et WEGLARZ (J.). Schedu- 93-1802, Department of Computer Science,
puting, 4, p. 397-411 (1975). University of Illinois (mai 1993).
ling computer and manufacturing processes.
[21] HE (J.), MAMMERI (Z.) et THOMESSE (J.-P.). [36] MALCOLM (N.) et ZHAO (W.). Hard real-
Springer -Verlag editions (1996).
Modlisation des techniques de synchroni- time communication in multiple-access
[8] BODHISATTWA (M.), KARSTEN (S.) et sation dhorloges. Technique et Science
KAUSHIK (G.). A survey of real-time opera- networks. Journal of Real-Time Systems (8)
Informatiques, vol. 13, n 2, p. 185-221 p. 35-77 (1995).
ting systems. Research report N GIT-CC-93- (1994).
18, College of computing, Georgia institute [37] MAMMERI (Z.) et THOMESSE (J.-P.).
[22] HOU (C.J.) et SHIN (K.G.). Allocation of Rseaux locaux. Couches physiques et
of technology, Atlanta (mars 1993).
periodic task modules with precedence and liaison de donnes. Normes ISO 8802 et IEEE
[9] BURNS (A.) et WELLINGS (A.J.). Real-time deadline constraints in distributed real-time
systems and their programming languages. 802. Editions Teknea (1991).
systems. Proc. Real-time Systems Sympo-
Addison Wesley editions (1991). sium, Phoenix, AZ, p. 146-155 (dc. 1992). [38] Manufacturing Automation Protocol. MAP :
[10] CARDEIRA (C.) et MAMMERI (Z.). Ordon- 3.0 Implementation release. MAP Users
[23] ISO. Road vehicles - Low-speed serial data Group (1987).
nancement de tches dans les systmes communication, Part 2: low-speed controller
temps rel et rpartis. Revue RAIRO Automa- area network (CAN). International Standard [39] MULLENDER (S.). Distributed systems.
tique, Productique, Informatique Industrielle, ISO 11519-2 (1994) : vhicules routiers. Com- Second edition, Addison-Wesley (1995).
vol. 28, n 4, p. 353-384 (1994). munication en srie de donnes basse [40] PANWAR (S.S.), TOWSLEY (D.) et WOLF
[11] CHU (W.W.) et LAN (L.M.T.). Task allocation vitesse. Partie 2 : rseau local commande (J.K.). Optimal scheduling policies for a
and precedence relations for distributed real- basse vitesse (CAN) (Publie actuellement en class of queues with customer deadlines to
time systems. IEEE Transactions on Compu- anglais seulement). Amendement 1 : 1995 the beginning of service. Journal of ACM
ters, C-36(6), p. 667-679 (1987). ISO 11519-2 : 1994 (Publi actuellement en 35(4) p. 832-844 (1988).
[12] CHUNG (J.), LIU (J.) et LIN (K.). Scheduling anglais seulement). [41] PANZIERI (F.) et DAVOLI (R.). Real-time sys-
periodic jobs that allow imprecise results. [24] KAISER (C.) et SANTELLANI (Ch.). Ptrar- tems: a tutorial. In Performance evaluation of
IEEE Transactions on Computers, 39(9), que Plate-forme dexprimentation pour computer and communication systems,
p. 1156-1174 (1990). lordonnancement adaptatif temps rel strict LNCS n 729, p. 435-462 (1993).
[13] CHUNG (Y.-C.), LIU (C.-C.) et LIU (J.-S.). dapplications rparties. Technique et [42] POWELL (D.) (d.). Delta-4 - A generic
Applications and performance analysis of an Science Informatiques, vol. 17, n 1 (1998). approach for dependable distributed compu-
optimization approach for list scheduling [25] KRAKOWIAK (S.). Les systmes dexploita- ting. ESPRIT Research report, Springer-Ver-
algorithms on distributed memory multipro- tion rpartis : volution rcente et tendance lag (1991).
cessors. Journal of Information Science and de la recherche. Technique et Science Infor- [43] RAMAMRITHAM (K.). Channel characteris-
Engineering 11, p. 155-181 (1995). matiques, vol. 6, n 2, p. 151-161 (1987). tics in local area hard real-time systems.
[14] CORNAFION. Systmes informatiques [26] KWEON (S.-K.) et SHIN (K.G.). Traffic-con- Computer Networks and ISDN Systems, p. 3-
rpartis : concepts et techniques. ditions trolled rate monotonic priority scheduling of 13 (1987).
Dunod (1981). ATM cells. In Proceed. of 15th IEEE INFO- [44] RAMAMRITHAM (K.) et STANKOVIC (J.A.).
COM (mars 1996). Timed-constrained communication protocols
[15] DAMM (A.), REISINGER (J.), SCHNAKEL (W.)
et KOPETZ (H.). The real-time operating [27] LAPRIE (J.-C.). Dependability: basic con- for hard real-time systems. 6th IEEE Work-
system of Mars. Operating Systems Review, cepts and terminology. Springer-Verlag di- shop on Real-Time Operating Systems and
23 (3), p. 141-157 (juill. 1989). tions (1992). Software, Pittsburg (mai 1989).
[16] Deutsche Institut fr Normung. PROFIBUS [28] LE LANN (G.). Designing real-time depen- [45] RAYNAL (M.). La communication et le
standard part 1 and 2. DIN 19245-1 (04-91) : dable distributed systems. Computer Com- temps dans les rseaux et les systmes
Messen, Steuern, Regeln ; PROFIBUS ; Pro- munications, vol. 15, n 4, p. 225-234 (mai rpartis. ditions Eyrolles (1991).
cess Field Bus ; bertragungstechnik, Buszu- 1992). [46] SAAD-BOUZEFRANE (S.) et COTTET (F.). A
griffs-und bertragungs protokoll, [29] LE LANN (G.) et RIVIRE (N.). Real-time performance analysis of distributed hard
Dienstschnittstelle zur Anwendungs-Schicht, communications over broadcast networks : real-time applications. Proceedings of 2nd
Management (Measurement and control ; the CSMA-DCR and the DOD/CSMA-CD pro- IEEE International Workshop on Factory
PROFIBUS Field Bus ; data transmission tocols. INRIA Research Report n 1863 (mars Communication system, Borcelona, Spain,
technic, medium access methods and trans- 1993). p. 167-176 (1-3 oct. 1997).

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique industrielle S 8 056 25
ORDONNANCEMENT TEMPS REL _________________________________________________________________________________________________________

[47] SATHAYE (S.) et STROSNIDER (J.K.). Con- report TR92-01, Dept. of Computer Science, tions in a packet-switched network. In Pro-
ventional and early token release scheduling University of Massachusetts (1992). ceed. of IEEE TRICOM91, p. 35-43 (avril
models for the IEEE 802.5 token ring. Journal [57] STORCH (M.F.) et LIU (J.W.S.). Heuristic 1991).
of Real-Time Systems, (7) p. 5-32 (juil. 1994). algorithms for periodic job assignment. In [67] VETTERLI (M.) et GARRET (M.W.). Joint
[48] SCHWAN (K.), GOPINATH (P.) et BO (W.). Proceedings of Workshop on Parallel and source channel coding for real-time packet
CHAOS - Kernel support for objects in the Distributed Real-Time Systems, Newport service. In Proceed. of Australien Video Com-
real-time domain. IEEE Transactions on Com- Beach, CA, p. 245-251 (avr. 1993). munications Workshop, p. 136-145 (1990).
puters, vol. C-36, n 8, p. 904-916 (aot 1987). [58] STROSNIDER (J.K.). Highly responsive [68] YAO (L.-J.). Real-time communication in
[49] SCOY (R.), BAMBERGER (J.) et FIRTH (R.). real-time token rings. PhD Thesis, Pittsburgh token ring networks. PhD Thesis, University
An overview of DARK. In Mission critical ope- University (aot 1988). of Adelaide (1994).
rating systems. Agrawala (A.), Gordon (K.),
[59] TALBI (E.). Allocation dynamique de pro- [69] ZHANG (H.) et FERRARI (D.). Rate-control-
and Hwang (P.) (edit.), IOS Press (1992).
cessus dans les systmes distribus et paral- led static-priority queueing. In Proceed. of
[50] SHA (L.), SATHAYE (S.) et STROSNIDER lles. Rapport interne, LIFL Lille [ftp.lifl.fr/ IEEE INFOCOM, San Francisco, p. 227-236
(J.K.). Scheduling real-time communication pub/reports/AS-publi/an95/as-162] (1995). (1993).
on dual link networks. Proceed. of 13th IEEE
[60] TANNENBAUM (A.S.). Distributed opera- [70] ZHANG (S.) et BURNS (A.). Guaranteeing
Real-Time Systems Symposium, Phoenix,
ting systems. Prentice-Hall (1995). synchronous message sets in FDDI
p. 188-197 (2-4 dc. 1992).
[51] SHEN (C.). On ATM support for distributed [61] THOMESSE (J.-P.). Le rseau de terrain FIP. networks. Proceed. of 13th Workshop on Dis-
real-time applications. In Proceed. of IEEE Rseaux et Informatique Rpartie, vol. 3, tributed Computer Control Systems, Tou-
Real-Time Technology and Applications n 3, p. 287-321 (1993). louse, p. 107-112 (27-29 sept. 1995).
Symposium (10-12 juin 1996). [62] TIA (T.S.) et LIU (J.W.-S.). Assigning real- [71] ZHAO (W.) et RAMAMRITHAM (K.). Virtual
[52] SHIN (K.) et CHANG (Y.). Load sharing in time tasks and resources to distributed sys- time CSMA protocols for hard real-time com-
distributed real-time systems with state tems. International Journal of Mini and munication. IEEE Transactions on Software
change broadcasts. IEEE Transactions on Microcomputers, vol. 17, n 1, p. 18-25 Engineering, SE-13 (8), p. 938-952 (aot
Computers, 38 (8), p. 1124-1142 (aot 1989). (1995). 1987).
[53] SHIN (K.G.). Real-time communications in a [63] TINDELL (K.), BURNS (A.) et WELLINGS (A.). [72] ZHENG (Q.) et SHIN (K.G.). Fault-tolerant
computer-controlled workcell. IEEE Transac- Allocating hard real-time tasks: an NP-hard real-time communication in distributed com-
tions on Robotics and Automation, vol. 7, problem made easy. Journal of Real-Time puting systems. 22nd Intern. Symposium on
n 1, p. 105-113 (fvr. 1991). Systems (4) p. 145-65 (1992). Fault-tolerant Computing, Boston, p. 86-93
[54] STANKOVIC (J.), RAMAMRITHAM (K.) et [64] TOKUDA (H.) et MERCER (C.). ARTS : A dis- (oct. 1992).
CHENG (S.). Evaluation of a flexible task tributed real-time kernel. ACM Operating [73] ZHENG (Q.), SHIN (K.) et SHEN (C.). Real-
scheduling algorithm for distributed hard Systems Review 23 (3) (juil. 1989). time communication in ATM networks. In
real-time systems. IEEE Transactions on [65] VERISSIMO (P.), BARRET (P.), BOND (P.), HIL- Proceed. of 19th Annual Local Computer
Computers, 34 (12), p. 1130-1143 (dc. 1985). BORNE (A.), RODRIGUES (L.) et SEATON Network Conference, Minneapolis, Minne-
[55] STANKOVIC (J.A.) et RAMAMRITHAM (K.). (D.). The extra Performance Architecture sota, p. 156-165 (1994).
The Spring Kernel: a new paradigm for real- (XPA) in DELTA-4. In A generic architecture [74] ZHOU (S.), WANG (J.), ZHANG (X.) et
time operating systems. ACM Operating Sys- for dependable distributed computing, DELISLE (P.). Utopia: A load sharing facility
tems Review, 23 (3), p. 54-71 (juil. 1989). Powell (D.) (ed.), Springer-Verlag (1991). for large, heterogeneous distributed compu-
[56] STANKOVIC (J.A.). Distributed real-time [66] VERMA (D.C.), ZHANG (H.) et FERRARI (D.). ter systems. Technical report CSRI-257, Uni-
computing: the next generation. Technical Delay jitter control for real-time communica- versity of Toronto (avril 1992).

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
S 8 056 26 Techniques de lIngnieur, trait Informatique industrielle