1 / 28

Coopération dans des ordonnancements multi-organisations

Coopération dans des ordonnancements multi-organisations. Fanny Pascual Travail en collaboration avec Krzysztof Rzadca et Denis Trystram GOTHA, 12 octobre 2007. Introduction.

rafe
Download Presentation

Coopération dans des ordonnancements multi-organisations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Coopération dans des ordonnancements multi-organisations Fanny Pascual Travail en collaboration avec Krzysztof Rzadca et Denis Trystram GOTHA, 12 octobre 2007

  2. Introduction Plateformes d’exécution haute performance : impliquent des entités distribuées (organisations) qui ont leurs propres règles locales/intérêts. Etudier la possibilité de coopération pour un meilleur usage global du système. On montre que en coopérant il est toujours possible d’avoir une bonne solution globale qui satisfasse les intérêts individuels des organisations.

  3. Plan • Problème • Contexte • Motivations et limites • Résolution • Algorithme • Analyse de l’algorithme • Conclusion

  4. Contexte : grille de calcul m1 machines … Organisation O1 … … m2 machines Organisation O3 … Organisation O2 … … m3 machines Grille de calcul : collection de clusters indépendants appartenant chacun à une organisation.

  5. Applications : tâches parallèles rigides Des utilisateurs soumettent des applications (tâches). Par exemple : L’utilisateur demande alors : Durée d’exécution pi Tâche i #de machines nécessaires qi

  6. Ordonnancer des tâches rigides Ordonnancer des tâches rigides indépendantes : Problème de packing en 2D (strip packing). Ordonnancement : Tâches : m temps

  7. Les utilisateurs soumettent les tâches à leur organisation. … O1 … … O3 … O2 … …

  8. Les organisations peuvent coopérer … O1 … … O3 … O2 … …

  9. Contraintes Cmax(O3) Ordonnancements locaux : Cmaxloc(O1) O1 O1 Cmax(O1) O2 O2 Cmax(O2) O3 O3 Cmax(Ok) : date de fin maximum des tâches de Ok. Chaque organisation veut minimiser son makespan.

  10. Définition du problème • MOSP (Multi-Organisation Scheduling Problem): • Données : n organisations, chacune ayant mi machines et des tâches locales. • But: minimiser le makespan global OPT =max(Cmax(Ok))sous la contrainte que aucun makespan local n’est augmenté. • Conséquence : Si n=1 (une organisation); m=2; les tâches sont séquentielles (qi=1): problème (P2||Cmax) qui est NP-difficile. • => MOSP est NP-difficile.

  11. Coopérer peut substanciellement améliorer la solution (1) Solution non-cooperative : chaque organisation exécute ses tâches locales. Cette solution peut être arbitrairement loin de l’optimal. Exemple: O1 O1 O2 O2 O3 O3 aveccoopération sanscoopération

  12. 1 1 2 2 Coopérer peut substanciellement améliorer la solution (2) Des algorithmes autres qu’un simple équilibrage de charge sont possibles: on peut ainsi obtenir des solutions profitables pour toutes les organisations. 2 1 O1 O1 2 O2 O2 1 aveccoopération sanscoopération

  13. Limites de la coopération Si on ne peut détériorer aucun makespan local, alors l’optimum global ne peut être atteint. Ordonnancement local Optimum global 2 O1 1 O1 1 1 1 2 O2 O2 2 2 2 2 O1 2 1 1 Meilleure solution qui n’augmente pas Cmax(O1) O2 2 2

  14. Limites de la coopération Borne inférieure sur le rapport d’approximation : 3/2. Ordonnancement local Optimum global 2 O1 1 O1 1 1 1 2 O2 O2 2 2 2 2 O1 2 1 1 Meilleure solution qui n’augmente pas Cmax(O1) O2 2 2

  15. Plan • Problème • Contexte • Motivations et limites • Résolution • Résultats préliminaires • Algorithme • Analyse de l’algorithme • Conclusion

  16. Bornes inférieures Soit OPT le makespan optimal. Bornes inférieures de OPT : O1 O2 O3 O4 W =  (qi li) /  mi = surface totale des tâches / nombre de machines O5 O1 O2 W O3 MOLBA O4 O5 O1 t t O2 O3 MOLBA + load balancing O4 pmax = max(pi) = longueur de la plus grande tâche. O5 3W t

  17. Ordonnancement sur un seul cluster Algorithme de liste : rapport d’approx.=(2-1/m) « Resource constraint list algorithm » (Graham 1975), revu dans IPDPS 2006 (Eyraud et al) avec une preuve plus simple pour une contrainte. • Ordonnancement HighestFirst: ordonnance les tâches par hauteur décroissante. Même garantie théorique mais meilleur d’un point de vue pratique. => On suppose que chaque ordonnancement local est un ordonnancement HighestFirst.

  18. Algorithme MOLBA() (Multi-Organization Load Balancing Algorithm) Chaque organisation exécute ses tâches localement avec Highest First. Retirer les tâches qui commencent après  W et quiappartiennent à une organisation dont le makespan est ≥ W + pmax.(où 1 ≤ ≤ 3 dépend de la version de l’algorithme). Ordonnancer ces tâches en utilisant un algo. de liste. O1 O2 O3 O4 O5 O1 O2 W 3W O3 MOLBA W = surface totale /  mi O4 O5 O1 t t O2 O3 MOLBA + load balancing O4 O5 3W t

  19. Exemple (simulations) O1 O2 O3 Ordonnancement local O4 O5 O1 O2 O3 MOLBA(3) O4 O5 O1 ? t 3W 3W t O2 O3 MOLBA + load balancing O4 O5 3W t

  20. Rapports d’approximation Cas général : MOLBA(3) est 4-approché. Cas particuliers : W ≥ a pmax ou W ≤ a pmax : algo. 2 + 2/(1+a) n=2 : algorithme 3-approché Clusters identiques : algo. 3.5- approché Petites tâches : algo. 3-approché Tâches séquentielles : algo. 2- (1/ mi) approché

  21. Analyse de performance : un cluster avant MOLBA() Propriété 1 : Tous les ordonnancements HighestFirst ont la même structure: - une zone de forte utilisation - une zone de faible utilisation Preuve : Les grandes tâches (qi>m/2) sont ordonnancées à la suite. Aucune petite tâche (qi ≤m/2) commence après la fin de (I) zone de faible utilisation (II) zone de forte utilisation (I) (plus de 50% des machines sont occupées) t

  22. Analyse de performance : un cluster avant MOLBA() Propriété 2 : A la fin de l’algorithme, il y a au moins un cluster dont la zone (II) commence avant 2W. Preuve :argument de surface. zone de faible utilisation (II) zone de forte utilisation (I) (plus de 50% des machines sont occupées) t

  23. Analyse de performance : un cluster après MOLBA() ≤pmax t1 t2 Propriété 3 : La longueur de la zone de faible utilisation est au plus pmax. Preuve :par contradiction.

  24. MOLBA(3) est 4-approché Preuve. par l’absurde: • hyp: une tâche se termine après 4 OPT. • commence après 3 OPT. • Zone de faible utilisation/cluster < pmax < OPT . =>Zone de haute utilisation par cluster > 2 OPT >2W => Travail effectué au total > travail disponible. ≤pmax

  25. Amélioration de l’algorithme On rajoute une étape d’équilibrage de charge. O1 O2 O3 Ordonnancement local O4 O5 O1 O2 O3 MOLBA(3) O4 O5 O1 O2 O3 MOLBA(3) + eq. de charge O4 O5

  26. Expérimentations(MOLBA(2.5))

  27. Lien avec la théorie des jeux ? Approche utilisée : optimisation combinatoire. En utilisant la théorie des jeux ? Joueurs: organisations; objectif : min. leur makespan Théorie des jeux coopérative : suppose que les joueurs (organisations) communiquent et forment des coalitions. Théorie des jeux non coopérative : équilibre de Nash : situation où les joueurs n’ont pas intérêtà changer de stratégie. Prix de la stabilité : meilleur équilibre de Nash/solution opt. stratégie : collaborer ou non; obj. global : min makespan

  28. Conclusion • Coopérer peut aider pour avoir une meilleure performance globale, sans détériorer les performances locales (pour le makespan). • Perspectives : • Améliorer les bornes • Cadre online • Objectifs individuels/global différents • Co-scheduling (tâches de grandes taille partagées entre plusieurs clusters). • Chaque organisation donne une limite de temps qu’elle ne veut pas dépasser pour coopérer.

More Related