-
Laboratoire de lInformatique du Paralllisme
cole Normale Suprieure de LyonUnit Mixte de Recherche
CNRS-INRIA-ENS LYON-UCBL no 5668
Ordonnancement en rgimepermanent en quit proportionnelle
sur une plate-forme en structuredarbre
Rmi Vannier Juin 2006
Rapport de DEA No 2006- ? ?
cole Normale Suprieure deLyon
46 Alle dItalie, 69364 Lyon Cedex 07, FranceTlphone :
+33(0)4.72.72.80.37Tlcopieur : +33(0)4.72.72.80.80
Adresse lectronique : [email protected]
-
Ordonnancement en rgime permanent enquit proportionnelle sur une
plate-forme en
structure darbre
Rmi Vannier
Juin 2006
Abstract
Multiple applications that execute on an heterogeneous platform
com-pete for CPU and network resources. In this report, our model
is atree-shaped platform, on which we designed an algorithm aiming
atscheduling multiple task collections in steady-state. Task
collectionsare sets of identical and independant tasks. We show a
distributed al-gorithm (thus suited for large-scale platforms)
whichmaintains propor-tionnal fairness between the applications
while maximizing the possi-bilities of the platform. Our theory
uses Lagrangian Optimization anddistributed gradient methods.
Keywords : steady-state, distributed computing, scheduling,
multipleapplications, resource sharing, proportionnal fairness
Rsum
Quand plusieurs applications sexcutent sur une plate-forme
htro-gne, elles entrent en concurrence pour le partage des
ressources decalcul et de communication. Nous nous sommes intresss
unmodlede plate-forme ayant une structure darbre, et nous avons
cherch ta-blir un ordonnancement en rgime permanent dapplications
modli-ses par des collections de tches identiques et indpendantes.
Nousmontrons que lon peut concevoir un algorithme
dordonnancementdistribu et adapt des plates-formes de grande chelle
qui maintientune quit proportionnelle entre ces applications tout
en maximisantlutilisation de la plate-forme. Notre modle fait
notamment intervenirdes techniques doptimisation Lagrangienne et de
gradient distribu.
Mots-cls : Rgime permanent, calcul distribu, ordonnancement,
cadremulti-applicatif, partage de resources, quit
proportionnelle
-
1 Introduction
Les besoins en puissance de calcul vont en saccroissant dans
unemulti-tude de domaines (simulation etmodlisation, traitement du
signal, dimages,fouille de donnes, tl-immersion, etc.) et le
paralllisme est une tentativede rponse toujours dactualit. Les
grilles de PC utilisent la puissance decalcul vacante de nombreux
ordinateurs personnels mis disposition pardes volontaires pour
excuter des applications de grande taille ou fournirde grands
espaces de stockage. Depuis prs dune dcennie ces systmesont sans
doute constitu parmi les plus grands systmes distribus de
lIn-ternet, agrgeant des puissances de calcul considrables pour une
fractiondu cot dun super-calculateur.
Ces plates-formes rsultant de la mise en commun dun grand
nombrede ressources, elles sont gnralement sollicites par plusieurs
utilisateurssimultanment. Ceux-ci rentrent donc en concurrence pour
le partage desressources. Il est donc ncessaire, ds la conception
des algorithmes dor-donnancement, dy introduire une certaine forme
dquit entre les de-mandes, un compromis entre utilisation optimale
des ressources et quitentre les utilisateurs.
Pour modliser ce problme, nous nous sommes intresss
lordon-nancement en rgime permanent de plusieurs applications qui
entrent enconcurrence pour les ressources de calcul et de
communication sur uneplate-forme htrogne en structure darbre. Les
applications sont com-poses dun grand nombre de tches identiques et
indpendantes, dontles donnes dentre sont lorigine contenues par la
racine de larbre (lematre), qui les distribue aux autre nuds de
larbre (les esclaves). Ce mo-dle de collections de tches trouve sa
justification dans un grand nombre desystmes existants. Par
exemple, BOINC [6] est un ordonnanceur centralisqui distribue les
tches dapplications de ce type telles que
SETI@home,ClimatePrediction.NET ou Einstein@Home.
Lordonnancement en rgime permanent diffre sur un certain
nombrede points de lordonnancement classique, o lon essaie de
placer dans untemps minimal (ou selon un autre critre) un certain
nombre de tchesa priori trs diffrentes et ventuellement lies par
des dpendances. Lestches tant identiques et indpendantes au sein
dune collection, il nesagit pas de dterminer pour chaque tche son
allocation et son ordonnan-cement, mais plutt de trouver les
proportions dexcution de chaque ap-plication sur chaque ressource
de calcul. Le problme de lquit en rgimepermanent a dj t abord dans
[3], en particulier pour lquit MAX-MIN.
Dans ce rapport, nous montrons que lquit proportionnelle est
plusadapte ce cadre de travail et quelle mne des algorithmes
distribuset efficaces.
1
-
Dans la section 2, nous prsentons le modle de plate-forme,
dappli-cations et nous introduisons les grandeurs fondamentales de
lordonnan-cement en rgime permanent. Nous discutons galement
brivement dediffrentes quits possibles et justifions le choix de
lquit proportion-nelle. Enfin, nous formalisons prcisment le
problme doptimisation au-quel nous nous intressons par la suite.
Dans la section 3, nous prsentonsun certain nombre de techniques
doptimisation permettant de proposerun algorithme compltement
distribu pour raliser une quit propor-tionnelle entre les
diffrentes applications. La section 4 prsente la miseen uvre de cet
algorithme et son valuation exprimentale par simula-tion. Nous
concluons ce rapport en donnant en section 5 des
perspectivesouvertes par nos travaux.
2 Modlisation
Nos travaux tant une extension de ceux commencs dans [3], nous
uti-lisons sensiblement le mme modle. Nous prciserons
occasionnellementles variations apporter lorsque des extensions
sont possibles.
2.1 Plate-forme
Les plates-formes de calcul que nous utilisons sont supposes tre
or-ganises sous forme darbre (FIG. 1) o les nuds sont les
ressources decalcul et les artes sont les liens entre les
ressources de calcul. La racine delarbre, appelematre, et noteM ,
ne travaille pas, et est la source des don-nes dentre des tches.
Les N autres nuds sont appels esclaves (notsP1, P2, . . . , PN ) et
excutent les tches. La plate-forme tant htrogne, unesclave Pi est
caractris par :
sa capacit de calculWi 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
appli-cations partent donc toutes dun seul matre. Cependant, nous
verrons plustard que rien dans les quations que nous crirons
ninterdit de considrerplusieurs matres sur une plate-forme gnrale,
chacun responsable dunetche, 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
detemps pour transfrer un message de taille X de Pp(i) Pi. Nous
ignoronsles affinits entre tches et processeurs (mais cela pourrait
aisment tre ra-jout au modle). Nous supposons pour simplifier la
prsentation que lesbesoins de calculs dune tche peuvent tre exprims
comme un nombredoprations en virgule flottante et que le processeur
Pi peut traiterWi op-
2
-
Pmaster
P1P2
P4 P5P6
B4B5
B6
P3
B3B1
W4W5
W6
B2
W2 W3W1
FIG. 1 Modle de plate-forme
rations en virgule flottante par seconde (indpendamment de
lapplicationquil traite).
Nous utilisons un modle de recouvrement complet des calculs et
descommunications et nous nous concentrons, la diffrence de [3],
sur unmodle de communications multi-port. En effet, les travaux de
[3] se basentsur le modle 1-port o chaque processeur ne peut
communiquer un ins-tant donn quavec un seul de ses voisins,
contrairement au multi-port, oces communications peuvent tre
simultanes.
Le modle 1-port, qui peut sembler plus raliste que le modle
multi-port, induit un certain nombre de difficults la fois
thoriques et pra-tiques [4]. Pour atteindre le rgime permanent
optimal avec ce modle, ilest ncessaire de se reposer sur une
organisation complexe des communi-cations laide de dcompositions en
couplages. Ce type dorganisationpeut potentiellement induire des
synchronisations entre des processeurstrs loigns les uns des
autres1. Cest pourquoi nous nous basons sur lemodle multi-port qui
ne souffre pas de ces inconvnients. Il nest cepen-dant pas raliste
denvisager quun processeur puisse communiquer en pa-rallle avec une
infinit de processeurs.
Un modle plus raliste que ces deux modles est le modle
multi-portborn [10], dans lequel un noeud peut communiquer avec ses
voisins simul-tanment, mais avec une borne sur la bande passante
totale. La figure FIG. 2montre que lon peut facilement simuler le
modle multi-port born avecle modle multi-port. Si lon souhaite
mettre une borne sur le dbit totalsortant de A, il suffit de
rajouter un nud A de capacit de calcul nulleentre A et (B,C), et un
lien A A dont la bande passante est la borneque lon souhaite. En
rgime permanent, ces deux modles sont quiva-lents. Par souci de
clart, nous nous concentrerons donc par la suite sur le
1en particulier sur des plates-formes plus gnrales que des
arbres
3
-
CB
A
BACBAB
A
A
B C
BmaxA
BAB BAC
FIG. 2 Passage du multi-port born au multi-port
A3A2A1
FIG. 3 Collections de tches
modle multi-port.
2.2 Applications
On considre un ensemble A de K applications A1, . . . , AK
indpen-dantes (i.e. pas de contrainte de prcdence entre tches).
Chaque appli-cation est une collection de tches toutes identiques,
et en nombre infini,dont le matre possde lorigine les donnes dentre
quil distribuera auxesclaves. La figure FIG. 3 montre une
reprsentation de ces collections detches.
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 r-sultats de lexcution de la tche) sont de taille ngligeables.
En effet, enrgime permanent, il est possible dagrger les fichiers
de sortie avec lesfichiers dentre.
2.3 Grandeurs du rgime permanent
Lnorme avantage du rgime permanent par rapport lordonnance-ment
classique rside dans le fait que lon ne considre que des
valeursmoyennes. Les variables que nous cherchons dterminer sont ce
que nousappellerons dornavant les taux, nots (k)i , avec
(k)i R :
4
-
Definition 1. Le taux (k)i est la quantit moyenne de tches de
lapplication Akque la ressource de calcul Pi excute pendant un
temps unitaire.
Definition 2. Le dbitD(k) dune application k est la quantit
moyenne de tchesde lapplicationAk que la plate-forme complte excute
pendant un temps unitaire.On a donc :
D(k) =iP
(k)i
Il nest pas vident a priori que la connaissance des proportions
dap-plication que chaque ressource de calcul devra excuter permette
de re-construire un ordonnancement valide (i.e. qui respecte les
contraintes deprcdence telles que lexcution dune tche sur une
ressource de calculne 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 ressourcesque nous dtailleront par la
suite, il est possible de reconstruire un ordon-nancement valide
atteignant exactement le dbit correspondant. Les tudesexprimentales
de [3] montrent quil est galement possible en pratiquedordonnancer
efficacement de faon distribue les tches des applications partir
des taux dutilisation des ressources. Un calcul centralis des
tauxpouvant rapidement devenir irralisable pour de grandes
plates-formes,nous nous intressons au calcul distribu de ces taux,
ce qui permet dob-tenir in fine un algorithme compltement
dcentralis pour le problme delordonnancement en rgime
permanent.
2.4 Expression des contraintes
Tout ordonnancement se doit de respecter les contraintes
suivantes :
i P :kA
(k)i w(k) 6Wi (Contraintes de calcul)
i P :
j tel queiMj
kA
(k)j b(k) 6 Bi (Contraintes de communication)
i P,k A : (k)i > 0 (Contraintes de faisabilit)
Les contraintes de calcul expriment que, pendant un temps
unitaire, la res-source Pi ne peut pas excuter plus de Wi units de
calcul. De mme, lescontraintes de communication font intervenir
lensemble des liens qui s-parent le matre de lesclave qui excute la
tche. Enfin, les contraintes defaisabilit assurent simplement
quaucune ressource nexcute de quantitngative de tches !
Ces quations dfinissent un polydre dans un espace 2NK
dimen-sions appel par la suite domaine ralisable. Il sagit
maintenant de dter-miner dans ce domaine quelle est la solution
optimale.
5
-
D1
D2
(a) Dbit total
D1
D2
(b) Max-min
D1
D2
(c) Proportionnelle
FIG. 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
dimplmen-ter une certaine forme dquit entre les diffrentes
applications. La thsede Corinne Touati [12] nous donne un ventail
des fonctions traditionnel-lement choisies :
Maximisation du dbit total : MAXIMISERkA
D(k)
Equit max-min : MAXIMISER minkA
D(k)
Equit proportionnelle : MAXIMISERkA
D(k)
Lamaximisation du dbit total tend utiliser aumieux la
plate-forme,avec linconvnient que les applications plus coteuses en
calcul ouen communication seront lses, voire mme ignores
Lquit max-min est lquit la plus stricte, et celle qui est la
plusfavorable aux applications coteuses.
Lquit proportionnelle est un point intermdiaire entre ces
deuxpremires fonctions, qui interdit quune application ne soit pas
dutout servie tout en permettant quelques liberts par rapport
lquitmax-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
nestpas vraiment adapte notre problme. En effet, certaines
applications sontplus gourmandes que dautres en termes de cot de
calcul ou de cot decommunication, ou sont de manire gnrale moins
adaptes la plate-forme que dautres. On est donc dans une situation
fortement dissym-trique. Se contraindre assurer un dbit gal entre
ces deux applicationsconduit gnralement une mauvaise utilisation de
la plate-forme.
6
-
La figure FIG. 4 reprsente en couleur saumon un exemple de
domaineralisable pour 2 applications. Lune (reprsente par le
dbitD1) est beau-coup moins coteuse que lautre (D2). Les lignes en
pointills sur les 3 fi-gures reprsentent les courbes de niveau de 3
fonctions objectif (somme desdbits, quit max-min, et
-approximativement- quit proportionnelle). Lasolution du problme
doptimisation dans chaque cas est le point de contactentre le
domaine ralisable et la courbe de niveau la plus basse.
Cet exemple illustre bien linquit cause par la maximisation de
lasomme des dbits. Dautre part, en comparant les figures FIG. 4(b)
et FIG. 4(c),on peut constater que lquit proportionnelle permet
davantager substan-tiellement lapplication 1, ceci faible cot pour
lapplication 2 en utilisantlquit proportionnelle plutt que lquit
max-min.
Lquit proportionnelle semble donc plus adapte notre problmeque
lquit max-min. Cette intuition tait galement une des conclusionsde
[3] qui conjecturait que lquit max-min est trop stricte et quelle
sem-blait difficile mettre en oeuvre de manire distribue. Cette
difficult estcorrobore par le fait quil existe en pratique un
certain nombre de proto-coles 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
unequit moins stricte et un modle moins contraignant que le modle
1-portpermettaient davoir des algorithmes distribus et
efficaces.
Voici, en choisissant comme fonction objectif lquit
proportionnellelexpression du problme doptimisation associ notre
problme dordon-nancement en rgime permanent :
MAXIMISER f() =kA
ln(
iP (k)i
)AVEC LES CONTRAINTES
i P :kA
(k)i w(k) 6Wi (Contraintes de calcul)
i P :
j tel queiMj
kA
(k)j b(k) 6 Bi (Contraintes de communication)
i P,k A : (k)i > 0 (Contraintes de faisabilit)
On remarquera que nous avons transform le produit des dbits en
sommedes logarithmes car cette forme est plus couramment
utilise.
Comme nous le verrons par la suite, ce problme peut se rsoudre
demanire centralise laide de la programmation semi-dfinie positive,
eten temps polynomial. Ceci nous permettra de vrifier la validit
des rsul-tats obtenus par notre algorithme.
7
-
3 Conception dun algorithme dcentralis
Nous allons voir que loptimisation Lagrangienne couple des
tech-niques de gradient distribu permet de rsoudre notre problme de
ma-nire compltement dcentralise. Nous commenons donc par
rappelerquelques notions en section 3.1 puis nous prsentons en
section 3.2 les tra-vaux de [13] qui ont utilis ce type de
techniques pour un problme unpeu plus simple : le partage de bande
passante dans un rseau. Nous ex-pliquons ensuite en section 3.3
comment appliquer ces techniques notrecadre de travail, et enfin
nous proposons en section 3.4 un algorithme dis-tribu bas sur ces
techniques.
3.1 Rappels sur loptimisation lagrangienne
Loptimisation Lagrangienne est particulirement adapte la
rsolu-tion de problmes doptimisation non linaires. Nous rappellons
ici quelquesdfinitions et rsultats tirs de [5].
Considrons une fonction continue f de Rp dans R et n fonctions
conti-nues Ci de Rp dans R. Soit le problme doptimisation suivant
:
MAXIMISER f()AVEC LES CONTRAINTES
(Ci() > 0)i[1..n](1)
Definition 3 (Lagrangien). Le Lagrangien L associ au problme (1)
est dfinipar :
L(, ) = f()
i[1..n]iCi() (2)
Soit f la solution optimale du problme (1).
Definition 4 (Multiplieur de Lagrange). R est un multiplieur de
La-grange pour le problme (1) si et seulement si :
> 0 et sup>0
L(, ) = f
Definition 5 (Fonction duale). La fonction duale associ au
problme (1) estdfinie par :
Rn 7],+]
{sup>0 L(, ) si > 0+ sinon
Les conditions de Slater [5] donnent que sil existe au moins un
ra-lisable, alors lensemble des multiplieurs de Lagrange est
compact et non-vide. Le thorme suivant en est une consquence.
8
-
Theorem 1. Un vecteur est un multiplieur de Lagrange si et
seulement si cestune solution du problme doptimisation dual :
inf>0
d() (3)
3.2 Equit proportionnelle entre flots dans un rseau
Onpeut trouver dans [13] une utilisation de loptimisation
Lagrangiennepour rsoudre un problme de partage de bande passante
dans un rseaude manire distribue. Les auteurs y considrent un modle
statique danslequel plusieurs connexions, identifies par la route
quelles souhaitent em-prunter dans le rseau demandent leur part de
ressources rseau, et entrentdonc ncessairement en concurrence pour
un certain nombre de liens du r-seau. Il sagit donc de trouver une
rpartition optimale des ressources entreles connexions en quit
proportionnelle.
Les auteurs dmontrent laide de loptimisation Lagrangienne que
ceproblme doptimisation est quivalent au problme dual dont la
rsolu-tion consiste en un jeu non coopratif de ngociations entre
les diffrentesconnexions. Chaque connexion dispose dun budget qui
dpend de son be-soin en bande passante, tandis que chaque lien un
prix quun utilisateurde ce lien devra payer pour pouvoir lutiliser.
Les connexions font alors desoffres dutilisation des liens, et les
liens adaptent leur prix en fonction deces offres. Le prix des
liens volue en rpondant la loi de loffre et de lademande, et
atteint un point de stabilit aprs quelques ngociations.
Cette ngociation correspond en ralit la minimisation de la
fonc-tion duale par une mthode de gradient distribu. Les prix
rsultants decette ngociation ne sont rien dautre que les
multiplieurs de Lagrange descontraintes de capacit, alors que les
budgets sont ceux des contraintes debesoin en bande passante de
chaque utilisateur. Dans leur cas, la rpartitiondes bandes
passantes se calcule directement partir des prix obtenus.
Nous allons montrer dans la suite que ce systme de ngociations
peutse transposer notre problme, la diffrence quil sera plus
difficile dansnotre cas de passer du calcul des prix au calcul des
taux.
3.3 Application notre problme
Le Lagrangien du problme 2.6 sexprime ainsi :
L(, , ) = f()iP
i(kA
(k)i w(k)Wi
)iP
i( j tel queiMj
kA
(k)j b(k)Bi
)
i et i sont les multiplieurs de Lagrange associs respectivement
auxcontraintes de calcul et de communication de la ressource i et
de son lien
9
-
entrant. On va alors reformuler le Lagrangien pour faire
apparatre unefonction (k)i qui dpend de i et i et qui peut
sinterprter comme le prix payer par une tche k pour accder la
ressource Pi :
L(, , ) =iP
(iWi + iBi)kA
iP
(k)i
(w(k)i + b(k)
j tel queiMj
j
) (k)i =Prix total pour accder Pi
pour lapplication k.
+kA
ln(iP
(k)i
)
(4)Puisque les conditions de Slater sont vrifies (voir
dmonstration A.1),
nous pouvons utiliser le thorme 1 et trouver un couple
demultiplieurs deLagrange (, ) en rsolvant le problme dual 3. On
obtient une conditionsur et . :
Theorem 2. Au sup>0 L(, , ), la proprit suivante est vrifie
:
kiP
(k)i =
1
miniP
(k)i
La dmonstration de ce thorme se trouve en appendice A.2.
On obtient alors une expression simple de la fonction duale
:
d(, ) =iP
(iWi + iBi)kA
lnminiP
(k)i K
3.3.1 Conclusion
Bien que ce rsultat ne nous donne pas le dtail des taux (k)i ,
la connais-sance des prix nous permet dobtenir les dbits. Or, il
existe un algorithmepermettant de calculer les taux de faon
distribue partir des dbits, pourvuque ceux-ci soient ralisables. Il
sagit dune adaptation [3] de lalgorithmedAwerbuch-Leighton [1, 2]
initialement prvu pour le calcul des flots dansun rseau.
Nous allons donc nous concentrer sur le calcul des prix minimaux
pourchaque tche, qui nous donneront directement les dbits.
10
-
3.4 Proposition dun algorithme distribu
3.4.1 Expression du problme dual
MINIMISER d(, ) =iP
(iWi + iBi)kA
lnminiP
(k)i KAVEC LES CONTRAINTES
i > 0 > 0
On peut remarquer que la fonction duale d est une fonction
convexe etcontinue, ce qui empche lexistence de plusieurs minima
locaux et encou-rage donc utiliser des mthodes de type
gradient.
3.4.2 Gradient distribu
Comme expliqu dans les paragraphes prcdents 3.2, nous allons
uti-liser loptimisation Lagrangienne pour mettre en oeuvre un
algorithme dengociations de prix. Cet algorithme est en fait une
methode de gradientdistribu : la ressource Pi est responsable des
prix i et i, et toutes rva-luent leurs prix proportionnellement
loppos de la drive partielle dela fonction duale. Cette drive se
calcule facilement :
di
= Wi (1)
w(k)
(k)min
di
= Bi (2)
b(k)
(k)min
(5)
O les conditions (1) et (2) sont :(1) : k A et (k)i = (k)min(2)
: k A et j|
{j descendant de i(k)j =
(k)min
Ainsi, seule la connaissance du prix le plus faible de larbre
pour chaquetche et du fait que lun des membre du sous-arbre a ce
prix suffisent pourdterminer les valeurs de i et i au pas
suivant.
Notez que la mthode de gradient utilise est la mthode de la
plusgrande pente, avec un pas linaire (par opposition aux mthodes
de Jacobiou Gauss-Siedel, qui utilisent un pas non linaire, ou aux
mthodes pasoptimal, 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
plusfaible de leur sous-arbre. Ainsi, de manire rcursive, le prix
le plusfaible arrive la racine, et tous les noeuds gardent en
mmoire labranche dans laquelle se trouve loffre la plus faible de
leur sous-arbre.
La racine (le matre) diffuse dans larbre la valeur des prix
minimauxpour chacune des tches, seule information importante pour
calculerla drive locale de la fonction duale.
Chaque ressource adapte ses prix i et i dune valeur
proportion-nelle la drive partielle de la fonction duale 5.
3.4.4 Difficults
La principale difficult induite par cette mthode est que la
fonctionduale d nest pas C2. On observe des points anguleux au
voisinage despoints dgalit de prix entre deux ressources provoques
par la prsencedans lexpression du dual de min
iP(k)i . Par exemple, supposons que deux
ressources A et B aient le mme prix dans larbre (et quelles nont
pas delien de descendance). Si A baisse son prix, cela a un impact
sur le Lagran-gien. Mais sil laugmente, le prix minimal reste celui
de B et donc limpactsur le Lagrangien nest pas le mme.
La convergence dun algorithme de gradient pour une fonction f
C2est assure une condition assez large sur le pas qui, si elle est
vrifie,assure que la valeur de d dcrot chaque pas :
< 2maxx
(5f(x))
O5f est la norme Euclidienne du gradient de f .Dans notre cas,
quel que soit le pas, on na pas de garantie de conver-
gence. Comme dautre part les points de convergence sont
justement lespoints dgalit de prix, on observe des oscillations
autour de la solutionquel que soit le pas.
4 Validation Exprimentale
4.1 Environnement de simulation
4.1.1 SimGrid
Le programme de simulation a t dvelopp en C, avec la
bibliothqueMSG de SimGrid [9]. SimGrid est une bibliothque de
simulation dapplica-tions 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
ncessitentpas de modlisation prcise des communications. Les
expriences ont tralises avec de petites plates-formes dabord cres
de toutes pices, puisgnres par le gnrateur de plate-formes Tiers
[8]. Par manque de temps,nous ne prsentons ici que des rsultats
obtenus sur des plates-formes ma-nuelles, mais des expriences
utilisant des plates-formes plus complexessont en cours.
4.2 Etude du temps de convergence
Nos recherches sur lacclration du gradient ne sont pas encore
termi-nes. Actuellement, lalgorithme converge relativement
lentement (10 se-condes / 500 pas sur des plates-formes de petite
taille). La principale raisonde cette lenteur, qui est explique
plus bas, est la ncessit de choisir un pasfaible pour viter de trop
grandes oscillations dues aux discontinuits de ladrive.
De plus, le temps de convergence de lalgorithme est
proportionnel lahauteur de larbre (puisqu chaque pas linformation
des prix doit mon-ter jusqu la racine puis redescendre jusquau
feuilles), et ralentit avecle nombre de tches. Cependant, ces
performances devraient pouvoir treamliores.
Nous allons donc prsenter les rsultats actuels, ainsi que des
pistesprometteuses pour acclrer lalgorithme.
Choix du pas : Si lon choisit un pas trop grand, lalgorithme
peutosciller autour de la solution, car la fonction duale d nest
pas C2. La fi-gure FIG. 5(a) reprsente lvolution des prix et en
fonction du temps(2000 pas) sur une plate-forme simple (FIG. 6)
comprenant 6 ressources decalcul et avec 3 tches 2 dans le cas dun
pas trop grand : lalgorithme neconverge pas et les valeurs des prix
oscillent.
Inversement, si le pas est trop faible, lalgorithme converge
trop lente-ment, comme le montre la figure FIG. 5(c), obtenue dans
les mmes condi-tions.
4.2.1 Acclration de lalgorithme
Lalgorithme de gradient peut vraisemblablement tre amlior
pouracclrer sa convergence. Nous prsentons ici quelques
amliorations pos-sibles, dont seule la premire a t implemente.
2w(1) = 1, b(1) = 10 ; w(2) = 10, b(2) = 1 ; w(3) = 5, b(3) =
3
13
-
0
0.1
0.2
0.3
0.4
0.5
0.6
20 30 40 50 60 70 80 90 100 110
Valu
e
Time (s)
Bacchus.MArtemis.L
Chronos.MChronos.L
Demeter.MHera.MEros.L
Demeter.LHera.L
Artemis.MBacchus.L
Eros.M
(a) = 1.5.102
0
0.1
0.2
0.3
0.4
0.5
0.6
20 30 40 50 60 70 80 90 100 110
Valu
e
Time (s)
Bacchus.MArtemis.L
Chronos.MChronos.L
Demeter.MHera.MEros.L
Demeter.LHera.L
Artemis.MBacchus.L
Eros.M
(b) = 3.103
0
0.1
0.2
0.3
0.4
0.5
0.6
20 30 40 50 60 70 80 90 100 110
Valu
e
Time (s)
Bacchus.MArtemis.L
Chronos.MChronos.L
Demeter.MHera.MEros.L
Demeter.LHera.L
Artemis.MBacchus.L
Eros.M
(c) = 1.0.105
FIG. 5 Choix du pas de convergence
Lissage des variations : On peut rduire significativement les
oscillationsen ajoutant une dpendance de la variation au pas p la
variation au pasp 1.
p = 23d
+p1
Lissage de la courbe : Une autre ide que nous navons pas encore
eu letemps de mettre en oeuvre est de lisser la fonction dual au
voisinage despoints anguleux en approximant la fonction min par une
fonction contin-ment drivable. En effet, si la courbe ne prsente
pas de points anguleux,il est possible de choisir un pas beaucoup
plus grand et donc dacclrerlalgorithme.
On peut par exemple utiliser lapproximation suivante :
0 < x < 0 < y <
min(x, y) (( x) + ( y)) 1
En augmentant le paramtre , on sapproche de plus en plus de
lafonction min . . .
14
-
65
0.5
2
0.2
1.5
5
1 1
810
15
E H
A
DCB
Pmaster
FIG. 6 Plate-forme simple
Algorithme asynchrone : Il nest a priori pas ncessaire pour que
lal-gorithme converge que les diffrentes ressources calculent leurs
variationssimultanment. On peut imaginer un algorithme asynchrone o
les prix et des ressources proches du matre voluent plus rapidement
que ceuxdes ressources loignes. Ce nest en tout cas pas
incompatible avec la m-thode 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
pro-portionnel la hauteur de larbre. De plus, les esclaves loigns
du matressont ceux qui ont le moins de chances davoir le prix le
plus faible pour unetche, et ils convergent trs vite vers un prix
nul. On peut donc se permettrequils convergent plus lentement.
4.2.2 Adaptabilit de lalgorithme
Nous montrons ici que notre algorithme peut sadapter des
modifi-cations locales des paramtres de capacit de calcul ou de
communication.Bien que ladaptation ne soit pas encore rapide, nous
souhaitons montrerici que notre algorithme peut tre excut en
continu sur la plate-forme etquil sadaptera aux variations de bande
passante ou de capacit de calcul.
La figure FIG. 7 montre lvolution des prix de chaque ressource
decalcul pour chaque tche (FIG. 7(a) : (, ), FIG. 7(b) : (k)i ) en
fonction dutemps sur la mme plate-forme que celle des expriences
prcdentes, oles ressources E et H (FIG. 6) voient leur puissance de
calcul divise par2 priodiquement pendant des priodes de 20
secondes, puis revenir lanormale pendant 20 secondes.
15
-
0
0.1
0.2
0.3
0.4
0.5
0.6
20 30 40 50 60 70 80 90 100 110
Valu
e
Time (s)
Bacchus.MArtemis.L
Chronos.MChronos.L
Demeter.MHera.MEros.L
Demeter.LHera.L
Artemis.MBacchus.L
Eros.M
(a) Evolution de ,
0
1
2
3
4
5
6
7
8
20 30 40 50 60 70 80 90 100 110
Pric
e
Time (s)
Hera.Task3Hera.Task2
Artemis.Task3Chronos.Task3Artemis.Task2
Bacchus.Task1Chronos.Task1Demeter.Task3
Eros.Task3Bacchus.Task2
Hera.Task1Bacchus.Task3Artemis.Task1
Eros.Task1Demeter.Task2Chronos.Task2
Eros.Task2Demeter.Task1
(b) Evolution des prix
FIG. 7 Adaptabilit de lalgorithme
4.3 Vrification de lalgorithme par programmation
semi-dfiniepositive
Nous prsentons ici brivement la programmation semi-dfinie
posi-tive (SDP), outil mathmatique qui nous a permis de vrifier de
manirecentralise la validit des rsultats de lalgorithme
distribu.
La programmation semi-dfinie positive permet de rsoudre des
pro-blmes du type :
minx
cTx |nj=1
xjAj B 0 (6)
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 nmatrices
symtriques de taillemm. B est une matrice symtrique constante de
taillemm. 0 signifie est semi-dfinie positiveComme montr dans [12],
la SDP (semi-definite programming) permet
aussi de rsoudre des problme doptimisation faisant intervenir
des fonc-tions contenant des sommes de produits des variables sous
des contraintes li-naires, et ceci en temps polynomial.
Cest le cas de notre problme doptimisation puisque notre
fonctionobjectif est gale au produit des dbits de chaque
application. Pour plusde dtails sur les mthodes que lon peut
utiliser pour transformer un pro-blme de ce type en un problme SDP
6, nous vous renvoyons la thse deCorinne Touati [12](chapitre
4.1).
Nous avons donc utilis la bibliothque gratuite de programmation
semi-dfinie positive CSDP [7].
16
-
5 Conclusion
5.1 Contributions
Le travail consign dans ce rapport est une extension des travaux
com-mencs dans [3], o nous nous intressons lordonnancement en
rgimepermanent de collections de tches sur une plate-forme en
structure darbre.
Nos contributions sont les suivantes : Nous avons introduit
lquit proportionnelle et relax lhypothse1-port et montr que ces
hypothses permettent dobtenir un algo-rithme distribu efficace de
calcul des taux, complment de lalgo-rithme dAwerbuch-Leighton trait
dans [3].
Nous avons adapt des mthodes doptimisation Lagrangienne et
degradients 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 avonsmon-tr
exprimentalement sur des plates-formes simples que lalgorithmeest
correct et converge vers une solution trouve thoriquement parla
programmation semi-dfinie positive.
Il faut cependant reconnatre que lalgorithme tudi ici et celui
dAwerbuch-Leighton, sils ont lavantage dtre tous deux distribus,
convergent lente-ment. On peut trs certainement amliorer la vitesse
de convergence delalgorithme de calcul des prix, mais pour
linstant, nos algorithmes nesemblent pas adapts des petites
plates-formes. Un algorithme centra-lis y serait trs certainement
plus efficace. Cest pourquoi il serait int-ressant de complter
cette tude par des simulations sur des plate-formesde 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
vraisemblablementtre amliore en utilisant les ides suggres dans la
section 4.2.1.
Pour que la plate-forme soit mieux utilise, il peut tre
intressant devoir comment le modle se comporte si chaque tche est
gre par unmatre diffrent. Ceci suppose des modifications
importantes dans lemodle, notamment de sparer la gestion des prix
des ressources decalcul () de celle des prix des liens ().
Dautresmesures que lquit proportionnelle, telles que dcrites
dans [11]sont envisageables et pourraient mener une expression
simple duLagrangien. A priori, ces mesures compliquent cette
expression, maisil semble possible de les implmenter.
17
-
Enfin, pour que ltude soit complte, il reste implmenter
lalgo-rithme dAwerbuch-Leighton qui calculera les taux partir des
d-bits calculs par notre algorithme. Ceci nous permettrait
dvaluerles performances du couplage de ces deux algorithmes et
denvisa-ger une mise en uvre sur une plate-forme relle.
18
-
Rfrences
[1] B. Awerbuch and T. Leighton. A simple local-control
approximationalgorithm for multicommodity flow. In FOCS 93 :
Proceedings of the24th Conference on Foundations of Computer
Science, pages 459468. IEEEComputer Society Press, 1993.
[2] B. Awerbuch and T. Leighton. Improved approximation
algorithmsfor the multi-commodity flow problem and local
competitive routingin dynamic networks. In STOC 94 : Proceedings of
the 26h ACM sympo-sium on Theory of Computing, pages 487496. ACM
Press, 1994.
[3] O. Beaumont, L. Carter, J. Ferrante, A. Legrand, L. Marchal,
and Y. Ro-bert. Centralized versus distributed schedulers multiple
bag-of-taskapplications. In International Parallel and Distributed
Processing Sympo-sium IPDPS2006. IEEE Computer Society Press, Apr.
2006.
[4] O. Beaumont and L. Marchal. Pipelining broadcasts on
heterogeneousplatforms 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 Me-thods. Academic Press, Inc., 1982.
[6] Berkeley Open Infrastructure for Network Computing.
http://boinc.berkeley.edu.
[7] B. Borchers and J. G. Young. Implementation of a primal-dual
me-thod for sdp on a shared memory parallel architecture.
ComputationalOptimization and Applications, 2006, to appear.
[8] K. L. Calvert, M. B. Doar, and E. W. Zegura. Modeling
internet topo-logy. IEEE Communications Magazine, 35(6) :160163,
June 1997.
[9] H. Casanova, A. Legrand, and L. Marchal. Scheduling
DistributedApplications : the SimGrid Simulation Framework. In
Proceedings ofthe third IEEE International Symposium on Cluster
Computing and the Grid(CCGrid03), may 2003.
[10] B. Hong and V. Prasanna. Distributed adaptive task
allocation in he-terogeneous computing environments to maximize
throughput. InInternational Parallel and Distributed Processing
Symposium IPDPS2004.IEEE Computer Society Press, 2004.
[11] J. Mo and J. Walrand. Fair end-to-end window-based
congestioncontrol. IEEE/ACM Transaction on Networking, 8(5)
:556567, 2000.
[12] C. Touati. Les principes dquit appliqus aux rseaux de
tlcommunica-tions. PhD thesis, Universit de Nice Sophia-Antipolis,
2003.
[13] H. Yache, R. R. Mazumdar, and C. Rosenberg. A game
theoretic fra-mework for bandwidth allocation and pricing in
broadband networks.IEEE/ACM Transaction on Networking, 8(5)
:667678, 2000.
19
-
A Dmonstrations
A.1 Validit des conditions de Slater
Dmonstration. Il sagit de dmontrer que le domaine ralisable est
nonvide. Or, si iWi > 0 et Bi > 0, on peut montrer quil
existe toujours unvoisinage de 0 contenu dans le domaine ralisable,
voisinage quon peutpar exemple dfinir ainsi :
i k (k)i 6 min min
iPkA et w(k) 6=0
Wi
N.w(k), min
iPkA et b(k) 6=0
Bi
N2.b(k)
est ralisable, et telle que f() > 0.
A.2 Condition sur et
Dmonstration. On veut dmontrer :
k D(k) =iP
(k)i =
1
miniP
(k)i
L(, , ) est concave en (k)i donc le maximum de L est atteint
pour (k)i =0 ou L
(k)i
= 0. Or,
L
(k)i
=1
D(k)(k)i
On obtient donc :
i P Soit
(k)i = 0
Soit (k)i 6= 0 et D(k) = 1(k)i(7)
Or, pour une solution du problme doptimisation (i.e. f() <
+), on ancessairement :
k i N tel que (k)i > 0Au maximum, le Lagrangien peut donc
sexprimer plus simplement :
L(, , ) = iP
(iWi + iBi) +kA
lnD(k) kA
1D(k)
i tel que(k)i 6=0
(k)i
=iP
(iWi + iBi) +kA
lnD(k) K
Pour maximiser le Lagrangien, il faut maximiser D(k) et donc
choisir len-semble
{(k)i ,
(k)i 6= 0
}parmi les ressources de calcul dont le prix (k)i est
minimal pour chaque k.On a donc la proprit recherche.
20
1 Introduction2 Modlisation2.1 Plate-forme2.2 Applications2.3
Grandeurs du rgime permanent2.4 Expression des contraintes2.5 Choix
de la fonction objectif2.5.1 Types d'quit2.5.2 Inconvnients de
l'quit max-min
2.6 Expression du problme d'optimisation
3 Conception d'un algorithme dcentralis3.1 Rappels sur
l'optimisation lagrangienne3.2 Equit proportionnelle entre flots
dans un rseau3.3 Application notre problme3.3.1 Conclusion
3.4 Proposition d'un algorithme distribu3.4.1 Expression du
problme dual3.4.2 Gradient distribu3.4.3 Algorithme3.4.4
Difficults
4 Validation Exprimentale4.1 Environnement de simulation4.1.1
SimGrid
4.2 Etude du temps de convergence4.2.1 Acclration de
l'algorithme4.2.2 Adaptabilit de l'algorithme
4.3 Vrification de l'algorithme par programmation semi-dfinie
positive
5 Conclusion5.1 Contributions5.2 Extensions possibles
A DmonstrationsA.1 Validit des conditions de SlaterA.2 Condition
sur et