On Some Stochastic Load Balancing Problems Anupam Gupta Carnegie - - PowerPoint PPT Presentation

on some stochastic load balancing problems
SMART_READER_LITE
LIVE PREVIEW

On Some Stochastic Load Balancing Problems Anupam Gupta Carnegie - - PowerPoint PPT Presentation

On Some Stochastic Load Balancing Problems Anupam Gupta Carnegie Mellon University Joint work with Amit Kumar, IIT Delhi Viswanath Nagarajan, Michigan Xiangkun Shen, Michigan (appeared at SODA 2018) 1 / 26 Optimization under Uncertainty


slide-1
SLIDE 1

On Some Stochastic Load Balancing Problems

Anupam Gupta

Carnegie Mellon University

Joint work with Amit Kumar, IIT Delhi Viswanath Nagarajan, Michigan Xiangkun Shen, Michigan (appeared at SODA 2018)

1 / 26

slide-2
SLIDE 2

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?

◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions 2 / 26

slide-3
SLIDE 3

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?

◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions

Goal: get algos making (near)-optimal decisions given predictions.

2 / 26

slide-4
SLIDE 4

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?

◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions

Goal: get algos making (near)-optimal decisions given predictions. worst-case analysis (vs. queueing perspective, cf. Mor’s talk)

◮ Relate to performance of best strategy on worst-case instance 2 / 26

slide-5
SLIDE 5

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?

◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions

Goal: get algos making (near)-optimal decisions given predictions. worst-case analysis (vs. queueing perspective, cf. Mor’s talk)

◮ Relate to performance of best strategy on worst-case instance

given predictions (vs. all-adversarial model as in competitive analysis)

2 / 26

slide-6
SLIDE 6

Approximation Algorithms for Stochastic Optimization

High Level Model:

◮ Inputs random variables X1, X2, . . . with known distributions ◮ (for today) assume discrete distributions, explicit access to them 3 / 26

slide-7
SLIDE 7

Approximation Algorithms for Stochastic Optimization

High Level Model:

◮ Inputs random variables X1, X2, . . . with known distributions ◮ (for today) assume discrete distributions, explicit access to them ◮ outcomes not known a priori, revealed over time ◮ want to optimize, say, E[objective]. 3 / 26

slide-8
SLIDE 8

Approximation Algorithms for Stochastic Optimization

High Level Model:

◮ Inputs random variables X1, X2, . . . with known distributions ◮ (for today) assume discrete distributions, explicit access to them ◮ outcomes not known a priori, revealed over time ◮ want to optimize, say, E[objective]. ◮ many different models ⋆ e.g., adaptive vs. non-adaptive ⋆ e.g., single-stage vs. multi-stage 3 / 26

slide-9
SLIDE 9

Approximation Algorithms for Stochastic Optimization

High Level Model:

◮ Inputs random variables X1, X2, . . . with known distributions ◮ (for today) assume discrete distributions, explicit access to them ◮ outcomes not known a priori, revealed over time ◮ want to optimize, say, E[objective]. ◮ many different models ⋆ e.g., adaptive vs. non-adaptive ⋆ e.g., single-stage vs. multi-stage

Today: centralized load-balancing problem, minimizing E[makespan].

3 / 26

slide-10
SLIDE 10

today’s problem

4 / 26

slide-11
SLIDE 11

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan. Graham list-scheduling from 1966.

A B C D

5 / 26

slide-12
SLIDE 12

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan. Graham list-scheduling from 1966.

A B C D

5 / 26

slide-13
SLIDE 13

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan. Graham list-scheduling from 1966.

A B C D

5 / 26

slide-14
SLIDE 14

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan. Graham list-scheduling from 1966.

A B C D makespan

5 / 26

slide-15
SLIDE 15

much work on the deterministic problem

Simplest Model: Identical machines:

◮ List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87]. 6 / 26

slide-16
SLIDE 16

much work on the deterministic problem

Simplest Model: Identical machines:

◮ List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].

Most General: Unrelated machines:

◮ Jobs have different sizes on different machines. 6 / 26

