Multidimensional Scheduling (Polytope Scheduling Problem) - - PowerPoint PPT Presentation

multidimensional scheduling polytope scheduling problem
SMART_READER_LITE
LIVE PREVIEW

Multidimensional Scheduling (Polytope Scheduling Problem) - - PowerPoint PPT Presentation

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


slide-1
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
SLIDE 2

Competitive Algorithms

from

Competitive Equilibria

slide-3
SLIDE 3

Competitive Online Scheduling Algorithms

from

Competitive Equilibria for Datacenter

slide-4
SLIDE 4

Competitive Online Scheduling Algorithms Competitive Equilibria for Datacenter Speed

slide-5
SLIDE 5

Competitive Online Scheduling Algorithms Competitive Equilibria for Datacenter in Economics Fairness Speed

slide-6
SLIDE 6

Competitive Online Scheduling Algorithms Competitive Equilibria for Datacenter in Economics Fairness Speed

slide-7
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
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
SLIDE 9

An Example

Gh Ghodsi, , Za Zaharia ia, , Hi Hindm dman, , Ko Kondwinski, , Sh Shenker, , St Stoic

  • ica. 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 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
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
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
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
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
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
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
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
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
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
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
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
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
SLIDE 22

Competitive Ratio

maxI Cost(Aonline, I) Cost(OPToffline, I) ≤ c

c–competitive For all inputs I

slide-23
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
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
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
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
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
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)?