Date post: | 16-Dec-2015 |
Category: |
Documents |
Upload: | clifton-joseph |
View: | 216 times |
Download: | 0 times |
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