Ordonnancement en présence d’agents individualistes Réunion DMDC, 11 juin 2008
Ordonnancement P||Cmax m machines identiques n tâches toute tâche i a une longueur li M1 M1 M2 M2 Objectif : minimiser le makespan (la plus grande date de fin)
Algorithmes d’approximation Algorithme -approché: retourne un ordonnancement dont le makespan est au plus fois le makespan optimal. SPT (Shortest Processing Time first) 2-1/m approché LPT (Largest Processing Time first) 4/3-1/(3m) approché Exemple: tâches de longueur 1, 2, 2, 3, 4 M1 1 2 4 M2 2 3
Plan Optimisation combinatoire en présence d’agents individualistes. Problèmes de stabilité (les agents ont un certain degré de liberté) Exemple dans des systèmes distribués Exemple dans un système centralisé Problèmes de véracité des informations (les agents ont des caractéristiques privées)
Performance des systèmes distribués Chaque machine j a un algorithme local d’ordonnancement. Cet algorithme ne dépend que des tâches que j ordonnance : mécanisme de coordination [Christodoulou et al. ICALP’04] Exemple: 2 machines, Machine 1 : ordonnance les tâches selon l’ordre SPT, Machine 2 : ordonnance les tâches selon l’ordre LPT
Performance des systèmes distribués Les tâches décident sur quelle machine elles vont être exécutées: la stratégie de la tâche i est mi . Équilibre de Nash : Situation dans laquelle aucune tâche ne peut se terminer plus tôt en changeant unilatéralement de stratégie. Exemple: Politique(M1)=SPT, Politique(M2)=LPT 1 M1 M2 2 4 3
Prix de l’anarchie Prix de l’Anarchie = max {MakÉq. Nash / MakOPT} Exemple (Politique(M1)=SPT, Politique M2=LPT): Prix de l’anarchie = 4/3 Objectif : trouver un mécanisme de coordination ayant le plus petit prix de l’anarchie possible. [Christodoulou et al. ICALP’04]
Plan Optimisation combinatoire en présence d’agents individualistes. Problèmes de stabilité (les agents ont un certain degré de liberté) Exemple dans des systèmes distribués Exemple dans un système centralisé Problèmes de véracité des informations (les agents ont des caractéristiques privées)
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 parallèles. Durée d’exécution pi Tâche i #de machines nécessaires qi
Les utilisateurs soumettent les tâches à leur organisation. … O1 … … O3 … O2 … …
Les organisations peuvent coopérer … O1 … … O3 … O2 Temps transfert negligeable, pas de co-scheduling … …
Présentation du problème Ordonnancements locaux : Cmax(O3) 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.
Présentation du problème 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é. => Problème NP-difficile; algorithmes approchés et expérimentations.
Plan Optimisation combinatoire en présence d’agents individualistes. Problèmes de stabilité (les agents ont un certain degré de liberté) Exemple dans des systèmes distribués Exemple dans un système centralisé Problèmes de véracité des informations (les agents ont des caractéristiques privées)
Optimisation en présence de caractéristiques privées. Chaque tâche i est détenue par un agent qui seul connaît li (tâche ≡ agent) Les tâches communiquent leur longueur à un protocole qui doit les ordonnancer de sorte à minimiser le makespan
Stratégies des agents L’algorithme d’ordonnancement est connu. Le but de chaque tâche est de minimiser sa date de fin d’exécution. Chaque tâche i déclare une valeur bi représentant sa longueur. Hyp : bi ≥ li (exécution incomplète si bi<li) bi li
Un exemple Le protocole utilise l’algorithme LPT 3 tâches de longueurs {2,1,1}, 2 machines La tâche rouge a intérêt à mentir sur sa longueur afin de minimiser sa date de fin d’exécution.
Algorithmes à véracité garantie Algorithme à véracité garantie : algorithme avec lequel les tâches ne peuvent pas diminuer leur date de fin en mentant sur leur longueur.
Retour sur l’exemple Le protocole utilise l’algorithme SPT C’est un algorithme déterministe, à véracité garantie et 2-1/m approché. [Christodoulou et al. ICALP’04] Existe–t’il un algorithme avec véracité garantie avec un meilleur rapport d’approximation ?
Objectif Borner la performance d’un protocole (algorithme) à véracité garantie dans divers contextes Déterministe ou randomisé Modèle d’exécution fort ou souple
Modèles d’exécution Modèle fort Modèle souple Une tâche i ayant déclaré bi obtiendra son résultat li unités de temps après le début de son exécution. Modèle souple Une tâche i ayant déclaré bi obtiendra son résultat bi unités de temps après le début de son exécution. li = 2 bi = 3
Bornes pour un système centralisé Déterministe Randomisé inf. sup. Fort 2-1/m Souple ?
Modèle fort, algorithme déterministe, borne inférieure (1/2) Hyp : Algorithme déterministe et de rapport d’approximation < 2-1/m . m machines m(m-1)+1 tâches de longueur 1 1 M1 M2 M3 Au moins une tâche t se termine à la date m.
Modèle fort, algorithme déterministe, borne inférieure (2/2) la tâche t déclare 1 : 1 fin(t) ≥ 3 La tâche t a intérêt à déclarer m plutôt que 1 : Ordonnancement optimal Ordonnancement (2-1/m-ε)-approché 3 3 1 Makespan < (2-1/m) OPT = 5 OPT = 3 début(t) < 2, fin(t) < 3
Bornes pour un système centralisé Déterministe Randomisé inf. sup. Fort 2–1/m (si m=2: 1,5) 2-1/m (si m=2: 1,5) 3/2-1/(2m) (si m=2: 1,25) 2-(5/3+1/(3m))/(m+1) (si m=2: 1,39) Souple m=2: ρ≥1.1 m≥3: 7/6 4/3-1/(3m) (si m=2: 1,16) 1
Bornes pour un système centralisé Déterministe Randomisé inf. sup. Fort 2–1/m (si m=2: 1,5) 2-1/m (si m=2: 1,5) 3/2-1/(2m) (si m=2: 1,25) 2-(5/3+1/(3m))/(m+1) (si m=2: 1,39) Souple 7/6 (si m=2: 1,16) 4/3-1/(3m) (si m=2: 1,16) 1
Système distribué Les tâches décident sur quelle machine elles vont être exécutées. La stratégie de la tâche i est (bi,mi) Mécanismes de coordination (chaque machine j a un algorithme local d’ordonnancement) Objectif : borner le prix de l’anarchie pour les mécanismes de coordination à véracité garantie.
Bornes pour un système distribué Déterministe Randomisé inf. sup. Fort 2–1/m 2-1/m 3/2-1/(2m) Souple (1+√17)/4 > 1.28 1+(√13-3)/4>1.15
Conclusion Problèmes d’ordonnancement avec agents individualistes. Stabilité des solutions : concevoir des protocoles retournant des solutions stables et de bonne qualité. Informations privées : guarantir la véracité des informations avec des algorithmes à véracité garantie.