Vous êtes sur la page 1sur 24

Laboratoire de lInformatique du Paralllisme

cole Normale Suprieure de Lyon


Unit Mixte de Recherche CNRS-INRIA-ENS LYON-UCBL no 5668

Ordonnancement en rgime
permanent en quit proportionnelle
sur une plate-forme en structure
darbre

Rmi Vannier

Juin 2006

Rapport de DEA No 2006- ? ?

cole Normale Suprieure de


Lyon
46 Alle dItalie, 69364 Lyon Cedex 07, France
Tlphone : +33(0)4.72.72.80.37
Tlcopieur : +33(0)4.72.72.80.80
Adresse lectronique : lip@ens-lyon.fr

Ordonnancement en rgime permanent en


quit proportionnelle sur une plate-forme en
structure darbre
Rmi Vannier
Juin 2006

Abstract
Multiple applications that execute on an heterogeneous platform compete for CPU and network resources. In this report, our model is a
tree-shaped platform, on which we designed an algorithm aiming at
scheduling multiple task collections in steady-state. Task collections
are sets of identical and independant tasks. We show a distributed algorithm (thus suited for large-scale platforms) which maintains proportionnal fairness between the applications while maximizing the possibilities of the platform. Our theory uses Lagrangian Optimization and
distributed gradient methods.
Keywords : steady-state, distributed computing, scheduling, multiple
applications, resource sharing, proportionnal fairness
Rsum
Quand plusieurs applications sexcutent sur une plate-forme htrogne, elles entrent en concurrence pour le partage des ressources de
calcul et de communication. Nous nous sommes intresss un modle
de plate-forme ayant une structure darbre, et nous avons cherch tablir un ordonnancement en rgime permanent dapplications modlises par des collections de tches identiques et indpendantes. Nous
montrons que lon peut concevoir un algorithme dordonnancement
distribu et adapt des plates-formes de grande chelle qui maintient
une quit proportionnelle entre ces applications tout en maximisant
lutilisation de la plate-forme. Notre modle fait notamment intervenir
des techniques doptimisation Lagrangienne et de gradient distribu.
Mots-cls : Rgime permanent, calcul distribu, ordonnancement, cadre
multi-applicatif, partage de resources, quit proportionnelle

Introduction

Les besoins en puissance de calcul vont en saccroissant dans une multitude de domaines (simulation et modlisation, traitement du signal, dimages,
fouille de donnes, tl-immersion, etc.) et le paralllisme est une tentative
de rponse toujours dactualit. Les grilles de PC utilisent la puissance de
calcul vacante de nombreux ordinateurs personnels mis disposition par
des volontaires pour excuter des applications de grande taille ou fournir
de grands espaces de stockage. Depuis prs dune dcennie ces systmes
ont sans doute constitu parmi les plus grands systmes distribus de lInternet, agrgeant des puissances de calcul considrables pour une fraction
du cot dun super-calculateur.
Ces plates-formes rsultant de la mise en commun dun grand nombre
de ressources, elles sont gnralement sollicites par plusieurs utilisateurs
simultanment. Ceux-ci rentrent donc en concurrence pour le partage des
ressources. Il est donc ncessaire, ds la conception des algorithmes dordonnancement, dy introduire une certaine forme dquit entre les demandes, un compromis entre utilisation optimale des ressources et quit
entre les utilisateurs.
Pour modliser ce problme, nous nous sommes intresss lordonnancement en rgime permanent de plusieurs applications qui entrent en
concurrence pour les ressources de calcul et de communication sur une
plate-forme htrogne en structure darbre. Les applications sont composes dun grand nombre de tches identiques et indpendantes, dont
les donnes dentre sont lorigine contenues par la racine de larbre (le
matre), qui les distribue aux autre nuds de larbre (les esclaves). Ce modle de collections de tches trouve sa justification dans un grand nombre de
systmes existants. Par exemple, BOINC [6] est un ordonnanceur centralis
qui distribue les tches dapplications de ce type telles que SETI@home,
ClimatePrediction.NET ou Einstein@Home.
Lordonnancement en rgime permanent diffre sur un certain nombre
de points de lordonnancement classique, o lon essaie de placer dans un
temps minimal (ou selon un autre critre) un certain nombre de tches
a priori trs diffrentes et ventuellement lies par des dpendances. Les
tches tant identiques et indpendantes au sein dune collection, il ne
sagit pas de dterminer pour chaque tche son allocation et son ordonnancement, mais plutt de trouver les proportions dexcution de chaque application sur chaque ressource de calcul. Le problme de lquit en rgime
permanent a dj t abord dans [3], en particulier pour lquit MAXMIN.
Dans ce rapport, nous montrons que lquit proportionnelle est plus
adapte ce cadre de travail et quelle mne des algorithmes distribus
et efficaces.

Dans la section 2, nous prsentons le modle de plate-forme, dapplications et nous introduisons les grandeurs fondamentales de lordonnancement en rgime permanent. Nous discutons galement brivement de
diffrentes quits possibles et justifions le choix de lquit proportionnelle. Enfin, nous formalisons prcisment le problme doptimisation auquel nous nous intressons par la suite. Dans la section 3, nous prsentons
un certain nombre de techniques doptimisation permettant de proposer
un algorithme compltement distribu pour raliser une quit proportionnelle entre les diffrentes applications. La section 4 prsente la mise
en uvre de cet algorithme et son valuation exprimentale par simulation. Nous concluons ce rapport en donnant en section 5 des perspectives
ouvertes par nos travaux.