slide-17
SLIDE 17

much work on the deterministic problem

Simplest Model: Identical machines:

◮ List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].

Most General: Unrelated machines:

◮ Jobs have different sizes on different machines. ◮ 2-approx [Lenstra, Shmoys, Tardos 90], better for special cases. 6 / 26

slide-18
SLIDE 18

Stochastic Load Balancing

Job j on machine i takes on size Xij (r.v. with known distribution) Today: these r.v.s are independent Find an assignment to minimize expected makespan: E  

m

max

i=1

  • j∈Ji

Xij   .

? ? ? ? ?

7 / 26

slide-19
SLIDE 19

Stochastic Load Balancing

Job j on machine i takes on size Xij (r.v. with known distribution) Today: these r.v.s are independent Find an assignment to minimize expected makespan: E  

m

max

i=1

  • j∈Ji

Xij   .

? ? ? ? ?

7 / 26

slide-20
SLIDE 20

Stochastic Load Balancing

Job j on machine i takes on size Xij (r.v. with known distribution) Today: these r.v.s are independent Find an assignment to minimize expected makespan: E  

m

max

i=1

  • j∈Ji

Xij   .

? ? ? ? ? ? ? ? ? ?

7 / 26

slide-21
SLIDE 21

Stochastic Load Balancing

Job j on machine i takes on size Xij (r.v. with known distribution) Today: these r.v.s are independent Find an assignment to minimize expected makespan: E  

m

max

i=1

  • j∈Ji

Xij   .

? ? ? ? ?

7 / 26

slide-22
SLIDE 22

Stochastic Load Balancing

Job j on machine i takes on size Xij (r.v. with known distribution) Today: these r.v.s are independent Find an assignment to minimize expected makespan: E  

m

max

i=1

  • j∈Ji

Xij   .

minimize expected makespan

? ? ? ? ?

7 / 26

slide-23
SLIDE 23

Related Work: Stochastic Job Sizes

#P-hard to evaluate objective exactly O(1)-approximation for identical machines [Kleinberg, Rabani, Tardos 00]. Better results for special classes of job size distributions [Goel, Indyk 99].

◮ Poisson distributed job sizes: 2-approximation. ◮ Exponential distributed job sizes: PTAS. 8 / 26

slide-24
SLIDE 24

Related Work: Stochastic Job Sizes

#P-hard to evaluate objective exactly O(1)-approximation for identical machines [Kleinberg, Rabani, Tardos 00]. Better results for special classes of job size distributions [Goel, Indyk 99].

◮ Poisson distributed job sizes: 2-approximation. ◮ Exponential distributed job sizes: PTAS.

What about general unrelated case?

8 / 26

slide-25
SLIDE 25

Main Result

Theorem

An O(1)-approx algo for minimizing E[makespan] on unrelated machines.

9 / 26

slide-26
SLIDE 26

Roadmap and Assumptions

Identical machines case Ideas needed for unrelated machines (and sketch of proof)

10 / 26

slide-27
SLIDE 27

Roadmap and Assumptions

Identical machines case Ideas needed for unrelated machines (and sketch of proof) By scaling, assume E[OPTmakespan] = 1.

10 / 26

slide-28
SLIDE 28

Roadmap and Assumptions

Identical machines case Ideas needed for unrelated machines (and sketch of proof) By scaling, assume E[OPTmakespan] = 1. Assume each job is “small”: Pr[size > E[OPTmakespan]] = 0.

◮ Easy extension to general sizes 10 / 26

slide-29
SLIDE 29

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size?

11 / 26

slide-30
SLIDE 30

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size? (No!)

11 / 26

slide-31
SLIDE 31

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size? (No!)

Bad Example

Type 1: size 1 (deterministic). Type 2: size Bernoulli(0, 1) r.v. with p =

1 √m. m − √m jobs: expectation 1 m jobs: expectation

1 √m m machines

E[mkspan] =

log m log log m 11 / 26

slide-32
SLIDE 32

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size? (No!)

Bad Example

