1 / 21

Truthful Algorithms for Scheduling Selfish Tasks on Parallel Machines

WINE 2005. Truthful Algorithms for Scheduling Selfish Tasks on Parallel Machines. Eric Angel, Evripidis Bampis, Fanny Pascual LaMI, University of Evry, France. Outline. Introduction Truthful algorithm Truthful coordination mechanism Conclusion. Introduction. 1. n tasks m machines.

armen
Download Presentation

Truthful Algorithms for Scheduling Selfish Tasks on Parallel Machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WINE 2005 Truthful Algorithms for Scheduling Selfish Tasks on Parallel Machines Eric Angel, Evripidis Bampis, Fanny Pascual LaMI, University of Evry, France

  2. Outline • Introduction • Truthful algorithm • Truthful coordination mechanism • Conclusion

  3. Introduction 1 n tasks m machines 2 2 3 1 1 3 0 1 2 3 time • Aim: To optimize the performances of a network used by selfish agents. • A scheduling problem: • [Koutsoupias, Papadimitriou: STACS’99] • Cj = completion time of task j. (e.g. C3=2)

  4. Introduction • Game theoretic approach: • Task i has a secret real length li. • Each task bids a value bi ≥ li. • Each task knows the values bidded by the other tasks, and the algorithm. • Each task wish to reduce its completion time. • Social cost = maximum completion time (makespan) • Aim : An algorithm truthful and which minimizes the makespan. [Christodoulou, Koutsoupias, Nanavati: ICALP’04]

  5. Introduction 1 2 3 Model 1: C1 = 1 Model 2: C1 = 2.5 3 1 2 1 time 0 1 2 3 5 4 • Each task wish to reduce its completion time (and may lie if necessarily). • 2 models: • Model 1: If i bids bi, its length is li • Model 2: If i bids bi, its length is bi • Example: We have 3 tasks: , , Task 1 bids 2.5 instead of 1: .

  6. SPT: a truthful algorithm 1 3 2 • SPT: Schedules greedily the tasks from the smallest one to the largest one. • Example: • Approx. Ratio = 2 – 1/m [Graham] • Are there better truthful algorithms ?

  7. LPT time 0 1 2 3 5 4 1 2 3 C1 = 3 3 1 2 C1 = 1 3 1 2 1 time 0 1 2 3 5 4 • LPT: Schedules greedily the tasks from the largest one to the smallest one. • Approx. Ratio = 4/3 – 1/(3m) [Graham] • We have 3 tasks: , , Task 1 bids 1: Task 1 bids 2.5: Task 1 has incentive to bid 2.5, and LPT is not truthful.

  8. Introduction • Idea: to combine: • A truthful algorithm • An algorithm not truthful but with a good approx. ratio. • Task: wants to minimizes its expected completion time. • Our Goal: A truthful randomized algorithm with a good approx. ratio.

  9. Outline • Introduction • Truthful algorithm • SPT-LPT is not truthful • Algorithm: SPT • A truthful algorithm: SPT-LPT • Truthful coordination mechanism • Conclusion

  10. SPT-LPT is not truthful 1 3 2 3 1 2 3 1 2 1 2 3 1 1 • Algorithm SPT-LPT: • The tasks bid their values • With a proba. p, returns an SPT schedule. With a proba. (1-p), returns an LPT schedule. • We have 3 tasks : , , • Task 1 bids its true value : 1 • Task 1 bids a false value : 2.5 1 2 3 C1 = p + 3(1-p) = 3 - 2p SPT : LPT : LPT : C1 = 1 SPT :

  11. Algorithm SPT 12 0 1 2 3 4 5 6 7 8 9 11 10 • SPT: Schedules tasks 1,2,…,n s.t. l1< l2< … < ln Task (i+1) starts when 1/m of task i has been executed. • Example: (m=3) 1 4 7 2 8 5 3 6 9

  12. Algorithm SPT 1 4 7 2 5 8 3 6 9 12 0 1 2 3 4 5 6 7 8 9 11 10 • Thm: SPT is (2-1/m)-approximate. • Idea of the proof: (m=3) Idle times : idle_beginning(i) = ∑ (1/3 lj) idle_middle(i) = 1/3 ( li-3 + li-2 + li-1 ) – li-3 idle_end(i) = li+1 – 2/3 li + idle_end(i+1) j<i

  13. 1 4 7 2 5 8 3 6 9 12 0 1 2 3 4 5 6 7 8 9 11 10 Algorithm SPT • Thm: SPT is (2-1/m)-approximate. • Idea of the proof: (m=3) Cmax Cmax = (∑(idle times) + ∑(li)) / m ∑(idle times) ≤ (m-1) ln and ln≤ OPT Cmax ≤ ( 2 – 1/m ) OPT

  14. A truthful algorithm: SPT-LPT • Algorithm SPT-LPT: • With a proba. m/(m+1), returns SPT. • With a proba. 1/(m+1), returns LPT. • The expected approx. ratio of SPT - LPT is smaller than the one of SPT: e.g. for m=2, ratio(SPT-LPT) < 1.39, ratio(SPT)=1.5 • Thm: SPT-LPT is truthful.

  15. A truthful algorithm: SPT-LPT • Thm: SPT-LPT is truthful. • Idea of the proof: • Suppose that task i bids b>li. It is now larger than tasks 1,…, x, smaller than task x+1. • l1 < … < li < li+1 < … < lx < lx+1 < … < ln • LPT: decrease of Ci(lpt) ≤(li+1 + … + lx) • SPT: increase of Ci(spt) = 1/m (li+1 + … + lx) • SPT-LPT: • change = - m/(m+1) Ci(spt) + 1/(m+1) Ci(spt)≥ 0 b <

  16. Outline • Introduction • Truthful algorithm • Truthful coordination mechanism (m=2) • Coordination mechanism: definition • A truthful coordination mechanism • Conclusion

  17. Coordination mechanism 3 1 2 MLPT MSPT • Coordination mechanism [CKN 04]: • Each machine has a local policy to schedule its tasks. This policy should not depend on the other tasks. • Each task chooses on which machine it will be scheduled. • Example : , , 1 2 3 Denoted by Mixt

  18. A truthful coordination mechanism • SM(p): p SPT – (1-p)Mixt • M1 schedules tasks with SPT. • M2 schedules tasks with SPT with a proba. p, and with LPT otherwise. • Expected approx. ratio = 4/3 + p/6.

  19. A truthful coordination mechanism • We consider the 2nd model: if i bids b, its execution time is b. • Thm 1: When p>2/3, SM(p) is truthful if the tasks are powers of C ≥ (4-3p)/(2-p). • Thm 2: When p<1/2, SM(p) is not truthful even if the tasks are powers of any integer C>1.

  20. Policy of M2 = LPT Policy of M2 = SPT x C tasks … … C3 … M1 C C C C C C M1 C C C2 C2 … … … M2 C2 C2 C2 M2 C C C C2 C2 x tasks xC/2 tasks x/2 tasks C3 A truthful coordination mechanism • Thm 2: When p<1/2, SM(p) is not truthful even if the tasks are powers of any integer C>1. • Idea of the proof: Policy of M1 = SPT Ci increases of: spt = C3 - C + (x/2)C2 Ci decreases of: mixt =xC2 + C - C3 Overall change = p spt - (1-p) mixt

  21. Conclusion • Conclusion: • A truthful centralized algorithm. • A truthful coordination mechanism under certain conditions. • Future work: • Better truthful coordination mechanisms • Case of uniform machines

More Related