Mechanism design for
aggregating energy consumption and quality of service in speed
scaling scheduling.
Christoph Dürr
Óscar Carlos Vásquez Pérez Łukasz Jeż
Saint Étienne — nov 2016
Get these slides at goo.gl/6RKuo3
Informal Setting
• There are n players, each has a job to submit on a server
• The player want their job to complete early
• The server wants to consume few energy
• How to charge the players so they adapt a good behavior?
🔌 ⌛
bill
€bill
€bill
€
2
Execution model
• Every job has a workload wj
• The machine can vary its speed
[speed scaling model introduced in 2005 by Irani, Pruhs]
• Power consumption is
∫speed(t)αdt for some physical constant 2≤α≤3
• Machine has to decide on
• speed
• schedule
• charging the players (bill bj)
area
=wj
speed
time
0 C
jcompletion time
3
2 games studied
Deadline Game
• player=job
• has private penalty factor pj
• he announces deadline dj — job cannot be scheduled after
• machine produces minimum energy schedule respecting deadlines [easy]
• his goal is to minimize pjdj+bj
Penalty Game
• player=job
• he announces a penalty factor pj
• his job will complete at time Cj
• machine produces schedule minimizing energy plus weighted total completion times [hard?]
• his goal is to minimize pjCj+bj
4
[D.Jeż,Vásquez,DAM’2015] [D.Jeż,Vásquez,WINE’2013]
Deadline game
• Energy optimal schedule can be easily computed: Sort
deadlines. Find highest density prefix: dj with Σwi/dj maximal
over i with di≤dj. Schedule those jobs, and repeat.
• How to charge the consumed energy?
• We want pure Nash equilibria to exist
• We want the total charges to cover the power consumption
bill
€bill
€bill
€
🔌 ⌛
speed
time
0 d
jdensity
5
Deadline game
Proportional cost sharing
• charge every player the exact amount of energy used to
schedule the job
• does not guarantee pure Nash equilibria [not a surprise]
• example: 2 players, p1=p2=w1=w2=1
• best response diagram: no fix point 1
2
speed
d
20 d
16
Deadline game
Marginal cost sharing
• E[S] := minimum energy needed to schedule player set S
• Charge player j the difference E[N]-E[N\{j}] — N=all players
• Game is an exact potential game, it is truthful
• Convergence can take forever (continuous strategy space)
• Total charge is at most α・E[N]
1 2
4 3
speed
d
30 d
1d
2d
41 4 3
speed
d
30 d
1d
4E[N]
E[N\{2}]
7
Penalty game
• Player announces penalty pj
• Machine computes some schedule
• his job will complete at Cj
• he will be charged bj := the marginal cost
• he wants to minimize pjCj+bj
• machine should minimize social cost := energy + total weighted completion time
Seems to be a hard scheduling problem
• Say job j has rank πj
and length lj
in the schedule
• Energy consumption is
• total weighted completion time is
• goal: find l,π that minimize E[l,w]
+F[π,l,p]
E[`, w] :=
Xn
j=1
wj↵`1j ↵
F[⇡,`, p] :=
Xn
j=1
pj
Cj
z }| {X
i:⇡i⇡j
`i π1 π2
length
Penalty game
Hard scheduling problem
• For fixed job order π, computing the optimal lengths l is easy
• Minimize E[l,w]+F[π,l,p] reduces to a classical scheduling problem:
• machine can run only at unit speed
• job j has processing time pj and penalty weight wj
(notice the inversion)
• goal is to minimize
• Open: is it NP-hard ?
• PTAS has is known
• dominance prop. are known
[Megow,Verschae,ICALP’2013]
Xn
j=1
wjCj1 1/↵
0 C
jtime
completion time
pj
√ C
j[Bansal,D,Nguyễn,Vásquez,Journal of Scheduling 2016]
The reduction
• For fixed order π, say π(i)=i
• Second order analysis shows l minimizing E[l,w]+F[π,l,p] is
• plugging it into E[l,w]+F[π,l,p]
leads after transformation to
the total weighted completion time of a schedule in inverse π order
`j = wj · ↵ 1 Pn
k=j pk
!1/↵ 2
3 4
speed
0 time
↵(↵ 1)
1 1/↵X
n j=1w
j0
@
X
n k=jp
k1 A
1 1/↵
1
[Megow,Verschae,ICALP’2013]
2
The reduction
• For fixed order π, say π(i)=i
• Second order analysis shows l minimizing E[l,w]+F[π,l,p] is
• plugging it into E[l,w]+F[π,l,p]
leads after transformation to
the total weighted completion time of a schedule in inverse π order
`j = wj · ↵ 1 Pn
k=j pk
!1/↵
1
3
4
↵(↵ 1)
1 1/↵X
n j=1w
j0
@
X
n k=jp
k1 A
1 1/↵
time
completion time
1-1/αconstant
completion time
0
Penalty game
Mechanism design
• Mechanism fixes some order π on the jobs
• optimal order is hard to compute
• if order is independent from job strategies then game has good properties
• Machine executes optimal schedule for this order π
• Machine charges marginal cost
Properties
• Game is truthful (players announce real penalty pj)
• Total charge is at most α+1 times consumed energy
Future directions
• Machine could organize an auction on the rank π
Scheduling problem
• Given n jobs with processing times pj and priority weights wj
• Find order π that minimizes ΣwjCjβ for some β>0
Easy variant β=1
• It is optimal order jobs in decreasing Smith-ratio wj/pj
• Proof is by exchange argument:
• exchange improved objective if and only if
i j
i j
wi(t + pi) + wj(t + pi + pj) wj(t + pj) + wi(t + pi + pj) wjpi wipj
wj/pj wi/pi
t
Scheduling problem
For general β
• Whether the exchange of the adjacent jobs j,i improves the objective value depends on
• wj,pj,wi,pi
• … and t
Question
• [local rule] Under which condition on wj,pj,wi,pi do we know that j followed immediately by i is not optimal (for all t)
• [global rule] Under which condition do we know that j scheduled somewhere
before i is not optimal
i j
i j
t
this implication is trivial
what do we know on the other direction? hard
easy
Results
4 Nikhil Bansal et al.
0 < < 1 > 1 = 2
our contributionsbefore
pi pj
wi
wj
β=2
(c)
(b) (d) (e)
j ≺g i
j ≺l i
i ≺g j i ≺l j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
pi pj
wi
wj
j ≺g i j ≺l i
0<β<1
(c) (b)
j ≺l i
i ≺l j
i ≺l j i ≺g j
pi pj
wi
wj
i ≺l j
(a) (b) (c)
j ≺g i
i ≺g j j ≺l i
pi pj
wi
wj
β>1
(c)
(b)
i ≺l j j ≺g i j ≺l i
j ≺l i
i ≺l j i ≺g j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
our contributionsbefore
pi pj
wi
wj
β=2
(c)
(b) (d) (e)
j ≺g i
j ≺l i
i ≺g j i ≺l j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
pi pj
wi
wj
j ≺g i j ≺l i
0<β<1
(c) (b)
j ≺l i
i ≺l j
i ≺l j i ≺g j
pi pj
wi
wj
i ≺l j
(a) (b) (c)
j ≺g i
i ≺g j j ≺l i
pi pj
wi
wj
β>1
(c)
(b)
i ≺l j j ≺g i j ≺l i
j ≺l i
i ≺l j i ≺g j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
our contributionsbefore
pi pj
wi
wj
β=2
(c)
(b) (d) (e)
j ≺g i
j ≺l i
i ≺g j i ≺l j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
pi pj
wi
wj
j ≺g i j ≺l i
0<β<1
(c) (b)
j ≺l i
i ≺l j
i ≺l j i ≺g j
pi pj
wi
wj
i ≺l j
(a) (b) (c)
j ≺g i
i ≺g j j ≺l i
pi pj
wi
wj
β>1
(c)
(b)
i ≺l j j ≺g i j ≺l i
j ≺l i
i ≺l j i ≺g j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
our contributionsbefore
pi pj
wi
wj
β=2
(c)
(b) (d) (e)
j ≺g i
j ≺l i
i ≺g j i ≺l j
pi pj
wi
wj
j ≺g i j ≺l i
0<β<1
(c) (b)
j ≺l i
i ≺l j
i ≺l j i ≺g j
pi pj
wi
wj
β>1
(c)
(b)
i ≺l j j ≺g i j ≺l i
j ≺l i
i ≺l j i ≺g j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
pi pj
wi
wj
i ≺l j
(a) (b) (c)
j ≺g i
i ≺g j j ≺l i
Thm1 Thm1 Thm1
Thm1
Thm2
Thm3 Thm2
Thm3
our contributionsbefore
pi pj
wi
wj
β=2
(c)
(b) (d) (e)
j ≺g i
j ≺l i
i ≺g j i ≺l j
pi pj
wi
wj
j ≺g i j ≺l i
0<β<1
(c) (b)
j ≺l i
i ≺l j
i ≺l j i ≺g j
pi pj
wi
wj
β>1
(c)
(b)
i ≺l j j ≺g i j ≺l i
j ≺l i
i ≺l j i ≺g j
pi pj
wi
wj
(c)
j ≺g i (b)
i ≺g j
pi pj
wi
wj
i ≺l j
(a) (b) (c)
j ≺g i
i ≺g j j ≺l i
Thm1 Thm1 Thm1
Thm1
Thm2
Thm3 Thm2
Thm3
(a) wj = wi(pj/pi)2 (b) wj = wi(pi+pj) pi
(pi+pj) pj
(c) wj = wipj/pi (d) wj = wipj/2pi (e) wj = 2wipj/pi
Fig. 1: Illustration of our contribution (bottom row) compared to previous results (top row), using a similar representation as in [9]. Every point in the diagram represents a job j with respect to some fixed job i. The space is divided into regions where i ` j holds or j ` i or none. These regions contain subregions where we know that the stronger condition g holds. The boundaries are defined by functions which are named from (a) to (e). The last 2 diagrams also indicate the related theorems.
1. f(x) 0 for x 0.
2. f is convex and non-decreasing, i.e. f0, f00 0.
3. f0 is log-concave (i.e. log(f0) is concave), which im- plies that f00/f0 is non-increasing. Intuitively this means that f does not increase much faster than ex.
4. For every b > 0, the function gb(x) = f(b + ex) f(b) is log-convex in x. Intuitively this means that f(b + ex) f(b) increases faster than ecx for some c > 0. Formally this means
yf0(b +y)/ f(b + y) f(b) (1)
is increasing in y.
The proof is based on standard functional analysis and is omitted.
Lemma 3 For a < b, the fraction f0(b) f0(a)
f(b) f(a)
– is decreasing in a and decreasing in b for any > 1 – and is increasing in a and increasing in b for any
0 < < 1.
Proof First we consider the case > 1. We can write f0(b) f0(a) = Rb
a f00(x)dx andf(b) f(a) = Rb
a f0(x)dx.
Note that f00 and f0 are non-negative. By > 1 and Lemma 2f0 is log-concave, which means thatf00(x)/f0(x) is non-increasing in x. This implies
Z b
a
f00(b)
f0(b) f0(x)dx Z b
a
f00(x)
f0(x) f0(x)dx
Z b
a
f00(a)
f0(a) f0(x)dx
Hence Rb
a f00(b)dx Rb
a f0(b)dx R b
a f00(x)dx Rb
a f0(x)dx R b
a f00(a)dx R b
a f0(a)dx .
For positive values u1, u2, u3, v1, v2, v3 with u1/v1 u2/v2 u3/v3 we have
u1 + u2
v1 + v2 u2
v2 u2 + u3 v2 + v3
.
was known our r esults
[Höhn,Jacobs,2012] [Sen,Dileepan,Ruparel,1990] [Mondal,Sen,2000][Bansal,D,Nguyễn,Vásquez, Journal of Scheduling 2016]
Summary
• Speed scaling model: non linear cost
• Find compromise quality of service versus energy
consumption
• Use marginal cost sharing
• Two games studied
• Optimize social cost is interesting scheduling problem
• Some dominance properties are known
Thank you for executing my
job
You are welcome.
Especially since you paid for it.