Type 1: size 1 (deterministic). Type 2: size Bernoulli(0, 1) r.v. with p =

1 √m. m − √m jobs: expectation 1 m jobs: expectation

1 √m m − √m machines m − √m machines √m machines √m √m

E[mkspan] =

log m log log m 11 / 26

slide-33
SLIDE 33

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size? (No!)

Bad Example

Type 1: size 1 (deterministic). Type 2: size Bernoulli(0, 1) r.v. with p =

1 √m. m − √m jobs: expectation 1 m jobs: expectation

1 √m m − √m machines m − √m machines √m machines √m √m

E[mkspan] =

log m log log m 11 / 26

slide-34
SLIDE 34

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size? (No!)

Bad Example

Type 1: size 1 (deterministic). Type 2: size Bernoulli(0, 1) r.v. with p =

1 √m. m jobs: expectation

1 √m m − √m machines m − √m machines √m machines

E[mkspan] =

log m log log m

m − √m machines m − √m machines √m machines

E[mkspan] ≤ 2

√m √m

11 / 26

slide-35
SLIDE 35

Deterministic Surrogate

Find deterministic quantity as a surrogate for each r.v. Do optimization over these deterministic quantities Surrogate = expected size? (No!)

Bad Example

Type 1: size 1 (deterministic). Type 2: size Bernoulli(0, 1) r.v. with p =

1 √m. m jobs: expectation

1 √m m − √m machines m − √m machines √m machines

E[mkspan] =

log m log log m

m − √m machines m − √m machines √m machines

E[mkspan] ≤ 2

√m √m

11 / 26

slide-36
SLIDE 36

Our Chief Weapon: Effective Size

12 / 26

slide-37
SLIDE 37

Effective Size

[Hui 88] [Elwalid, Mitra 93] [Kelly 96]

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

.

13 / 26

slide-38
SLIDE 38

Effective Size

[Hui 88] [Elwalid, Mitra 93] [Kelly 96]

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

= 1 log k · log E

  • kX

.

13 / 26

slide-39
SLIDE 39

Effective Size

[Hui 88] [Elwalid, Mitra 93] [Kelly 96]

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

= 1 log k · log E

  • kX

. E.g., X = C w.p. 1, then βk(X) = C.

13 / 26

slide-40
SLIDE 40

Effective Size

[Hui 88] [Elwalid, Mitra 93] [Kelly 96]

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

= 1 log k · log E

  • kX

. E.g., X = C w.p. 1, then βk(X) = C. E.g., X = Bernoulli(1/

√ k), then βk(X) = log(1/

√ k·k1+(1−1/ √ k)·k0)

log k

≥ 1/2.

13 / 26

slide-41
SLIDE 41

Effective Size

[Hui 88] [Elwalid, Mitra 93] [Kelly 96]

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

= 1 log k · log E

  • kX

. E.g., X = C w.p. 1, then βk(X) = C. E.g., X = Bernoulli(1/

√ k), then βk(X) = log(1/

√ k·k1+(1−1/ √ k)·k0)

log k

≥ 1/2. Increasing function of k

13 / 26

slide-42
SLIDE 42

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

.

m − √m jobs: size (deterministic) 1 m jobs: size Bernoulli r.v. (0, 1) w.p.

1 √m m − √m machines m machines

effective size load: O(√m)

14 / 26

slide-43
SLIDE 43

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

.

m − √m jobs: size (deterministic) 1 m jobs: size Bernoulli r.v. (0, 1) w.p.

1 √m

effective size: 1 effective size: O(1)

m − √m machines m machines

effective size load: O(√m)

14 / 26

slide-44
SLIDE 44

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

.

m − √m jobs: size (deterministic) 1 m jobs: size Bernoulli r.v. (0, 1) w.p.

1 √m

effective size: 1 effective size: O(1)

m − √m machines √m machines √m √m

effective size load: O(√m)

14 / 26

slide-45
SLIDE 45

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

.

m − √m machines √m machines √m √m

effective size load: O(√m)

m − √m machines √m machines

effective size load: O(1)

m − √m machines √m machines

