Title: Truthful Algorithms for Scheduling Selfish Tasks on Parallel Machines
1Truthful Algorithms for Scheduling Selfish Tasks
on Parallel Machines
WINE 2005
- Eric Angel, Evripidis Bampis, Fanny Pascual
- LaMI, University of Evry, France
2Outline
- Introduction
- Truthful algorithm
- Truthful coordination mechanism
- Conclusion
3 Introduction
- Aim To optimize the performances of a network
used by selfish agents. - A scheduling problem
- Koutsoupias, Papadimitriou STACS99
-
- Cj completion time of task j. (e.g. C32)
4Introduction
- 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 ICALP04
5Introduction
- 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
- .
6SPT a truthful algorithm
- 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 ?
7LPT
- 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.
8Introduction
- 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.
9Outline
- Introduction
- Truthful algorithm
- SPT-LPT is not truthful
- Algorithm SPT?
- A truthful algorithm SPT?-LPT
- Truthful coordination mechanism
- Conclusion
10SPT-LPT is not truthful
- 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
11Algorithm SPT?
- SPT?
- Schedules tasks 1,2,,n s.t. l1 lt l2 lt lt ln
- Task (i1) starts when 1/m of task i has been
executed. - Example (m3)
-
1
7
4
2
5
8
3
6
9
12Algorithm SPT?
- Thm SPT? is (2-1/m)-approximate.
- Idea of the proof (m3)
- Idle times
- idle_beginning(i) ? (1/3 lj)
- idle_middle(i) 1/3 ( li-3 li-2 li-1 )
li-3 - idle_end(i) li1 2/3 li idle_end(i1)
jlti
13Algorithm SPT?
- Thm SPT? is (2-1/m)-approximate.
- Idea of the proof (m3)
Cmax
Cmax (?(idle times) ?(li)) / m ?(idle times)
(m-1) ln and ln OPT ? Cmax ( 2 1/m ) OPT
14A truthful algorithm SPT?-LPT
- Algorithm SPT?-LPT
- With a proba. m/(m1), returns SPT?.
- With a proba. 1/(m1), returns LPT.
- The expected approx. ratio of SPT? - LPT is
smaller than the one of SPT e.g. for m2,
ratio(SPT?-LPT) lt 1.39, ratio(SPT)1.5 - Thm SPT?-LPT is truthful.
15A truthful algorithm SPT?-LPT
- Thm SPT?-LPT is truthful.
- Idea of the proof
- Suppose that task i bids bgtli. It is now larger
than tasks 1,, x, smaller than task x1. -
- l1 lt lt li lt li1 lt lt lx lt lx1 lt
lt ln - LPT decrease of Ci(lpt) (li1 lx)
- SPT? increase of Ci(spt?) 1/m (li1 lx)
- SPT?-LPT
- change - m/(m1) Ci(spt?) 1/(m1) Ci(spt?)
0 -
-
b lt
16Outline
- Introduction
- Truthful algorithm
- Truthful coordination mechanism (m2)
- Coordination mechanism definition
- A truthful coordination mechanism
- Conclusion
17Coordination mechanism
- 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
18A 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 pgt2/3, SM(p) is truthful if the tasks
are powers of C (4-3p)/(2-p). - Thm 2 When plt1/2, SM(p) is not truthful even if
the tasks are powers of any integer Cgt1.
20A truthful coordination mechanism
- Thm 2 When plt1/2, SM(p) is not truthful even if
the tasks are powers of any integer Cgt1. - 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
21Conclusion
- Conclusion
- A truthful centralized algorithm.
- A truthful coordination mechanism under certain
conditions. - Future work
- Better truthful coordination mechanisms
- Case of uniform machines