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 M2 M1 M2 Objectif : minimiser le makespan (la plus grande date de fin) MAO - 25/01/2007 2 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 MAO - 25/01/2007 3 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 MAO - 25/01/2007 4 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 MAO - 25/01/2007 li 5 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. MAO - 25/01/2007 6 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. MAO - 25/01/2007 7 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] MAO - 25/01/2007 8 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 MAO - 25/01/2007 9 Modèles d’exécution Modèle fort 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. bi = 3 MAO - 25/01/2007 li = 2 10 Bornes pour un système centralisé Déterministe LB Fort UB 2-1/m * Randomisé LB UB 2-(5/3+1/(3m))/(m+1) ** Souple * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006] MAO - 25/01/2007 11 Bornes pour un système centralisé Déterministe Fort LB UB ? 2-1/m * Randomisé LB UB 2-(5/3+1/(3m))/(m+1) ** Souple * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006] MAO - 25/01/2007 12 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 M1 1 1 M2 1 1 M3 1 1 MAO - 25/01/2007 1 Au moins une tâche t se termine à la date m. 13 Modèle fort, algorithme déterministe, borne inférieure (2/2) la tâche t déclare 1 : 1 1 1 1 1 1 1 fin(t) ≥ 3 La tâche t a intérêt à déclarer m plutôt que 1 : Ordonnancement optimal 3 3 1 1 1 1 1 1 OPT = 3 MAO - 25/01/2007 Ordonnancement (2-1/m-ε)-approché Makespan < (2-1/m) OPT = 5 début(t) < 2, fin(t) < 3 14 Bornes pour un système centralisé Déterministe Fort Randomisé LB UB LB UB 2–1/m 2-1/m * 3/2-1/(2m) 2-(5/3+1/(3m))/(m+1) ** Souple * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006] MAO - 25/01/2007 15 Bornes pour un système centralisé Déterministe Fort Souple Randomisé LB UB LB UB 2–1/m 2-1/m * 3/2-1/(2m) 2-(5/3+1/(3m))/(m+1) ** ? * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006] MAO - 25/01/2007 16 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 MAO - 25/01/2007 17 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é. MAO - 25/01/2007 18 Bornes pour un système centralisé Déterministe Fort Souple Randomisé LB UB LB UB 2–1/m 2-1/m * 3/2-1/(2m) 2-(5/3+1/(3m))/(m+1) ** m=2: ρ≥1.1 m≥3: 7/6 4/3-1/(3m) * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006] MAO - 25/01/2007 19 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 M2 10 M3 9 MAO - 25/01/2007 9 3 2 5 4 3 20 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) ij 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) MAO - 25/01/2007 21 Bornes pour un système centralisé Déterministe Fort Souple Randomisé LB UB LB UB 2–1/m 2-1/m * 3/2-1/(2m) 2-(5/3+1/(3m))/(m+1) ** 4/3-1/(3m) 1 1 m=2: ρ≥1.1 m≥3: 7/6 * [Christodoulou, Nanavati, Koutsoupias, ICALP 2004] ** [Angel, Bampis, Pascual, TCS 2006] MAO - 25/01/2007 22 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] MAO - 25/01/2007 23 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. MAO - 25/01/2007 24 Bornes pour un système distribué Déterministe Fort Souple MAO - 25/01/2007 Randomisé LB UB LB UB 2–1/m 2-1/m 3/2-1/(2m) 2-1/m ? 2-1/m 2-1/m 25 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 MAO - 25/01/2007 26 Bornes pour un système distribué Déterministe Fort Souple LB UB LB UB 2–1/m 2-1/m 3/2-1/(2m) 2-1/m 2-1/m 1+(√13-3)/4>1.15 2-1/m (1+√17)/4 > 1.28 MAO - 25/01/2007 Randomisé 27 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 MAO - 25/01/2007 28 MAO - 25/01/2007 29 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 MAO - 25/01/2007 30 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 MAO - 25/01/2007 31 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} MAO - 25/01/2007 32 Modèle souple, algorithme déterministe, borne inférieure MAO - 25/01/2007 (2) 33 Modèle souple, algorithme déterministe, borne inférieure MAO - 25/01/2007 (3) 34 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 MAO - 25/01/2007 35