Modlisation

Nos travaux tant une extension de ceux commencs dans [3], nous utilisons sensiblement le mme modle. Nous prciserons occasionnellement
les variations apporter lorsque des extensions sont possibles.

2.1

Plate-forme

Les plates-formes de calcul que nous utilisons sont supposes tre organises sous forme darbre (F IG . 1) o les nuds sont les ressources de
calcul et les artes sont les liens entre les ressources de calcul. La racine de
larbre, appele matre, et note M , ne travaille pas, et est la source des donnes dentre des tches. Les N autres nuds sont appels esclaves (nots
P1 , P2 , . . . , PN ) et excutent les tches. La plate-forme tant htrogne, un
esclave Pi est caractris par :
sa capacit de calcul Wi
la bande passante de son lien entrant (lien entre Pi et son pre Pp(i) ) :
Bi
Dans la suite de ce document et dans les expriences ralises, les applications partent donc toutes dun seul matre. Cependant, nous verrons plus
tard que rien dans les quations que nous crirons ninterdit de considrer
plusieurs matres sur une plate-forme gnrale, chacun responsable dune
tche, si ce nest la complexification des notations. Nous en resterons donc,
par souci de clart de la prsentation, un modle prement arborescent.
Nous utilisons un modle de cot linaire. Il faut donc X/Bi units de
temps pour transfrer un message de taille X de Pp(i) Pi . Nous ignorons
les affinits entre tches et processeurs (mais cela pourrait aisment tre rajout au modle). Nous supposons pour simplifier la prsentation que les
besoins de calculs dune tche peuvent tre exprims comme un nombre
doprations en virgule flottante et que le processeur Pi peut traiter Wi op-

Pmaster
B1

B3
B2
P3

P1
P2

W1
B4

B5
P4

P5

W2 W3
B6
P6
W6

W4

W5

F IG . 1 Modle de plate-forme
rations en virgule flottante par seconde (indpendamment de lapplication
quil traite).
Nous utilisons un modle de recouvrement complet des calculs et des
communications et nous nous concentrons, la diffrence de [3], sur un
modle de communications multi-port. En effet, les travaux de [3] se basent
sur le modle 1-port o chaque processeur ne peut communiquer un instant donn quavec un seul de ses voisins, contrairement au multi-port, o
ces communications peuvent tre simultanes.
Le modle 1-port, qui peut sembler plus raliste que le modle multiport, induit un certain nombre de difficults la fois thoriques et pratiques [4]. Pour atteindre le rgime permanent optimal avec ce modle, il
est ncessaire de se reposer sur une organisation complexe des communications laide de dcompositions en couplages. Ce type dorganisation
peut potentiellement induire des synchronisations entre des processeurs
trs loigns les uns des autres1 . Cest pourquoi nous nous basons sur le
modle multi-port qui ne souffre pas de ces inconvnients. Il nest cependant pas raliste denvisager quun processeur puisse communiquer en parallle avec une infinit de processeurs.
Un modle plus raliste que ces deux modles est le modle multi-port
born [10], dans lequel un noeud peut communiquer avec ses voisins simultanment, mais avec une borne sur la bande passante totale. La figure F IG . 2
montre que lon peut facilement simuler le modle multi-port born avec
le modle multi-port. Si lon souhaite mettre une borne sur le dbit total
sortant de A, il suffit de rajouter un nud A0 de capacit de calcul nulle
entre A et (B, C), et un lien A A0 dont la bande passante est la borne
que lon souhaite. En rgime permanent, ces deux modles sont quivalents. Par souci de clart, nous nous concentrerons donc par la suite sur le
1

en particulier sur des plates-formes plus gnrales que des arbres

A
BAmax

A
BAB

BAC

A0

BAB

BAC

F IG . 2 Passage du multi-port born au multi-port

A1

A2

A3

F IG . 3 Collections de tches
modle multi-port.

2.2

Applications

On considre un ensemble A de K applications A1 , . . . , AK indpendantes (i.e. pas de contrainte de prcdence entre tches). Chaque application est une collection de tches toutes identiques, et en nombre infini,
dont le matre possde lorigine les donnes dentre quil distribuera aux
esclaves. La figure F IG . 3 montre une reprsentation de ces collections de
tches.
Les tches de lapplication k sont caractrises par :
un cot de calcul wk .
un cot de communication bk (la taille des donnes dentre).
Nous faisons lhypothse classique que les donnes de retour (i.e. les rsultats de lexcution de la tche) sont de taille ngligeables. En effet, en
rgime permanent, il est possible dagrger les fichiers de sortie avec les
fichiers dentre.

2.3

Grandeurs du rgime permanent

Lnorme avantage du rgime permanent par rapport lordonnancement classique rside dans le fait que lon ne considre que des valeurs
moyennes. Les variables que nous cherchons dterminer sont ce que nous
(k)
(k)
appellerons dornavant les taux, nots i , avec i R :

