Multidimensional Scheduling (Polytope Scheduling Problem) Competitive Algorithms from Competitive Equilibria Sungjin Im University of California, Merced (UC Merced) Janardhan Kulkarni (MSR) Kamesh Munagala (Duke)
Competitive Algorithms from Competitive Equilibria
Competitive for Datacenter Online Scheduling Algorithms from Competitive Equilibria
Speed Competitive for Datacenter Online Scheduling Algorithms Competitive Equilibria
Speed Competitive for Datacenter Online Scheduling Algorithms Fairness Competitive in Economics Equilibria
Speed Competitive for Datacenter Online Scheduling Algorithms Fairness Competitive in Economics Equilibria
Outline Multidimensional Scheduling (Polytope Scheduling Problem) System Desiderata Fairness Job latency: total completion time and total flow/response time Our Results Conclusions
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
An Example Gh Ghodsi, , Za Zaharia ia, , Hi Hindm dman, , Ko Kondwinski, , Sh Shenker, , St Stoic oica. N . 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 r 1 = (1,4) and size 6 Needs resources x 1 r 1 to get processing rate x 1 User 2 runs a job that needs r 2 = (3,1) and size 6 If User 1 gets rate x 1 and User 2 gets rate x 2 then: x 1 + 3 x 2 ≤ 9 4 x 1 + x 2 ≤ 18
For simplicity… Normalize supply to equalize all dimensions Supply = (9,18) Normalized Supply S = (18,18) User 1 runs a job that needs r 1 = (2 , 4) and size 6 User 2 runs a job that needs r 2 = (6, 1) and size 6 If User 1 gets rate x 1 and User 2 gets rate x 2 then: 2 x 1 + 6 x 2 ≤ 18 4 x 1 + x 2 ≤ 18 If x 1 =3 and x 2 = 2, then the two jobs complete in 6/3 and 6/2 time steps, respectively.
Multidimensional Scheduling n jobs D dimensions/resources (1, 1, 1, …, 1) Each job j has demand vector (r j1 , r j2 , r j3 , …, r jD ) size/processing requirement p j Arrives at time a j online Feasible Schedule at time t Σ j r jd x j (t) ≤ 1 for all d = 1, 2, …, D, Then, each job j gets processed at a rate of x j (t) at time t
Extension to Polytope Constraints n jobs in system Each job j needs to be assigned a processing rate x j (t) Set { x j (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, …
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: 1 water-filling 1 1/6 2/3
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: 1 water-filling 1 1/6 2/3
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: 1 water-filling 1 1/6 2/3
Desiderata 1: Fair Allocations [Ghodsi et al. NSDI 2012] 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
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
Dominant Resource Fairness (DRF) CPU Memory Recall r 1 = (2, 4) and r 2 = (6, 1) S = (18,18) for CPU and RAM Dominant resource: RAM for User 1 and CPU for User 2 Equalize dominant shares: 4 x 1 = 6 x 2 Yields x 1 = 3 and x 2 = 2
Proportional Fairness (PF or CEEI) X Maximize under the resource constraints log x j j Each job has $1 money If resource i is priced at p i then job j will maximize x j by solving: Price paid = x j × p · r j = $1 Find prices for resources to clear the market Recall r 1 = (2, 4) and r 2 = (6, 1) S = (18,18) for CPU and RAM Set x 1 = 4.09 and x 2 = 1.64
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
Desiderata 2: Job Latency Completion time C j of job j satisfies: Z C j x jt ≥ p j t = a j Total rate allocated X Completion time objective: w j C j Minimize j Flow time (or Delay): X Minimize w j ( C j − a j ) j
Competitive Ratio c –competitive Cost ( A online , I ) Cost ( OPT offline , I ) ≤ c max I For all inputs I
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! … 1 2 3 4 D √ D jobs 1 job For all j a j = 0 1 job p j = 1 w j = 1 1 job Resources in unit supply
DRF Allocation … 1 2 3 4 D √ √ x = 1 / D D jobs √ x = 1 / D 1 job √ x = 1 / D 1 job √ Completion Time of DRF = O ( D D ) OPT schedules singleton jobs in parallel in one step, Then the “heavy jobs” sequentially OPT = O ( D )
What does PF do? … 1 2 3 4 D 1 ≈ 1 √ D jobs x = √ √ D D (1 + D ) √ 1 job D x = ≈ 1 √ D 1 + 1 job Completion Time of PF ≈ O ( D ) = OPT
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: Allocate rates { x jt } s.t. { x jt } ∈ Packing polytope P - Packing polytope: Convex; if x is in P , and any y ≤ x is also in P .
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
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)?
Recommend
More recommend