350 likes | 519 Views
Performance des algorithmes à véracité garantie pour l'ordonnancement de tâches individualistes . F. Pascual - LIG En collaboration avec : G. Christodoulou, L. Gourvès, E. Koutsoupias E. Angel, E. Bampis, A. Tchetgnia. Ordonnancement P||C max. m machines identiques n tâches
E N D
Performance des algorithmes à véracité garantie pour l'ordonnancement de tâches individualistes F. Pascual - LIG En collaboration avec : G. Christodoulou, L. Gourvès, E. Koutsoupias E. Angel, E. Bampis, A. Tchetgnia
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 • SPT (Shortest Processing Time first) • 2-1/m approché • LPT (Largest Processing Time first) • 4/3-1/(3m) approché • Schéma d’approximation
Ordonnancement de tâches individualistes • Chaque tâche i est contrôlée 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
bi 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 bireprésentant sa longueur. • Hyp : bi ≥ li(exécution incomplète si bi<li) 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]
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 • Pas de paiements
bi = 3 li = 2 Modèles d’exécution • Modèle fort • Une tâche i ayant déclaré biobtiendra son résultatliunités de temps après le début de son exécution. • Modèle souple • Une tâche i ayant déclaré biobtiendra son résultatbiunités de temps après le début de son exécution.
Bornes pour un système centralisé * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006]
Bornes pour un système centralisé * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006]
M1 1 1 1 M2 1 1 M3 1 1 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 Au moins une tâche t se termine à la date m.
1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 Modèle fort, algorithme déterministe, borne inférieure (2/2) • la tâche t déclare 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é Makespan <(2-1/m) OPT = 5 OPT = 3 début(t) < 2, fin(t) < 3
Bornes pour un système centralisé * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006]
Bornes pour un système centralisé * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006]
Un algorithme déterministe pour le modèle souple • Idée : bénéficier de l’avantage de LPT (son rapport d’approx) mais pas de son inconvénient (les tâches mentent pour être exécutées en premier) • Construire un ordonnancement LPT puis l’exécuter en sens opposé, i.e. du makespan (Cmax) à la date 0
LPT mirror Toute tâche t se commençant en d(t) dans LPT se termine à la date Cmax - d(t) dans LPT mirror. Si t déclare une valeur plus grande que sa longueur réelle alors Cmax ne peut qu’augmenter tandis que d(t) ne peut que diminuer. LPT mirror est à véracité garantie et 4/3 – 1/(3m) approché.
Bornes pour un système centralisé * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006]
Block : un algorithme randomisé pour le modèle souple • Ordonnancer les tâches de façon optimale. Makespan = OPT; Sommes des longueurs sur Mi = Li. • Ajouter une tâche fictive de longueur OPT-Li sur Mi. • Sur chaque machine, ordonnancer les tâches dans un ordre aléatoire. M1 9 9 10 3 5 M2 9 2 4 3 M3
Block : un algorithme randomisé pour le modèle souple • Lemme : Soit un ensemble de tâches à ordonnancer selon un ordre aléatoire. E[ fin de i ] = li + ½ (lj)= ½ ((lj) + li) • Block est à véracité garantie. -i déclare li : Makespan= OPTli. E[ fin de i ] = ½ (OPTli + li) - i déclare bi>li : Makespan= OPTbi ≥OPTli. E[ fin de i ] = ½ (OPTbi + bi) i j
Bornes pour un système centralisé * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006]
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) • Chaque machine j a un algorithme local d’ordonnancement. Cet algorithme ne dépend que des tâches ayant choisi j : mécanisme de coordination [Christodoulou et al. ICALP’04]
Prix de l’anarchie • Équilibre de Nash : Situation dans laquelle aucune tâche ne peut se terminer plus tôt en changeant unilatéralement de stratégie. • Prix de l’Anarchie = max {MakÉq. Nash / MakOPT} Objectif : borner le prix de l’anarchie pour les mécanismes de coordination à véracité garantie.
Modèle souple, mécanisme de coordination déterministe, borne inf M1 M1 M2 M2 M1 M1 M2 M2 ρ < (2+ε)/2 et ρ≥ 2/(1+ε) →ρ≥(1+√17)/4 > 1.28
Perspectives • Réduire les écarts entre bornes sup et inf • Mécanismes de coordination avec véracité garantie • Agents contrôlant plusieurs tâches • Machines avec vitesses
Modèle fort, algorithme randomisé, borne inférieure Hyp : Existence d’un algorithme à véracité garantie, randomisé et de rapport d’approximation 3/2 - 1/(2m) - ε • m machines identiques • xm(m-1)+m tâches de longueur 1 (x entier) Existence d’une tâche t telle que : E[C(t)] ≥(x(m-1))/2 + 1
Modèle fort, algorithme randomisé, borne inférieure • Si x>1/(2εm)-1/(2εm²)-1/m alors la tâche t peut déclarer xm+1 plutôt que 1 et diminuer l’espérance de sa date de fin E[C(t)] + xm = E[C’(t)] ≤ (3/2 - 1/2m - ε)OPT’ E[C(t)] + xm ≤ (3/2 - 1/2m - ε)(xm + 1) E[C(t)] < (x(m-1))/2 + 1
Modèle souple, algorithme déterministe, borne inférieure (1) • Hyp : algorithme à véracité garantie de rapport d’approximation 11/10 – ε • 2 machines et 5 tâches de longueurs {5,4,3,3,3}
Modèle souple, algorithme déterministe, borne inférieure (2)
Modèle souple, algorithme déterministe, borne inférieure (3)
Modèle fort, algorithme déterministe, borne inférieure C(t) + m - 1 = C’(t) ≤ (2-1/m-ε)OPT’ C(t) + m – 1 ≤ 2m – 1 - εm C(t) ≤ (1-ε)m < m