(k)

Definition 1. Le taux i est la quantit moyenne de tches de lapplication Ak


que la ressource de calcul Pi excute pendant un temps unitaire.
Definition 2. Le dbit D(k) dune application k est la quantit moyenne de tches
de lapplication Ak que la plate-forme complte excute pendant un temps unitaire.
On a donc :
X (k)
D(k) =
i
iP

Il nest pas vident a priori que la connaissance des proportions dapplication que chaque ressource de calcul devra excuter permette de reconstruire un ordonnancement valide (i.e. qui respecte les contraintes de
prcdence telles que  lexcution dune tche sur une ressource de calcul
ne peut commencer que quand celle-ci a reu les donnes de cette tche ).
On peut montrer [3] que si les taux respectent les contraintes de ressources
que nous dtailleront par la suite, il est possible de reconstruire un ordonnancement valide atteignant exactement le dbit correspondant. Les tudes
exprimentales de [3] montrent quil est galement possible en pratique
dordonnancer efficacement de faon distribue les tches des applications
partir des taux dutilisation des ressources. Un calcul centralis des taux
pouvant rapidement devenir irralisable pour de grandes plates-formes,
nous nous intressons au calcul distribu de ces taux, ce qui permet dobtenir in fine un algorithme compltement dcentralis pour le problme de
lordonnancement en rgime permanent.

2.4

Expression des contraintes

Tout ordonnancement se doit de respecter les contraintes suivantes :

X (k)

P
:
i w(k) 6 Wi
(Contraintes de calcul)

kA

X X (k)

j b(k) 6 Bi (Contraintes de communication)


i P :

j tel que kA

iM j

(k)

i P, k A : i > 0
(Contraintes de faisabilit)
Les contraintes de calcul expriment que, pendant un temps unitaire, la ressource Pi ne peut pas excuter plus de Wi units de calcul. De mme, les
contraintes de communication font intervenir lensemble des liens qui sparent le matre de lesclave qui excute la tche. Enfin, les contraintes de
faisabilit assurent simplement quaucune ressource nexcute de quantit
ngative de tches !
Ces quations dfinissent un polydre dans un espace 2N K dimensions appel par la suite domaine ralisable. Il sagit maintenant de dterminer dans ce domaine quelle est la solution optimale.
5

D2

D2

D2

D1
(a) Dbit total

D1
(b) Max-min

D1
(c) Proportionnelle

F IG . 4 Reprsentation de diffrents types dquit

2.5

Choix de la fonction objectif

2.5.1

Types dquit

La fonction objectif maximiser doit reflter notre volont dimplmenter une certaine forme dquit entre les diffrentes applications. La thse
de Corinne Touati [12] nous donne un ventail des fonctions traditionnellement choisies :
P (k)
Maximisation du dbit total : M AXIMISER
D
kA

Equit max-min :

M AXIMISER

Equit proportionnelle :

M AXIMISER

min D(k)
kA
Q (k)
D
kA

La maximisation du dbit total tend utiliser au mieux la plate-forme,


avec linconvnient que les applications plus coteuses en calcul ou
en communication seront lses, voire mme ignores
Lquit max-min est lquit la plus stricte, et celle qui est la plus
favorable aux applications coteuses.
Lquit proportionnelle est un point intermdiaire entre ces deux
premires fonctions, qui interdit quune application ne soit pas du
tout servie tout en permettant quelques liberts par rapport lquit
max-min pour amliorer lutilisation de la plate-forme.
2.5.2

Inconvnients de lquit max-min

Bien que lquit max-min apparaisse comme lquit parfaite, elle nest
pas vraiment adapte notre problme. En effet, certaines applications sont
plus gourmandes que dautres en termes de cot de calcul ou de cot de
communication, ou sont de manire gnrale moins adaptes la plateforme que dautres. On est donc dans une situation fortement dissymtrique. Se contraindre assurer un dbit gal entre ces deux applications
conduit gnralement une mauvaise utilisation de la plate-forme.
6

La figure F IG . 4 reprsente en couleur saumon un exemple de domaine


ralisable pour 2 applications. Lune (reprsente par le dbit D1 ) est beaucoup moins coteuse que lautre (D2 ). Les lignes en pointills sur les 3 figures reprsentent les courbes de niveau de 3 fonctions objectif (somme des
dbits, quit max-min, et -approximativement- quit proportionnelle). La
solution du problme doptimisation dans chaque cas est le point de contact
entre le domaine ralisable et la courbe de niveau la plus basse.
Cet exemple illustre bien linquit cause par la maximisation de la
somme des dbits. Dautre part, en comparant les figures F IG . 4(b) et F IG . 4(c),
on peut constater que lquit proportionnelle permet davantager substantiellement lapplication 1, ceci faible cot pour lapplication 2 en utilisant
lquit proportionnelle plutt que lquit max-min.
Lquit proportionnelle semble donc plus adapte notre problme
que lquit max-min. Cette intuition tait galement une des conclusions
de [3] qui conjecturait que lquit max-min est trop stricte et quelle semblait difficile mettre en oeuvre de manire distribue. Cette difficult est
corrobore par le fait quil existe en pratique un certain nombre de protocoles rseau assurant une quit proche de lquit proportionnelle (TCP)
alors que lquit max-min est beaucoup plus rare (ATM).

