24
Laboratoire de l’Informatique du Parallélisme École Normale Supérieure de Lyon Unité Mixte de Recherche CNRS-INRIA-ENS LYON-UCBL n o 5668 Ordonnancement en régime permanent en équité proportionnelle sur une plate-forme en structure d’arbre Rémi Vannier Juin 2006 Rapport de DEA N o 2006- ? ? École Normale Supérieure de Lyon 46 Allée d’Italie, 69364 Lyon Cedex 07, France Téléphone : +33(0)4.72.72.80.37 Télécopieur : +33(0)4.72.72.80.80 Adresse électronique : [email protected]

Application Algorithme

Embed Size (px)

DESCRIPTION

cours sur les Algorithmes

Citation preview

  • 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