effective size load: O(1)

14 / 26

slide-46
SLIDE 46

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

.

15 / 26

slide-47
SLIDE 47

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

. [KRT’00] For indentical machines, set k = m:

15 / 26

slide-48
SLIDE 48

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

. [KRT’00] For indentical machines, set k = m:

◮ total βm summed over all jobs ≥ m

⇒ expected OPT = Ω(1).

15 / 26

slide-49
SLIDE 49

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

. [KRT’00] For indentical machines, set k = m:

◮ total βm summed over all jobs ≥ m

⇒ expected OPT = Ω(1).

◮ βm for jobs on each machine ≤ 1

⇒ expected makespan = O(1).

15 / 26

slide-50
SLIDE 50

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

. [KRT’00] For indentical machines, set k = m:

◮ total βm summed over all jobs ≥ m

⇒ expected OPT = Ω(1).

◮ βm for jobs on each machine ≤ 1

⇒ expected makespan = O(1).

⋆ Pr[one machine load ≥ 1 + c] ≤ (1/m)c. (next slide.) ⋆ union bound over all machines. 15 / 26

slide-51
SLIDE 51

Effective Size

For any random variable X and parameter k > 1, define effective size βk(X) := 1 log k · log E

  • elog k·X

. [KRT’00] For indentical machines, set k = m:

◮ total βm summed over all jobs ≥ m

⇒ expected OPT = Ω(1).

◮ βm for jobs on each machine ≤ 1

⇒ expected makespan = O(1).

⋆ Pr[one machine load ≥ 1 + c] ≤ (1/m)c. (next slide.) ⋆ union bound over all machines. ◮ Hence O(1)-approximation. 15 / 26

slide-52
SLIDE 52

Lemma (Upper Bound)

For indep. r.v.s Y1, . . . , Yn, if

i βk(Yi) ≤ 1 then Pr[ i Yi ≥ 1 + c] ≤ 1 kc .

16 / 26

slide-53
SLIDE 53

Lemma (Upper Bound)

For indep. r.v.s Y1, . . . , Yn, if

i βk(Yi) ≤ 1 then Pr[ i Yi ≥ 1 + c] ≤ 1 kc .

Pr[

  • i

Yi ≥ 1 + c] = Pr[e(log k)

i Yi ≥ e(log k)(1+c)] ≤ E[e(log k) i Yi]

e(log k)(1+c) =

  • i E[e(log k)Yi]

e(log k)(1+c)

16 / 26

slide-54
SLIDE 54

Lemma (Upper Bound)

For indep. r.v.s Y1, . . . , Yn, if

i βk(Yi) ≤ 1 then Pr[ i Yi ≥ 1 + c] ≤ 1 kc .

Pr[

  • i

Yi ≥ 1 + c] = Pr[e(log k)

i Yi ≥ e(log k)(1+c)] ≤ E[e(log k) i Yi]

e(log k)(1+c) =

  • i E[e(log k)Yi]

e(log k)(1+c) Taking logarithms, log Pr[

  • i

Yi ≥ 1 + c] ≤ (log k) ·

i

βp(Yi) − (1 + c)

  • ≤ (log k) · (−c).

16 / 26

slide-55
SLIDE 55

Effective size for Unrelated Machines Setting

17 / 26

slide-56
SLIDE 56

Effective Size: Unrelated Machines

Must use different k for different kinds of jobs. (Fixed k fails.)

18 / 26

slide-57
SLIDE 57

Effective Size: Unrelated Machines

Must use different k for different kinds of jobs. (Fixed k fails.) All jobs have size∼ (0, 1) Bernoulli r.v. with p =

1 √m.

Type 1: can only be assigned to the first machine. Type 2: can be assigned to any machine.

18 / 26

slide-58
SLIDE 58

Effective Size: Unrelated Machines

Must use different k for different kinds of jobs. (Fixed k fails.) All jobs have size∼ (0, 1) Bernoulli r.v. with p =

1 √m.

Type 1: can only be assigned to the first machine. Type 2: can be assigned to any machine.