2.6

Expression du problme doptimisation

Les remarques prcdentes nous ont conduit nous demander si une


quit moins stricte et un modle moins contraignant que le modle 1-port
permettaient davoir des algorithmes distribus et efficaces.
Voici, en choisissant comme fonction objectif lquit proportionnelle
lexpression du problme doptimisation associ notre problme dordonnancement en rgime permanent :

P P
(k)
M AXIMISER f () =
ln
iP i
kA

AVEC LES CONTRAINTES

X (k)

P
:
i w(k) 6 Wi

kA

X X (k)

i P :
j b(k) 6 Bi

j tel que kA

iM j

(k)

i P, k A : i > 0

(Contraintes de calcul)
(Contraintes de communication)
(Contraintes de faisabilit)

On remarquera que nous avons transform le produit des dbits en somme


des logarithmes car cette forme est plus couramment utilise.
Comme nous le verrons par la suite, ce problme peut se rsoudre de
manire centralise laide de la programmation semi-dfinie positive, et
en temps polynomial. Ceci nous permettra de vrifier la validit des rsultats obtenus par notre algorithme.
7

Conception dun algorithme dcentralis

Nous allons voir que loptimisation Lagrangienne couple des techniques de gradient distribu permet de rsoudre notre problme de manire compltement dcentralise. Nous commenons donc par rappeler
quelques notions en section 3.1 puis nous prsentons en section 3.2 les travaux de [13] qui ont utilis ce type de techniques pour un problme un
peu plus simple : le partage de bande passante dans un rseau. Nous expliquons ensuite en section 3.3 comment appliquer ces techniques notre
cadre de travail, et enfin nous proposons en section 3.4 un algorithme distribu bas sur ces techniques.

3.1

Rappels sur loptimisation lagrangienne

Loptimisation Lagrangienne est particulirement adapte la rsolution de problmes doptimisation non linaires. Nous rappellons ici quelques
dfinitions et rsultats tirs de [5].
Considrons une fonction continue f de Rp dans R et n fonctions continues Ci de Rp dans R. Soit le problme doptimisation suivant :
M AXIMISER f ()
AVEC LES CONTRAINTES

(1)

(Ci () > 0)i[1..n]


Definition 3 (Lagrangien). Le Lagrangien L associ au problme (1) est dfini
par :
X
i C i ()
(2)
L(, ) = f ()
i[1..n]

Soit f la solution optimale du problme (1).


Definition 4 (Multiplieur de Lagrange). R est un multiplieur de Lagrange pour le problme (1) si et seulement si :
> 0 et sup L(, ) = f
>0

Definition 5 (Fonction duale). La fonction duale associ au problme (1) est


dfinie par :

n 7] , +]

