O 1 O 2

publicité
Coopération dans des
ordonnancements multi-organisations
Fanny Pascual
Travail en collaboration avec Krzysztof Rzadca et
Denis Trystram
GOTHA, 12 octobre 2007
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.
Plan
1. Problème
•
Contexte
•
Motivations et limites
2. Résolution
•
Algorithme
•
Analyse de l’algorithme
3. Conclusion
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.
Applications : tâches parallèles
rigides
Des utilisateurs soumettent des applications (tâches).
Par exemple :
L’utilisateur demande alors :
#de machines nécessaires qi
Durée d’exécution pi
Tâche i
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
Les utilisateurs soumettent les
tâches à leur organisation.
…
O1
…
…
O3
…
…
O2
…
Les organisations peuvent coopérer
…
O1
…
…
O3
…
…
O2
…
Contraintes
Cmax(O3)
O1
Cmax(O1)
O1
Cmaxloc(O1)
O2
O2
O3
Ordonnancements locaux :
Cmax(O2)
O3
Cmax(Ok) : date de fin maximum des tâches de Ok.
Chaque organisation veut minimiser son makespan.
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.
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
sans coopération
avec coopération
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.
O1
O2
1
1
2
O1
2
O2
sans coopération
1
1
2
2
avec coopération
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
O1
O2
1
1
Optimum global
O1
2
2
2
Meilleure solution qui
n’augmente pas Cmax(O1)
1
O2
1
2
2
O2
O1
2
2
1
1
2
2
Limites de la coopération
Borne inférieure sur le rapport d’approximation : 3/2.
Ordonnancement local
O1
O2
1
1
Optimum global
O1
2
2
2
Meilleure solution qui
n’augmente pas Cmax(O1)
1
O2
1
2
2
O2
O1
2
2
1
1
2
2
Plan
1. Problème
•
Contexte
•
Motivations et limites
2. Résolution
•
Résultats préliminaires
•
Algorithme
•
Analyse de l’algorithme
3. Conclusion
Bornes inférieures
Soit OPT le makespan optimal.
Bornes inférieures de OPT :
W =  (qi li) /  mi
= surface totale des tâches / nombre de machines
O1
O2
O3
O4
O5
W
O1
O2
O3 ) = longueur de la plus grande tâche.
MOLBA
pmax = max(p
O4 i
O5
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.
Algorithme MOLBA()
(Multi-Organization Load Balancing Algorithm)
1. Chaque organisation exécute ses tâches localement
avec Highest First.
O1
O2
O3
O4
O5
W
O1
3W
O2
W = surface
totale /  mi
O
MOLBA
3
O
2. Retirer les4 tâches qui commencent après  W et qui
O5
appartiennent
à une organisation dont le makespan
O1+ p
t
t
est ≥ W
max.
O2
(où
≤ 3 dépend de la version de l’algorithme).
MOLBA
+ 1 ≤ O
3
O4 ces tâches en utilisant un algo. de liste.
3. balancing
Ordonnancer
load
3W
O5
Exemple (simulations)
O1
O2
Ordonnancement O3
local
O4
O5
O1
O2
MOLBA(3) O
3
O4
O5
O1
O2
MOLBA +
O3
load balancing O4
O5
?
3W
3W
t
t
3W
t
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é
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
zone de faible utilisation (II)
zone de forte utilisation (I)
(plus de 50% des machines sont occupées)
t
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)
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.
zone de faible utilisation (II)
zone de forte utilisation (I)
(plus de 50% des machines sont occupées)
t
Preuve : argument de surface.
Analyse de performance : un cluster
après MOLBA()
t1
≤ pmax
t2
Propriété 3 : La longueur de la zone de faible utilisation
est au plus pmax.
Preuve : par contradiction.
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
Amélioration de l’algorithme
On rajoute une étape d’équilibrage de charge.
O1
O2
Ordonnancement O3
O4
local
O5
O1
O2
MOLBA(3) O3
O4
O5
O1
O2
MOLBA(3) +
O3
O4
eq. de charge
O5
Expérimentations
(MOLBA(2.5))
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.
stratégie : collaborer ou non; obj. global : min makespan
Prix de la stabilité : meilleur équilibre de Nash/solution opt.
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.
Téléchargement