√m jobs: effective size θ m jobs: effective size θ

m machines effective size load: √mθ

E[mkspan] =

log m log log m

18 / 26

slide-59
SLIDE 59

Effective Size: Unrelated Machines

Must use different k for different kinds of jobs. (Fixed k fails.) All jobs have size∼ (0, 1) Bernoulli r.v. with p =

1 √m.

Type 1: can only be assigned to the first machine. Type 2: can be assigned to any machine.

√m jobs: effective size θ m jobs: effective size θ

  • ne machine

√m √m √m m − √m − 1 machines effective size load: √mθ √m machines

E[mkspan] =

log m log log m

18 / 26

slide-60
SLIDE 60

Effective Size: Unrelated Machines

Must use different k for different kinds of jobs. (Fixed k fails.) All jobs have size∼ (0, 1) Bernoulli r.v. with p =

1 √m.

Type 1: can only be assigned to the first machine. Type 2: can be assigned to any machine.

√m jobs: effective size θ m jobs: effective size θ

  • ne machine

√m √m √m m − √m − 1 machines effective size load: √mθ √m machines

E[mkspan] =

log m log log m

18 / 26

slide-61
SLIDE 61

Effective Size: Unrelated Machines

Must use different k for different kinds of jobs. (Fixed k fails.) All jobs have size∼ (0, 1) Bernoulli r.v. with p =

1 √m.

Type 1: can only be assigned to the first machine. Type 2: can be assigned to any machine.

  • ne machine

√m √m √m m − √m − 1 machines effective size load: √mθ √m machines

E[mkspan] =

log m log log m

  • ne machine

m − 1 machines √m

E[mkspan] = 1 + 1

e

18 / 26

slide-62
SLIDE 62

Our Solution for Unrelated Machines

19 / 26

slide-63
SLIDE 63

Our Approach

1

valid inequalities using effective size.

2

(large) LP relaxation.

3

Rounding algorithm.

20 / 26

slide-64
SLIDE 64

Valid Inequalities

Lemma (New Valid Inequalities)

If assignment satisfies E

  • maxm

i=1

  • j∈Ji Xij
  • ≤ 1, then
  • i∈K
  • j∈Ji

β|K|(Xij) ≤ O(|K|) ∀K ⊆ [m].

21 / 26

slide-65
SLIDE 65

LP Relaxation (cont’d)

Solve the LP using separation oracle = sorting.

22 / 26

slide-66
SLIDE 66

LP Relaxation (cont’d)

Solve the LP using separation oracle = sorting.

◮ LP infeasible =

⇒ optimal expected makespan > 1.

⋆ Contrapositive to above lemma. ◮ LP feasible =

⇒ round fractional solution to satisfy subset of constraints

⋆ Suffice to bound E[makespan], show next. 22 / 26

slide-67
SLIDE 67

LP Relaxation (cont’d)

Solve the LP using separation oracle = sorting.

◮ LP infeasible =

⇒ optimal expected makespan > 1.

⋆ Contrapositive to above lemma. ◮ LP feasible =

⇒ round fractional solution to satisfy subset of constraints

⋆ Suffice to bound E[makespan], show next.

Construct instance of unrelated machines problem Use rounding from [Lenstra, Shmoys, Tardos 92], [Shmoys, Tardos 93].

22 / 26

slide-68
SLIDE 68

Valid Inequalities

Lemma (New Valid Inequalities)

If assignment satisfies E

  • maxm

i=1

  • j∈Ji Xij
  • ≤ 1, then
  • i∈K
  • j∈Ji

β|K|(Xij) ≤ O(|K|) ∀K ⊆ [m].

23 / 26

slide-69
SLIDE 69

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

machines jobs total β5 value ≤ 5 pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-70
SLIDE 70

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β5 value ≤ 5 pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-71
SLIDE 71

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β5 value ≤ 5 β5 ≤ 1

5

pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-72
SLIDE 72

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β5 value ≤ 5 pi,j ← β5(Ti,j)

5

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-73
SLIDE 73

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β4 value ≤ 4

5

pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-74
SLIDE 74

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β4 value ≤ 4 β4 ≤ 1

5 4 4

pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-75
SLIDE 75

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β4 value ≤ 4 pi,j ← β4(Ti,j)

5 4 4

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-76
SLIDE 76

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β2 value ≤ 2

5 4 4

pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-77
SLIDE 77

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β2 value ≤ 2

5 4 4

β2 ≤ 1

2 2

pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-78
SLIDE 78

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

total β2 value ≤ 2

5 4 4 2 2

pi,j ← β2(Ti,j)

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-79
SLIDE 79

“Pre-Rounding” Algorithm

1

remaining machines L ← [m], ℓ = |L|.

2

while ℓ > 0:

1

“class ℓ machines: L′ ← {i ∈ L : zi(ℓ) ≤ 1}.

2

pij ← βℓ(Xij) for machines i ∈ L′, all jobs.

3

L ← L \ L′ and ℓ = |L|.

5 4 4 2 2

pi,j ← β2(Ti,j) total β5 value ≤ 5

  • i∈K

β|K|(Xij) · yij ≤ |K|, ∀K ⊆ [m]

24 / 26

slide-80
SLIDE 80

Analysis Sketch

LP gives fractional sol. for unrelated machines (target load B = 1). Round it: 2-approx rounded assignment {Ji}m

i=1 satisfies:

  • j∈Ji

βℓ(i)(Xij) ≤ 2, ∀i ∈ [m]

25 / 26

slide-81
SLIDE 81

Analysis Sketch

LP gives fractional sol. for unrelated machines (target load B = 1). Round it: 2-approx rounded assignment {Ji}m

i=1 satisfies:

  • j∈Ji

βℓ(i)(Xij) ≤ 2, ∀i ∈ [m]

Pr[machine i load ≥ 2 + c] ≤

1 ℓ(i)c .

25 / 26

slide-82
SLIDE 82

Analysis Sketch

LP gives fractional sol. for unrelated machines (target load B = 1). Round it: 2-approx rounded assignment {Ji}m

i=1 satisfies:

  • j∈Ji

βℓ(i)(Xij) ≤ 2, ∀i ∈ [m]

Pr[machine i load ≥ 2 + c] ≤

1 ℓ(i)c .

Union bound over machines gives Pr[maxload > 2 + c] ≤

  • i

1 ℓ(i)c ≤

  • i

1 ic ≪ 1. Can also bound E[maxload].

25 / 26

slide-83
SLIDE 83

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.

◮ Main tool: effective size 26 / 26

slide-84
SLIDE 84

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.

◮ Main tool: effective size

Extensions (in the paper):

◮ O(1)-approx for budgeted makespan minimization. ◮ O(

q log q )-approx for q-norm minimization.

⋆ Now O(1)-approx by M. Molinaro (forthcoming)

Tighter analysis (2?) even for identical machines?

26 / 26

slide-85
SLIDE 85

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.

◮ Main tool: effective size

Extensions (in the paper):

◮ O(1)-approx for budgeted makespan minimization. ◮ O(

q log q )-approx for q-norm minimization.

⋆ Now O(1)-approx by M. Molinaro (forthcoming)

Tighter analysis (2?) even for identical machines? Incorporate routing aspects?

26 / 26

slide-86
SLIDE 86

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.

◮ Main tool: effective size

Extensions (in the paper):

◮ O(1)-approx for budgeted makespan minimization. ◮ O(

q log q )-approx for q-norm minimization.

⋆ Now O(1)-approx by M. Molinaro (forthcoming)

Tighter analysis (2?) even for identical machines? Incorporate routing aspects? Data center issues?

26 / 26

slide-87
SLIDE 87

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.

◮ Main tool: effective size

Extensions (in the paper):

◮ O(1)-approx for budgeted makespan minimization. ◮ O(

q log q )-approx for q-norm minimization.

⋆ Now O(1)-approx by M. Molinaro (forthcoming)

Tighter analysis (2?) even for identical machines? Incorporate routing aspects? Data center issues? Thank you!

26 / 26