Upload
clifton-joseph
View
218
Download
0
Embed Size (px)
Citation preview
Truthful Algorithms for Scheduling Selfish Tasks on
Parallel Machines
Eric Angel, Evripidis Bampis, Fanny Pascual
LaMI, University of Evry, France
WINE 2005
OutlineIntroduction
Truthful algorithm
Truthful coordination mechanism
Conclusion
IntroductionAim: 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)
2
13
1 21 3
time0 1 2 3
n tasksm machines
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]
Introduction• 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:
.
1 2 3
Model 1: C1 = 1Model 2: C1 = 2.5
time
31 2
0 1 2 3 4 5
1
SPT: 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 ?
1
2
3
LPT• 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:
1 2 3
Task 1 has incentive to bid 2.5, and LPT is not truthful.
C1 = 332 1
C1 = 1
time
31 2
0 1 2 3 4 5time0 1 2 3 4 5
1
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.
Outline Introduction
Truthful algorithmSPT-LPT is not truthfulAlgorithm: SPTA truthful algorithm: SPT-LPT
Truthful coordination mechanism
Conclusion
SPT-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
12
3 32 1SPT : LPT :
C1 = p + 3(1-p) = 3 - 2p
12 3SPT :
LPT : 31 2
C1 = 1 1 1
Algorithm SPT• 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)
0 1 2 3 4 5 6 7 8 9 10 11 12
1
2
3
5
6
7
8
9
4
Algorithm SPT• 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-3idle_end(i) = li+1 – 2/3 li + idle_end(i+1)
j<i
0 1 2 3 4 5 6 7 8 9 10 11 12
1
2
3
5
6
7
8
9
4
Algorithm SPT• Thm: SPT is (2-1/m)-approximate.• Idea of the proof: (m=3)
0 1 2 3 4 5 6 7 8 9 10 11 12
1
2
3
5
6
7
8
9
4
Cmax = (∑(idle times) + ∑(li)) / m ∑(idle times) ≤ (m-1) ln and ln ≤ OPT Cmax ≤ ( 2 – 1/m ) OPT
Cmax
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.
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 <
Outline Introduction
Truthful algorithm
Truthful coordination mechanism (m=2) Coordination mechanism: definition A truthful coordination mechanism
Conclusion
Coordination 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
1 2
3
MSPT
MLPT
Denoted by Mixt
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.
• 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.
A truthful coordination mechanism
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
C2C
M2
M1 C
C2……
xC/2 tasks
C C C C2
C2……
x/2 tasks
Policy of M2 = SPT
C2
C
M2
M1 C C
C2 C2
CC
…… C
x C tasks
x tasks
Policy of M2 = LPT
C3
C3
Ci increases of: spt = C3 - C + (x/2)C2 Ci decreases of: mixt =xC2 + C - C3
Overall change = p spt - (1-p) mixt
Conclusion
• Conclusion:– A truthful centralized algorithm.– A truthful coordination mechanism
under certain conditions.
• Future work:– Better truthful coordination mechanisms– Case of uniform machines