R
(

sup>0 L(, ) si > 0


+
sinon

Les conditions de Slater [5] donnent que sil existe au moins un ralisable, alors lensemble des multiplieurs de Lagrange est compact et nonvide. Le thorme suivant en est une consquence.
8

Theorem 1. Un vecteur est un multiplieur de Lagrange si et seulement si cest


une solution du problme doptimisation dual :
(3)

inf d()

>0

3.2

Equit proportionnelle entre flots dans un rseau

On peut trouver dans [13] une utilisation de loptimisation Lagrangienne


pour rsoudre un problme de partage de bande passante dans un rseau
de manire distribue. Les auteurs y considrent un modle statique dans
lequel plusieurs connexions, identifies par la route quelles souhaitent emprunter dans le rseau demandent leur part de ressources rseau, et entrent
donc ncessairement en concurrence pour un certain nombre de liens du rseau. Il sagit donc de trouver une rpartition optimale des ressources entre
les connexions en quit proportionnelle.
Les auteurs dmontrent laide de loptimisation Lagrangienne que ce
problme doptimisation est quivalent au problme dual dont la rsolution consiste en un jeu non coopratif de ngociations entre les diffrentes
connexions. Chaque connexion dispose dun budget qui dpend de son besoin en bande passante, tandis que chaque lien un prix quun utilisateur
de ce lien devra payer pour pouvoir lutiliser. Les connexions font alors des
offres dutilisation des liens, et les liens adaptent leur prix en fonction de
ces offres. Le prix des liens volue en rpondant la loi de loffre et de la
demande, et atteint un point de stabilit aprs quelques ngociations.
Cette ngociation correspond en ralit la minimisation de la fonction duale par une mthode de gradient distribu. Les prix rsultants de
cette ngociation ne sont rien dautre que les multiplieurs de Lagrange des
contraintes de capacit, alors que les budgets sont ceux des contraintes de
besoin en bande passante de chaque utilisateur. Dans leur cas, la rpartition
des bandes passantes se calcule directement partir des prix obtenus.
Nous allons montrer dans la suite que ce systme de ngociations peut
se transposer notre problme, la diffrence quil sera plus difficile dans
notre cas de passer du calcul des prix au calcul des taux.

3.3

Application notre problme

Le Lagrangien du problme 2.6 sexprime ainsi :


 X  X X

X  X (k)
(k) (k)
(k)
L(, , ) = f ()
i
i w Wi
i
j b Bi
iP

iP

kA

j tel que kA
iM j

i et i sont les multiplieurs de Lagrange associs respectivement aux


contraintes de calcul et de communication de la ressource i et de son lien
9

entrant. On va alors reformuler le Lagrangien pour faire apparatre une


(k)
fonction i qui dpend de i et i et qui peut sinterprter comme le prix
payer par une tche k pour accder la ressource Pi :

 X X
X
X X (k) 
X
(k)
(k)
(k)
ln
i
L(, , ) =
(i Wi + i Bi )
i
w i + b
j +
iP

kA iP

kA

j tel que
iM j

(k)
i =Prix

{z

total pour accder Pi


pour lapplication k.

(4)
Puisque les conditions de Slater sont vrifies (voir dmonstration A.1),
nous pouvons utiliser le thorme 1 et trouver un couple de multiplieurs de
Lagrange ( , ) en rsolvant le problme dual 3. On obtient une condition
sur et . :
Theorem 2. Au sup>0 L(, , ), la proprit suivante est vrifie :
k

(k)

(k)

min i

iP

iP

La dmonstration de ce thorme se trouve en appendice A.2.

On obtient alors une expression simple de la fonction duale :


d(, ) =

(i Wi + i Bi )

iP

3.3.1

X
kA

(k)

ln min i
iP

Conclusion
(k)

Bien que ce rsultat ne nous donne pas le dtail des taux i , la connaissance des prix nous permet dobtenir les dbits. Or, il existe un algorithme
permettant de calculer les taux de faon distribue partir des dbits, pourvu
que ceux-ci soient ralisables. Il sagit dune adaptation [3] de lalgorithme
dAwerbuch-Leighton [1, 2] initialement prvu pour le calcul des flots dans
un rseau.
Nous allons donc nous concentrer sur le calcul des prix minimaux pour
chaque tche, qui nous donneront directement les dbits.

10

iP

3.4

Proposition dun algorithme distribu

3.4.1

Expression du problme dual

M INIMISER

d(, ) =

(i Wi + i Bi )

iP

P
kA

(k)

ln min i
iP

AVEC LES CONTRAINTES

>0

>0

On peut remarquer que la fonction duale d est une fonction convexe et


continue, ce qui empche lexistence de plusieurs minima locaux et encourage donc utiliser des mthodes de type gradient.
3.4.2

Gradient distribu

Comme expliqu dans les paragraphes prcdents 3.2, nous allons utiliser loptimisation Lagrangienne pour mettre en oeuvre un algorithme de
ngociations de prix. Cet algorithme est en fait une methode de gradient
distribu : la ressource Pi est responsable des prix i et i , et toutes rvaluent leurs prix proportionnellement loppos de la drive partielle de
la fonction duale. Cette drive se calcule facilement :
P w(k)
d
(k)
i = Wi
(1) min
(5)
P b(k)
d
(k)
i = Bi
(2) min

O les conditions (1) et (2) sont :

(k)
(k)

(1) : k A et i (= min
j descendant de i

(2) : k A et j|
(k)
(k)
j = min
Ainsi, seule la connaissance du prix le plus faible de larbre pour chaque
tche et du fait que lun des membre du sous-arbre a ce prix suffisent pour
dterminer les valeurs de i et i au pas suivant.
Notez que la mthode de gradient utilise est la mthode de la plus
grande pente, avec un pas linaire (par opposition aux mthodes de Jacobi
ou Gauss-Siedel, qui utilisent un pas non linaire, ou aux mthodes pas
optimal, qui ncessitent une connaissance globale de la fonction).
3.4.3

Algorithme

Voici le dtail dun pas de lalgorithme de gradient distribu :

11

Les ressources de calcul envoient leur pre loffre de prix la plus


faible de leur sous-arbre. Ainsi, de manire rcursive, le prix le plus
faible arrive la racine, et tous les noeuds gardent en mmoire la
branche dans laquelle se trouve loffre la plus faible de leur sousarbre.
La racine (le matre) diffuse dans larbre la valeur des prix minimaux
pour chacune des tches, seule information importante pour calculer
la drive locale de la fonction duale.
Chaque ressource adapte ses prix i et i dune valeur proportionnelle la drive partielle de la fonction duale 5.
3.4.4

Difficults

La principale difficult induite par cette mthode est que la fonction


duale d nest pas C 2 . On observe des points anguleux au voisinage des
points dgalit de prix entre deux ressources provoques par la prsence
(k)
dans lexpression du dual de min i . Par exemple, supposons que deux
iP

ressources A et B aient le mme prix dans larbre (et quelles nont pas de
lien de descendance). Si A baisse son prix, cela a un impact sur le Lagrangien. Mais sil laugmente, le prix minimal reste celui de B et donc limpact
sur le Lagrangien nest pas le mme.
La convergence dun algorithme de gradient pour une fonction f C 2
est assure une condition assez large sur le pas qui, si elle est vrifie,
assure que la valeur de d dcrot chaque pas :
<

2
max(5f (x))
x

O 5f est la norme Euclidienne du gradient de f .


Dans notre cas, quel que soit le pas, on na pas de garantie de convergence. Comme dautre part les points de convergence sont justement les
points dgalit de prix, on observe des oscillations autour de la solution
quel que soit le pas.

4
4.1

Validation Exprimentale
Environnement de simulation

4.1.1 SimGrid
Le programme de simulation a t dvelopp en C, avec la bibliothque
MSG de SimGrid [9]. SimGrid est une bibliothque de simulation dapplications distribues sur des plates-formes htrognes. Plus particulirement,
la bibliothque MSG est au plus haut niveau des composants de SimGrid,
12

et est adapte ltude dheuristiques comme la ntre qui ne ncessitent


pas de modlisation prcise des communications. Les expriences ont t
ralises avec de petites plates-formes dabord cres de toutes pices, puis
gnres par le gnrateur de plate-formes Tiers [8]. Par manque de temps,
nous ne prsentons ici que des rsultats obtenus sur des plates-formes manuelles, mais des expriences utilisant des plates-formes plus complexes
sont en cours.

4.2

Etude du temps de convergence

Nos recherches sur lacclration du gradient ne sont pas encore termines. Actuellement, lalgorithme converge relativement lentement (10 secondes / 500 pas sur des plates-formes de petite taille). La principale raison
de cette lenteur, qui est explique plus bas, est la ncessit de choisir un pas
faible pour viter de trop grandes oscillations dues aux discontinuits de la
drive.
De plus, le temps de convergence de lalgorithme est proportionnel la
hauteur de larbre (puisqu chaque pas linformation des prix doit monter jusqu la racine puis redescendre jusquau feuilles), et ralentit avec
le nombre de tches. Cependant, ces performances devraient pouvoir tre
amliores.
Nous allons donc prsenter les rsultats actuels, ainsi que des pistes
prometteuses pour acclrer lalgorithme.
Choix du pas : Si lon choisit un pas trop grand, lalgorithme peut
osciller autour de la solution, car la fonction duale d nest pas C 2 . La figure F IG . 5(a) reprsente lvolution des prix et en fonction du temps
(2000 pas) sur une plate-forme simple (F IG . 6) comprenant 6 ressources de
calcul et avec 3 tches 2 dans le cas dun pas trop grand : lalgorithme ne
converge pas et les valeurs des prix oscillent.
Inversement, si le pas est trop faible, lalgorithme converge trop lentement, comme le montre la figure F IG . 5(c), obtenue dans les mmes conditions.
4.2.1

Acclration de lalgorithme

Lalgorithme de gradient peut vraisemblablement tre amlior pour


acclrer sa convergence. Nous prsentons ici quelques amliorations possibles, dont seule la premire a t implemente.
2

w(1) = 1, b(1) = 10 ; w(2) = 10, b(2) = 1 ; w(3) = 5, b(3) = 3

13

0.6

0.5

Bacchus.M
Artemis.L
Chronos.M
Chronos.L
Demeter.M
Hera.M
Eros.L
Demeter.L
Hera.L
Artemis.M
Bacchus.L
Eros.M

0.5

0.4

Value

0.4

Value

0.6

Bacchus.M
Artemis.L
Chronos.M
Chronos.L
Demeter.M
Hera.M
Eros.L
Demeter.L
Hera.L
Artemis.M
Bacchus.L
Eros.M

0.3

0.3

0.2

0.2

0.1

0.1

0
20

30

40

50

60
70
Time (s)

80

90

100

110

20

30

40

80

90

100

(b) = 3.10

Bacchus.M
Artemis.L
Chronos.M
Chronos.L
Demeter.M
Hera.M
Eros.L
Demeter.L
Hera.L
Artemis.M
Bacchus.L
Eros.M

0.5

0.4

Value

60
70
Time (s)

(a) = 1.5.10
0.6

50

0.3

0.2

0.1

0
20

30

40

50

60
70
Time (s)

80

90

100

110

(c) = 1.0.105

F IG . 5 Choix du pas de convergence


Lissage des variations : On peut rduire significativement les oscillations
en ajoutant une dpendance de la variation au pas p la variation au pas
p 1.
2 d
p =
+ p1
3
Lissage de la courbe : Une autre ide que nous navons pas encore eu le
temps de mettre en oeuvre est de lisser la fonction dual au voisinage des
points anguleux en approximant la fonction min par une fonction continment drivable. En effet, si la courbe ne prsente pas de points anguleux,
il est possible de choisir un pas beaucoup plus grand et donc dacclrer
lalgorithme.
On peut par exemple utiliser lapproximation suivante :
0<x<
0<y<
1

min(x, y) (( x) + ( y) )
En augmentant le paramtre , on sapproche de plus en plus de la
fonction min . . .
14

110

Pmaster
15

0.2

10
5

1.5

B
1

0.5
1

F IG . 6 Plate-forme simple
Algorithme asynchrone : Il nest a priori pas ncessaire pour que lalgorithme converge que les diffrentes ressources calculent leurs variations
simultanment. On peut imaginer un algorithme asynchrone o les prix
et des ressources proches du matre voluent plus rapidement que ceux
des ressources loignes. Ce nest en tout cas pas incompatible avec la mthode du gradient tant que lon peut garantir qu chaque pas du gradient,
la fonction objectif diminue.
Cette mthode pourrait viter que le temps de convergence soit proportionnel la hauteur de larbre. De plus, les esclaves loigns du matres
sont ceux qui ont le moins de chances davoir le prix le plus faible pour une
tche, et ils convergent trs vite vers un prix nul. On peut donc se permettre
quils convergent plus lentement.
4.2.2

Adaptabilit de lalgorithme

Nous montrons ici que notre algorithme peut sadapter des modifications locales des paramtres de capacit de calcul ou de communication.
Bien que ladaptation ne soit pas encore rapide, nous souhaitons montrer
ici que notre algorithme peut tre excut en continu sur la plate-forme et
quil sadaptera aux variations de bande passante ou de capacit de calcul.
La figure F IG . 7 montre lvolution des prix de chaque ressource de
(k)
calcul pour chaque tche (F IG . 7(a) : (, ), F IG . 7(b) : i ) en fonction du
temps sur la mme plate-forme que celle des expriences prcdentes, o
les ressources E et H (F IG . 6) voient leur puissance de calcul divise par
2 priodiquement pendant des priodes de 20 secondes, puis revenir la
normale pendant 20 secondes.

15

0.6

0.5

Hera.Task3
Hera.Task2
Artemis.Task3
Chronos.Task3
Artemis.Task2
Bacchus.Task1
Chronos.Task1
Demeter.Task3
Eros.Task3
Bacchus.Task2
Hera.Task1
Bacchus.Task3
Artemis.Task1
Eros.Task1
Demeter.Task2
Chronos.Task2
Eros.Task2
Demeter.Task1

5
Price

0.4

Value

Bacchus.M
Artemis.L
Chronos.M
Chronos.L
Demeter.M
Hera.M
Eros.L
Demeter.L
Hera.L
Artemis.M
Bacchus.L
Eros.M

0.3

3
0.2
2
0.1
1

0
20

30

40

50

60
70
Time (s)

80

90

100

20

110

(a) Evolution de ,

30

40

50

60
70
Time (s)

80

90

100

110

(b) Evolution des prix

F IG . 7 Adaptabilit de lalgorithme

4.3

Vrification de lalgorithme par programmation semi-dfinie


positive

Nous prsentons ici brivement la programmation semi-dfinie positive (SDP), outil mathmatique qui nous a permis de vrifier de manire
centralise la validit des rsultats de lalgorithme distribu.
La programmation semi-dfinie positive permet de rsoudre des problmes du type :

X
min cT x |
xj Aj B  0
(6)
x

j=1

O :
x = (x1 , x2 , , xn ) est le vecteur variable
c est un vecteur constant de taille n
(Aj )j[1..n] est un ensemble de n matrices symtriques de taille mm.
B est une matrice symtrique constante de taille m m.
 0 signifie est semi-dfinie positive
Comme montr dans [12], la SDP (semi-definite programming) permet
aussi de rsoudre des problme doptimisation faisant intervenir des fonctions contenant des sommes de produits des variables sous des contraintes linaires, et ceci en temps polynomial.
Cest le cas de notre problme doptimisation puisque notre fonction
objectif est gale au produit des dbits de chaque application. Pour plus
de dtails sur les mthodes que lon peut utiliser pour transformer un problme de ce type en un problme SDP 6, nous vous renvoyons la thse de
Corinne Touati [12](chapitre 4.1).
Nous avons donc utilis la bibliothque gratuite de programmation semidfinie positive CSDP [7].

16

5
5.1

Conclusion
Contributions

Le travail consign dans ce rapport est une extension des travaux commencs dans [3], o nous nous intressons lordonnancement en rgime
permanent de collections de tches sur une plate-forme en structure darbre.
Nos contributions sont les suivantes :
Nous avons introduit lquit proportionnelle et relax lhypothse
1-port et montr que ces hypothses permettent dobtenir un algorithme distribu efficace de calcul des taux, complment de lalgorithme dAwerbuch-Leighton trait dans [3].
Nous avons adapt des mthodes doptimisation Lagrangienne et de
gradients distribus utilises dans [13] un problme plus complexe.
Bien quil ny ait pas de preuve de convergence de lalgorithme
cause des discontinuits des drives du Lagrangien, nous avons montr exprimentalement sur des plates-formes simples que lalgorithme
est correct et converge vers une solution trouve thoriquement par
la programmation semi-dfinie positive.
Il faut cependant reconnatre que lalgorithme tudi ici et celui dAwerbuchLeighton, sils ont lavantage dtre tous deux distribus, convergent lentement. On peut trs certainement amliorer la vitesse de convergence de
lalgorithme de calcul des prix, mais pour linstant, nos algorithmes ne
semblent pas adapts des petites plates-formes. Un algorithme centralis y serait trs certainement plus efficace. Cest pourquoi il serait intressant de complter cette tude par des simulations sur des plate-formes
de grandes tailles gnres par Tiers [8]. Cela nous permettra dvaluer
partir de quelle taille de plates-formes ces techniques sont valables.

5.2

Extensions possibles
Les perspectives ouvertes par notre travail sont multiples :
Tout dabord, la convergence de lalgorithme peut vraisemblablement
tre amliore en utilisant les ides suggres dans la section 4.2.1.
Pour que la plate-forme soit mieux utilise, il peut tre intressant de
voir comment le modle se comporte si chaque tche est gre par un
matre diffrent. Ceci suppose des modifications importantes dans le
modle, notamment de sparer la gestion des prix des ressources de
calcul () de celle des prix des liens ().
Dautres mesures que lquit proportionnelle, telles que dcrites dans [11]
sont envisageables et pourraient mener une expression simple du
Lagrangien. A priori, ces mesures compliquent cette expression, mais
il semble possible de les implmenter.

17

Enfin, pour que ltude soit complte, il reste implmenter lalgorithme dAwerbuch-Leighton qui calculera les taux partir des dbits calculs par notre algorithme. Ceci nous permettrait dvaluer
les performances du couplage de ces deux algorithmes et denvisager une mise en uvre sur une plate-forme relle.

18

Rfrences
[1] B. Awerbuch and T. Leighton. A simple local-control approximation
algorithm for multicommodity flow. In FOCS 93 : Proceedings of the
24th Conference on Foundations of Computer Science, pages 459468. IEEE
Computer Society Press, 1993.
[2] B. Awerbuch and T. Leighton. Improved approximation algorithms
for the multi-commodity flow problem and local competitive routing
in dynamic networks. In STOC 94 : Proceedings of the 26h ACM symposium on Theory of Computing, pages 487496. ACM Press, 1994.
[3] O. Beaumont, L. Carter, J. Ferrante, A. Legrand, L. Marchal, and Y. Robert. Centralized versus distributed schedulers multiple bag-of-task
applications. In International Parallel and Distributed Processing Symposium IPDPS2006. IEEE Computer Society Press, Apr. 2006.
[4] O. Beaumont and L. Marchal. Pipelining broadcasts on heterogeneous
platforms under the one-port model. Technical Report RR-2004-32,
LIP, ENS Lyon, France, jul 2004.
[5] D. P. Bertsekas. Constrained Optimization and Lagrange Multiplier Methods. Academic Press, Inc., 1982.
[6] Berkeley Open Infrastructure for Network Computing.
boinc.berkeley.edu.

http://

[7] B. Borchers and J. G. Young. Implementation of a primal-dual method for sdp on a shared memory parallel architecture. Computational
Optimization and Applications, 2006, to appear.
[8] K. L. Calvert, M. B. Doar, and E. W. Zegura. Modeling internet topology. IEEE Communications Magazine, 35(6) :160163, June 1997.
[9] H. Casanova, A. Legrand, and L. Marchal. Scheduling Distributed
Applications : the SimGrid Simulation Framework. In Proceedings of
the third IEEE International Symposium on Cluster Computing and the Grid
(CCGrid03), may 2003.
[10] B. Hong and V. Prasanna. Distributed adaptive task allocation in heterogeneous computing environments to maximize throughput. In
International Parallel and Distributed Processing Symposium IPDPS2004.
IEEE Computer Society Press, 2004.
[11] J. Mo and J. Walrand. Fair end-to-end window-based congestion
control. IEEE/ACM Transaction on Networking, 8(5) :556567, 2000.
[12] C. Touati. Les principes dquit appliqus aux rseaux de tlcommunications. PhD thesis, Universit de Nice Sophia-Antipolis, 2003.
[13] H. Yache, R. R. Mazumdar, and C. Rosenberg. A game theoretic framework for bandwidth allocation and pricing in broadband networks.
IEEE/ACM Transaction on Networking, 8(5) :667678, 2000.
19

A
A.1

Dmonstrations
Validit des conditions de Slater

Dmonstration. Il sagit de dmontrer que le domaine ralisable est non


vide. Or, si iWi > 0 et Bi > 0, on peut montrer quil existe toujours un
voisinage de 0 contenu dans le domaine ralisable, voisinage quon peut
par exemple dfinir ainsi :

Bi
Wi
(k)
,
min
i k i 6 min
min
(k)
2
iP
iP
N.w
N .b(k)
(k)
(k)
6=0

kA et w

kA et b

6=0

est ralisable, et telle que f () > 0.

A.2

Condition sur et

Dmonstration. On veut dmontrer :


X (k)
k D(k) =
i =
iP
(k)

L(, , ) est concave en i


0 ou L(k) = 0. Or,
i

1
(k)

min i
iP

(k)

donc le maximum de L est atteint pour i

L
(k)
i

1
(k)
i
D(k)

On obtient donc :

Soit
i P
Soit

(k)

i = 0
(k)
i 6= 0 et D(k) =

(7)

1
(k)
i

Or, pour une solution du problme doptimisation (i.e. f () < +), on a


ncessairement :
(k)
k i N tel que i > 0
Au maximum, le Lagrangien peut donc sexprimer plus simplement :
P
P
P 1
P
(k)
i
L(, , ) =
(i Wi + i Bi ) +
ln D(k)
D(k)
iP

kA

kA

i tel que
(k)

i 6=0

(i Wi + i Bi ) +

iP

ln D(k) K

kA

Pour maximiser
le Lagrangien,
il faut maximiser D(k) et donc choisir lenn
o
(k)

(k)

(k)

semble i , i 6= 0 parmi les ressources de calcul dont le prix i


minimal pour chaque k.
On a donc la proprit recherche.
20

est

Vous aimerez peut-être aussi