SLIDE 1 Sungjin Im
University of California, Merced (UC Merced)
Janardhan Kulkarni (MSR) Kamesh Munagala (Duke)
Multidimensional Scheduling (Polytope Scheduling Problem)
Competitive Algorithms from Competitive Equilibria
SLIDE 2 Competitive Algorithms
from
Competitive Equilibria
SLIDE 3 Competitive Online Scheduling Algorithms
from
Competitive Equilibria for Datacenter
SLIDE 4
Competitive Online Scheduling Algorithms Competitive Equilibria for Datacenter Speed
SLIDE 5
Competitive Online Scheduling Algorithms Competitive Equilibria for Datacenter in Economics Fairness Speed
SLIDE 6
Competitive Online Scheduling Algorithms Competitive Equilibria for Datacenter in Economics Fairness Speed
SLIDE 7
Outline
Multidimensional Scheduling (Polytope Scheduling Problem) System Desiderata
Fairness Job latency: total completion time and total flow/response time
Our Results Conclusions
SLIDE 8
Multidimensional Scheduling
System has many resources
CPU, memory, disk, network, … Each available in limited supply Each user runs a job with a certain resource requirement
At each time instant:
Allocate resources among the users
Rate of processing = Function of resources allocated
Utility of job = Rate of processing
SLIDE 9 An Example
Gh Ghodsi, , Za Zaharia ia, , Hi Hindm dman, , Ko Kondwinski, , Sh Shenker, , St Stoic
. NSDI I 20 2012 12
Two (divisible) resources
9 CPUs; 18GB RAM Denote this as Supply vector, S = (9,18)
User 1 runs a job that needs r1 = (1,4) and size 6
Needs resources x1 r1 to get processing rate x1
User 2 runs a job that needs r2 = (3,1) and size 6 If User 1 gets rate x1 and User 2 gets rate x2 then:
x1 + 3 x2 ≤ 9 4 x1 + x2 ≤ 18
SLIDE 10 For simplicity…
Normalize supply to equalize all dimensions
Supply = (9,18) Normalized Supply S = (18,18)
User 1 runs a job that needs r1 = (2 , 4) and size 6 User 2 runs a job that needs r2 = (6, 1) and size 6 If User 1 gets rate x1 and User 2 gets rate x2 then:
2 x1 + 6 x2 ≤ 18 4 x1 + x2 ≤ 18
If x1 =3 and x2 = 2, then the two jobs complete in 6/3 and 6/2 time
steps, respectively.
SLIDE 11
Multidimensional Scheduling
n jobs D dimensions/resources (1, 1, 1, …, 1) Each job j has
demand vector (rj1, rj2, rj3, …, rjD) size/processing requirement pj Arrives at time ajonline
Feasible Schedule at time t
Σj rjd xj(t) ≤ 1 for all d = 1, 2, …, D,
Then, each job j gets processed at a rate of xj(t) at time t
SLIDE 12 Extension to Polytope Constraints
n jobs in system Each job j needs to be assigned a processing rate xj(t) Set {xj(t)} needs to lie within some feasibility polytope P
Typically, P is a packing (downward-closed) polytope Encodes many well-studied scheduling problems:
Rate is arbitrary concave function of resource allocation
[Edmonds, Pruhs ’02; Zahedi, Lee ‘13]
Unrelated machine scheduling [Chadha, Garg, Kumar, Muralidhara ‘09] Broadcast scheduling, switch scheduling, …
SLIDE 13 Desiderata 1: Fair Allocations
The system is shared by many clients. Fairness really matters. In the single resource/dimensional case, Max-Min Fairness is
widely accepted.
Max-Min Fairness: water-filling 1 1/6 2/3
1
SLIDE 14 Desiderata 1: Fair Allocations
The system is shared by many clients. Fairness really matters. In the single resource/dimensional case, Max-Min Fairness is
widely accepted
Max-Min Fairness: water-filling 1 1/6 2/3
1
SLIDE 15 Desiderata 1: Fair Allocations
The system is shared by many clients. Fairness really matters. In the single resource/dimensional case, Max-Min Fairness is
widely accepted
Max-Min Fairness: water-filling 1 1/6 2/3
1
SLIDE 16 Desiderata 1: Fair Allocations
The notion of fairness is not clear in the multidimensional setting Pareto-optimality (PO)
Cannot improve everyone’s rate simultaneously
Envy-freeness (EF)
Users should not envy the share of other users
Truthfulness (IC)
Users should not misreport resource requirement
Sharing Incentive (SI)
Users should not be happier with 1/n share of all resources
[Ghodsi et al. NSDI 2012]
SLIDE 17
Two Examples of Fair Allocations
Dominant Resource Fairness [Ghodsi et al. NSDI 2012] Proportional Fairness [Nash 1950; Kelly et al. 1998]
There are many other allocations that generalize max-min fairness
SLIDE 18 Dominant Resource Fairness (DRF)
Recall r1 = (2, 4) and r2 = (6, 1)
S = (18,18) for CPU and RAM
Dominant resource:
RAM for User 1 and CPU for User 2
Equalize dominant shares: 4 x1 = 6 x2
Yields x1 = 3 and x2 = 2
CPU Memory
SLIDE 19 Proportional Fairness (PF or CEEI)
Maximize under the resource constraints
Each job has $1 money If resource i is priced at pi then job j will maximize xj by solving: Find prices for resources to clear the market
Recall r1 = (2, 4) and r2 = (6, 1)
S = (18,18) for CPU and RAM
Set x1 = 4.09 and x2 = 1.64
Price paid = xj × p · rj = $1
X
j
log xj
SLIDE 20
Fairness: DRF vs PF
DRF is EF, SI, IC, but not PO
A simple generalization achieves PO [Parkes, Proccacia, Shah, ‘12]
PF is PO, EF, SI but lacks IC
A simple modification achieves IC [Cole, Gnatzelis, Goel, ‘13]
… and approximately satisfies PO
SLIDE 21 Desiderata 2: Job Latency
Completion time Cj of job j satisfies: Completion time objective: Flow time (or Delay):
Z Cj
t=aj
xjt ≥ pj
Minimize X
j
wjCj
Total rate allocated Minimize X
j
wj(Cj − aj)
SLIDE 22
Competitive Ratio
maxI Cost(Aonline, I) Cost(OPToffline, I) ≤ c
c–competitive For all inputs I
SLIDE 23 Job Latency: DRF vs PF
[I-Kulkarni-Munagala, STOC 14, FOCS 15, JACM 18]
DRF is Ω(D.5) competitive for total completion time
Even when all jobs arrive at time 0
DRF does not distinguish between “heavy” and “light” jobs!
Resources in unit supply
1 2 3 4 D …
√ D jobs 1 job 1 job 1 job
For all j aj = 0 pj = 1
wj = 1
SLIDE 24 DRF Allocation
1 2 3 4 D …
√ D jobs 1 job 1 job
x = 1/ √ D x = 1/ √ D x = 1/ √ D OPT schedules singleton jobs in parallel in one step, Then the “heavy jobs” sequentially
OPT = O(D)
Completion Time of DRF = O(D √ D)
SLIDE 25 What does PF do?
1 2 3 4 D …
√ D jobs 1 job 1 job
x = √ D 1 + √ D ≈ 1 x = 1 √ D(1 + √ D) ≈ 1 D
Completion Time of PF ≈ O(D) = OPT
SLIDE 26 Our Main Results
[I-Kulkarni-Munagala, STOC 14, FOCS 15, JACM 18]
PF is O(1) competitive for completion time!
Fair! Non-clairvoyant!
Holds for any scheduling problem that can be modeled as:
- Packing polytope: Convex; if x is in P
, and any y ≤ x is also in P .
Allocate rates {xjt} s.t.{xjt} ∈ Packing polytope P
SLIDE 27
Our Main Results
[I-Kulkarni-Munagala, STOC 14, FOCS 15, JACM 18]
PF is O(1) competitive for total flow time for any
monotone PSP problem (with O(1)-speed augmentation)
Monotone PSP: All present jobs gets less processing rate under
PF when more jobs are added
E.g. single source multi-commodity network routing, utilities
modelling “substitutable” resources
SLIDE 28
Conclusion & Open Question
Fairness could lead to low overall job latency Our lower bound does not rule out O(1)-speed O(1)-competitive
algorithms for general PSP when clairvoyance is allowed.
Can one can get O(1)-competitive algorithm for total flow time
with (1+eps)-speed for monotone PSP?
What is the tight competitive ratio of DRF for total completion
time? Is it O(D.5) or O(D)?