19
ETUDE DU PARTITIONNEMENT ET DE
L’ORDONNANCEMENT DE T ˆ
ACHES CYCLIQUES SUR
UNE ARCHITECTURE DISTRIBU ´
EE, COMPOS´
EE
D’UN TERMINAL MOBILE 3G ET D’UN SERVEUR DE
CALCUL
Arthur Noseda
Sous la direction de Laurent Freund ( ´
Ecole Sup´erieure d’Ing´enieurs de Marseille)
R´
esum´
eCe m´emoire de DEA pr´esente une architecture h´et´erog`ene distribu´ee, constitu´ee d’un terminal mobile de troisi`eme
g´en´eration (3G) et d’une machine distante, disponible pour effectuer des tˆaches que le terminal seul, ne pourrait
pas ordonnancer.
Un algorithme g´en´etique, h´erit´e de la th´eorie du d´eveloppement des esp`eces, est utilis´e pour r´ealiser le
partitionnement de tˆaches cycliques que l’on souhaite ex´ecuter. L’ordonnancement propos´e est une adaption du
classique algorithme `a priorit´es dynamiques EDF (Earliest Deadline First) de Liu et Layland.
1. INTRODUCTION
Les r´ecentes avanc´ees en mati`ere de t´el´ephonie mobile, notamment avec l’av`enement de la troisi`eme
g´en´eration de protocoles, dont l’UMTS (Universal Mobile Telecommunications Service), apportent de
nouvelles perspectives pour la conception de syst`emes informatiques toujours plus performants. Ainsi,
les d´ebits th´eoriques annonc´es dans les sp´ecifications de l’UMTS, disponibles sur [16], encouragent le
d´eveloppement d’applications distribu´ees utilisant ce moyen pour interconnecter les machines distantes.
On peut mod´eliser certaines de ces applications complexes, parall`eles, comme des tˆaches cycliques
temps r´eel, dont la principale caract´eristique est de r´ep´eter un traitement `a intervalles r´eguliers sans
autoriser de d´epassement par rapport aux d´elais pr´evus. Un programme de compression de flux repr´esente
un bon exemple de cette classe d’applications.
La possibilit´e d’utiliser un r´eseau rapide permet au terminal de l’utilisateur de d´eporter les ex´ecutions
que son processeur embarqu´e n’est pas en mesure d’ex´ecuter par manque de puissance. On demande
alors la migration d’une partie de l’application vers une machine d´edi´ee au calcul.
Une telle architecture pose in´evitablement des probl`emes de partitionnement et d’ordonnancement
pour les tˆaches propos´ees au syst`eme, c’est ce que nous allons essayer de voir dans le pr´esent m´emoire.
Nous ´evoquerons dans une premi`ere partie quelques points importants concernant les algorithmes de
partitionnement et d’ordonnancement. Nous pr´esenterons ensuite dans les d´etails l’architecture que nous
´etudions. La partie suivante sera consacr´ee `a la solution retenue pour partitionner et ordonnancer les
tˆaches. Enfin nous parlerons bri`evement des travaux `a venir.
2. ALGORITHMES DE PARTITIONNEMENT ET
D’ORDONNANCEMENT
Le partitionnement et l’ordonnancement de tˆaches sont deux probl`emes r´ecurrents dans le domaine des
syst`emes temps r´eel. Le partitionnement consiste `a attribuer `a chacune des sous-tˆaches d’un programme
un processeur sur lequel se fera l’ex´ecution. On d´esigne par ordonnancement, le fait d’allouer des res-
291
292 ARTHUR NOSEDA
sources et du temps aux sous-tˆaches sur un processeur donn´e, de telle mani`ere que certaines conditions
soient remplies. Classiquement, dans les syst`emes distribu´es, chaque processeur dispose de son propre
ordonnanceur, et un protocole de synchronisation est mis en place, pour assurer la coh´erence du syst`eme
dans son ensemble.
2.1 PARTITIONNEMENT
Il existe beaucoup d’algorithmes de partitionnement pour les syst`emes multiprocesseurs et les syst`emes
distribu´es [2] [3]. Dans la litt´erature, on trouve globalement quatre grandes classes d’algorithmes :
algorithmes de liste,
algorithmes de regroupement,
algorithmes de recuit simul´e,
algorithmes g´en´etiques.
algorithmes de liste. Chaque fois qu’il est sollicit´e, un algorithme de liste effectue deux actions :
il choisit la prochaine sous-tˆache `a ordonnancer et le processeur sur lequel celle-ci va ˆetre ex´ecut´ee.
L’algorithme pr´esent´e dans [4] est une variante de l’algorithme de liste HLFET [6], dans lequel les
priorit´es donn´ees aux tˆaches sont dynamiques dans le sens o`u, contrairement `a HLFET, les priorit´es
varient en fonction de l’´etat du syst`eme.
Algorithmes de regroupement. Ce type d’algorithme est souvent utilis´e pour minimiser l’utili-
sation des liens de communications. L’algorithme proc`ede en deux temps. Tout d’abord, une phase dite
de clustering regroupe les sous-tˆaches que l’on souhaite partitionner en modules; pour cela, l’algorithme
identifie les tˆaches qui communiquent le plus entre elles et les regroupent en clusters [8]. Ensuite, chaque
cluster est associ´e `a un processeur.
Algorithmes de recuit simul´e. Le recuit simul´e est une m´ethode d’optimisation qui part d’une
solution du probl`eme et qui tente de l’am´eliorer en explorant l’espace de recherche par voisinages. L’al-
gorithme consid`ere les solutions du probl`eme comme des ´etats d’´energie du syst`eme et le but est de mini-
miser cette ´energie. A chaque it´eration, on fait diminuer la ”temp´erature” qui repr´esente le param`etre cl´e
de l’algorithme. L´evaluation de la nouvelle solution obtenue est sujette `a une probabilit´e d’acceptation,
de mani`ere `a ´eviter de rester pi´eg´e dans un minimum local.
Algorithmes g´en´etiques. Ce sont des algorithmes d’optimisation, au mˆeme titre que les algo-
rithmes de recuit simul´e. Leur fonctionnement sera comment´e en d´etail un peu plus loin, puisque la
solution que nous avons retenue est bas´ee sur l’un de ces algorithmes.
2.2 ORDONNANCEMENT
Il existe dans la litt´erature un grand nombre d’algorithmes d’ordonnancement diff´erents. Parmi les
ordonnanceurs de tˆaches, on trouve deux grandes cat´egories : les algorithmes bas´es sur une horloge et
les algorithmes `a priorit´es.
Quel que soit le type choisi, l’ordonnanceur d’un syst`eme temps r´eel doit toujours, en premier lieu,
s’assurer que tous les travaux se terminent sans d´epasser leur ´ech´eance (il s’agit du d´elai qui est imparti
`a chaque travail pour compl´eter son ex´ecution). Il est ´egalement possible de fixer ensuite, une politique
`a l’ordonnanceur (minimiser le temps global d’ex´ecution, le retard, les delais [10]...).
Algorithmes `a horloge. Comme leur nom peut le laisser sugg´erer, les ordonnanceurs appartenant
`a cette cat´egorie prennent la d´ecision de faire s’ex´ecuter une tˆache `a des instants pr´ecis, connus avant
mˆeme que le syst`eme ne d´ebute son fonctionnement. Dans la majorit´e des cas, les dates auxquelles
l’ordonnanceur d´ecide du comportement du syst`eme sont fix´es par un chronom`etre hardware.
Algorithmes bas´es sur la notion de priorit´e. Un ordonnanceur bas´e sur ce type d’algo-
rithmes attribue des priorit´es aux tˆaches selon une politique qui varie d’un algorithme `a l’autre. Les
priorit´es peuvent ˆetre statiques ou dynamiques et la pr´eemption des tˆaches peut ou non, ˆetre support´ee.
Etude du partitionnement et de l’ordonnancement de aches cycliques sur une architecture distribu´ee, compos´ee d’un terminal mobile 3G et d’un serveur de calcul 293
Par exemple, l’algorithme d’ordonnancement pr´esent´e dans [1] octroie des priorit´es d’autant plus fortes
aux sous-tˆaches du programme `a ordonnancer que leur d´elivrance est proche, tout en tenant compte
des contraintes de pr´ec´edence par la cr´eation d’un graphe des communications. Plusieurs ´ev´enements
peuvent amener l’ordonnanceur `a prendre des d´ecisions :
un nouveau travail est disponible,
un processeur est `a l’´etat passif.
Parmi les ordonnanceurs bas´es sur des priorit´es statiques, on peut citer RMS (Rate Monotonic Sche-
duling) qui ordonnance les tˆaches cycliques, en attribuant une priorit´e d’autant plus forte `a une tˆache que
sa p´eriode est courte. Ainsi, plus la fr´equence d’apparition d’une tˆache est ´elev´ee, plus elle a de facilit´es
`a s’ex´ecuter. L’ordonnanceur `a priorit´es dynamique le plus connu est sans doute EDF (Earliest Deadline
First), nous lui consacrons le paragraphe suivant.
Earliest Deadline First. L’algorithme EDF, mis au point par Liu et Layland est un algorithme
monoprocesseur `a priorit´es dynamiques qui ordonnance un ensemble de tˆaches pr´eemptables temps r´eel.
Le principe de EDF est le suivant : `a tout instant, la tˆache dont l’´ech´eance absolue est la plus proche,
est celle qui s’ex´ecute sur le processeur. EDF est un algorithme optimal, c’est-`a-dire que s’il existe un
algorithme capable d’ordonnancer un ensemble de travaux, alors EDF l’est aussi.
Une formule simple, permet de v´erifier l’ordonnanc¸abilit´e d’un ensemble de tˆaches cycliques. Avec
les notations expos´ees au paragraphe 3 :
n
X
i=1
ei
pi
1
Tˆache D´elivrance initiale Temps d’ex´ecution P´eriode Ech´eance
T10 35 150 150
T20 20 100 100
T30 60 180 180
Figure 19.1 On repr´esente l’ordonnancement monoprocesseur des trois tˆaches cycliques T1,T2et T3d´efinies ci-dessus, par
un diagramme de Gantt. L’ensemble form´e par ces tˆaches est ordonnanc¸able, car Pn
i=1
ei
pi= 23/30 1.
Dans l’exemple ci-dessus, toutes les tˆaches sont d´elivr´ees au mˆeme instant. L’ordonnanceur d´ecide
que c’est la tˆache T2qui doit commencer `a s’´ex´ecuter car c’est elle qui a l’´ech´eance la plus proche.
Lorsque l’ex´ecution de T2est termin´ee, l’ordonnanceur reprend la main et choisit la tˆache T1.T3est
alors ordonnanc´ee jusqu’`a la date t= 100 qui correspond `a la d´elivrance d’un nouveau travail dans T2.
Cependant, l’´ech´eance de ce travail ´etant `a t= 200,T3conserve la main et compl`ete son ex´ecution `a
t= 115...
294 ARTHUR NOSEDA
3. MOD´
ELISATION
3.1 ARCHITECTURE ´
ETUDI´
EE
Il s’agit d’une architecture h´et´erog`ene distribu´ee, compos´ee de deux machines distinctes. L’utilisateur
dispose d’un terminal mobile (t´el´ephone portable, PDA...) de troisi`eme g´en´eration (3G), capable d’´etablir
une connexion rapide vers une autre machine disponible pour effectuer des calculs.
Les r´ecentes normes de t´el´ephonie mobile permettent d’envisager ce type d’architecture grˆace aux im-
portants d´ebits propos´es et `a la qualit´e de service (QoS) garantie par les op´erateurs et les ´equipementiers.
C’est sur cette architecture particuli`ere que l’on cherche `a ex´ecuter les tˆaches cycliques, dont le mod`ele
incr´emental est d´ecrit ci-apr`es.
3.2 MOD`
ELE DU GRAPHE DE T ˆ
ACHES
De fac¸on g´en´erale, une tˆache est une activit´e qui consomme des ressources (m´emoire, temps CPU) de
la machine sur laquelle elle s’ex´ecute. Si l’on reprend l’architecture expos´ee ci-dessus, il est clair qu’une
mˆeme tˆache Ti, ordonnanc´ee sur le terminal mobile ou sur la machine distante ne se comportera pas de
la mˆeme mani`ere. En particulier, le temps d’ex´ecution de la tˆache (c’est-`a-dire, le temps CPU dont la
tˆache Tia besoin, si elle est seule `a s’ex´ecuter, pour terminer son ex´ecution) sera diff´erent. On note ei,l
le temps d’ex´ecution de la tˆache Tisur le terminal et ei,r le temps d’ex´ecution de cette mˆeme tˆache sur
la machine distante. De fac¸on g´en´erale, lorsqu’on souhaite discuter du temps d’ex´ecution de Ti, sans
pr´eciser sur quelle machine cette tˆache est ordonnanc´ee, on ´ecrit simplement ei.
On peut mod´eliser un programme informatique comme un graphe acyclique orient´e G={T, C}, o`u
T={Ti;iIN}est l’ensemble des tˆaches qui composent le programme et Cest l’ensemble des arcs
orient´es {Ci,j }qui repr´esente `a la fois les contraintes de pr´ec´edence et les flux de donn´ees. Chaque arc
Ci,j comporte un label ci,j qui indique le volume de donn´ees que Tienvoie `a Tj`a chaque invocation.
Le volume de donn´ees ci,j n’est `a consid´erer que dans le cas o`u Tiet Tjsont ex´ecut´es sur deux
machines diff´erentes. Dans le cas contraire, puisque les deux tˆaches utilisent les mˆemes segments de
m´emoire, on fait l’approximation que le coˆut de communication est nul.
Figure 19.2 Exemple de graphe de tˆaches
3.3 MOD`
ELE DE T ˆ
ACHE TEMPS R´
EEL
L’ex´ecution d’une tˆache dans un syst`eme temps r´eel rigide doit respecter des contraintes de temps
strictes. En particulier, il est primordial que l’ex´ecution de la tˆache se termine avant que l’´ech´eance
n’arrive `a son terme. On note Dil’´ech´eance de la tˆache Ti.
On appelle d´elivrance de la tˆache Til’instant `a partir duquel l’ex´ecution de la tˆache est permise. C’est
en quelque sorte la date d’activation de la tˆache. On note rila d´elivrance de la tˆache Ti.
Etude du partitionnement et de l’ordonnancement de aches cycliques sur une architecture distribu´ee, compos´ee d’un terminal mobile 3G et d’un serveur de calcul 295
Figure 19.3 La tˆache Tid´emarre peu apr`es son activation et se termine avant l’´ech´eance
3.4 MOD`
ELE DE T ˆ
ACHE P´
ERIODIQUE
Dans les syst`emes temps r´eel rigide, il est fr´equent que l’on veuille qu’un travail s’ex´ecute `a intervalle
r´egulier, de mani`ere p´eriodique. C’est le cas des syst`emes de contrˆole, qui v´erifient `a chaque ex´ecution
que tel sous-syst`eme se comporte de la mani`ere pr´evue. Le mod`ele de tˆache p´eriodique, pr´esent´e dans
[9] est adapt´e `a la description de ce type de tˆaches. De mani`ere formelle, une tˆache p´eriodique Tiest la
s´equence de ses ntravaux. On note Ji,k le ki`eme travail de Ti.
Figure 19.4 La tˆache p´eriodique Tiest constitu´e d’une s´equence de travaux Ji,k (pour tout k[1 . . . n]). Les fl`eches reliant
les travaux de la deuxi`eme ligne indiquent le transfert de donn´ees d’un travail vers son successeur
Reprenons l’exemple du syst`eme de contrˆole. Certainement, chaque travail dans la tˆache est un travail
complexe, que l’on peut avoir int´erˆet `a repr´esenter sous la forme d’un graphe, `a la mani`ere du mod`ele
´enonc´e plus haut.
A ce stade, il convient de faire une remarque sur les notations employ´ees car il peut y avoir une
confusion sur les termes. Dans le mod`ele de tˆache p´eriodique, on appelle tˆache, `a la fois la s´equence
des travaux et le mod`ele d’ex´ecution, c’est-`a-dire le motif qui va ˆetre r´ep´et´e par chacun des travaux.
Dans le mod`ele du graphe de tˆaches, on appelle tˆaches, les nœuds d’ex´ecution du graphe. Cette derni`ere
d´efinition n’a d’ailleurs que peu de rapport avec les deux pr´ec´edentes. Le mot tˆache est employ´e trois
fois, pour d´esigner trois choses diff´erentes. Afin de clarifier un peu la situation, nous parlerons d´esormais
de sous-tˆaches pour d´esigner les nœuds d’un graphe de tˆaches, et nous r´eserverons le terme de tˆache aux
deux autres sens.
Tirepr´esente la tˆache p´eriodique, c’est-`a-dire la s´equence de ses travaux. Le motif de Tiest un graphe
de sous-tˆaches. On lui associe une p´eriode pi, une ´ech´eance Diet une phase φiqui d´enote de fac¸on
pratique la d´elivrance du premier travail (Ji,1).
Figure 19.5 La tˆache p´eriodique Tiest constitu´ee d’une s´equence de travaux Ji,k . Le motif de la tˆache p´eriodique est
repr´esent´e dans le premier travail, sous forme d’un graphe
3.5 MIGRATION DE T ˆ
ACHES
Dans l’architecture que nous venons de pr´esenter, nous supposons que le terminal mobile de l’utili-
sateur constitue l’interface par laquelle un nouveau graphe de tˆaches p´eriodique est ajout´e au syst`eme.
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !