Coopération transfrontalière en Europe − Interreg, ESPON, URBACT: coopération à valeur ajoutée
Coopération dans des ordonnancements multi-organisations
description
Transcript of Coopération dans des ordonnancements multi-organisations
![Page 1: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/1.jpg)
Coopération dans des ordonnancements multi-
organisations
Fanny Pascual
Travail en collaboration avec Krzysztof Rzadca et Denis Trystram
GOTHA, 12 octobre 2007
![Page 2: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/2.jpg)
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.
![Page 3: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/3.jpg)
Plan
1. Problème
• Contexte
• Motivations et limites
2. Résolution
• Algorithme
• Analyse de l’algorithme
3. Conclusion
![Page 4: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/4.jpg)
Contexte : grille de calcul
Grille de calcul : collection de clusters indépendants appartenant chacun à une organisation.
…
…
……
…
…Organisation O2
Organisation O3
Organisation O1
m2 machines
m1 machines
m3 machines
![Page 5: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/5.jpg)
Applications : tâches parallèles rigides
Des utilisateurs soumettent des applications (tâches). Par exemple :
Tâche i #de machines nécessaires qi
Durée d’exécution pi
L’utilisateur demande alors :
![Page 6: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/6.jpg)
Ordonnancer des tâches rigides
Ordonnancer des tâches rigides indépendantes :Problème de packing en 2D (strip packing).
m
Tâches : Ordonnancement :
temps
![Page 7: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/7.jpg)
…
…
……
…
…
Les utilisateurs soumettent les tâches à leur organisation.
O2
O1
O3
![Page 8: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/8.jpg)
…
…
……
…
…
Les organisations peuvent coopérer
O1
O2
O3
![Page 9: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/9.jpg)
Contraintes Cmax(O3)
Cmax(O2)
O1
O2
O3
Cmax(Ok) : date de fin maximum des tâches de Ok.
Chaque organisation veut minimiser son makespan.
Cmax(O1)O1
O2
O3
Cmaxloc(O1
)
Ordonnancements locaux :
![Page 10: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/10.jpg)
Définition du problèmeMOSP (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.
![Page 11: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/11.jpg)
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.
sans coopération avec coopération
O1
O2
O3
O1
O2
O3
Exemple:
![Page 12: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/12.jpg)
Coopérer peut substanciellement améliorer la solution (2)
1
22
1
Des algorithmes autres qu’un simple équilibrage de charge sont possibles: on peut ainsi obtenir des solutions profitables pour toutes les organisations.
sans coopération avec coopération
O1
O2
O1
O2
1
1
2
2
![Page 13: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/13.jpg)
Limites de la coopération
1
2
1
2 2
1
2
1
2
2
Ordonnancement local Optimum global
O1
O2
O1
O2
Si on ne peut détériorer aucun makespan local, alors l’optimum global ne peut être atteint.
1
2
1
2
2
Meilleure solution quin’augmente pas Cmax(O1)
O1
O2
![Page 14: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/14.jpg)
Borne inférieure sur le rapport d’approximation : 3/2.
1
2
1
2 2
1
2
1
2
2
1
2
1
2
2
O1
O2
O1
O2
O1
O2
Limites de la coopération
Meilleure solution quin’augmente pas Cmax(O1)
Ordonnancement local Optimum global
![Page 15: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/15.jpg)
Plan
1. Problème
• Contexte
• Motivations et limites
2. Résolution
• Résultats préliminaires
• Algorithme
• Analyse de l’algorithme
3. Conclusion
![Page 16: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/16.jpg)
Bornes inférieures
MOLBA
t
O3
O1O2
O4O5
O3
O1O2
O4O5
O1
W
W = (qi li) / mi = surface totale des tâches / nombre de machines
pmax = max(pi) = longueur de la plus grande tâche.
Soit OPT le makespan optimal. Bornes inférieures de OPT :
![Page 17: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/17.jpg)
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.
![Page 18: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/18.jpg)
MOLBA
MOLBA +load balancing
3W
t
t t
O3
O1O2
O4O5
O3
O1O2
O4O5
O3
O1O2
O4O5
Algorithme MOLBA()
1. Chaque organisation exécute ses tâches localement avec Highest First.
2. 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).
3. Ordonnancer ces tâches en utilisant un algo. de liste.
(Multi-Organization Load Balancing Algorithm)
W
W = surface totale / mi 3W
![Page 19: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/19.jpg)
Exemple (simulations)
Ordonnancement local
MOLBA(3)
MOLBA +load balancing
3W
t
t t
O3
O1O2
O4O5
O3
O1O2
O4O5
O3
O1O2
O4O5
3W 3W ?
![Page 20: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/20.jpg)
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é
![Page 21: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/21.jpg)
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 forte utilisation (I)(plus de 50% des machines sont occupées)
zone de faible utilisation (II)
t
![Page 22: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/22.jpg)
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 forte utilisation (I)(plus de 50% des machines sont occupées)
zone de faible utilisation (II)
t
![Page 23: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/23.jpg)
Analyse de performance : un cluster après MOLBA()
Propriété 3 : La longueur de la zone de faible utilisation est au plus pmax.
Preuve : par contradiction.
≤ pmax t1 t2
![Page 24: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/24.jpg)
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
![Page 25: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/25.jpg)
Amélioration de l’algorithme
MOLBA(3)
MOLBA(3) +eq. de charge
O3
O1O2
O4O5
O3
O1O2
O4O5
O3
O1O2
O4O5
On rajoute une étape d’équilibrage de charge.
Ordonnancement local
![Page 26: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/26.jpg)
Expérimentations(MOLBA(2.5))
![Page 27: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/27.jpg)
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
![Page 28: Coopération dans des ordonnancements multi-organisations](https://reader036.fdocuments.net/reader036/viewer/2022062322/5681499b550346895db6de7e/html5/thumbnails/28.jpg)
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.