On Some Stochastic Load Balancing Problemssamir/DCscheduling18/slides/TTIC-Gupta.pdfOn Some...

Post on 18-Aug-2020

4 views 0 download

Transcript of On Some Stochastic Load Balancing Problemssamir/DCscheduling18/slides/TTIC-Gupta.pdfOn Some...

On Some Stochastic Load Balancing Problems

Anupam Gupta

Carnegie Mellon University

Joint work withAmit Kumar, IIT Delhi

Viswanath Nagarajan, MichiganXiangkun Shen, Michigan

(appeared at SODA 2018)

1 / 26

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?I data not yet available, or obtaining exact data difficult/expensiveI actions have uncertainty in outcomesI (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)I Relate to performance of best strategy on worst-case instance

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

2 / 26

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?I data not yet available, or obtaining exact data difficult/expensiveI actions have uncertainty in outcomesI (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)I Relate to performance of best strategy on worst-case instance

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

2 / 26

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?I data not yet available, or obtaining exact data difficult/expensiveI actions have uncertainty in outcomesI (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)I Relate to performance of best strategy on worst-case instance

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

2 / 26

Optimization under Uncertainty

Question: How to model/solve problems with uncertainty in input/actions?I data not yet available, or obtaining exact data difficult/expensiveI actions have uncertainty in outcomesI (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)I Relate to performance of best strategy on worst-case instance

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

2 / 26

Approximation Algorithms for Stochastic Optimization

High Level Model:I Inputs random variables X1,X2, . . . with known distributionsI (for today) assume discrete distributions, explicit access to them

I outcomes not known a priori, revealed over timeI want to optimize, say, E[objective].

I many different modelsF e.g., adaptive vs. non-adaptiveF e.g., single-stage vs. multi-stage

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

3 / 26

Approximation Algorithms for Stochastic Optimization

High Level Model:I Inputs random variables X1,X2, . . . with known distributionsI (for today) assume discrete distributions, explicit access to them

I outcomes not known a priori, revealed over timeI want to optimize, say, E[objective].

I many different modelsF e.g., adaptive vs. non-adaptiveF e.g., single-stage vs. multi-stage

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

3 / 26

Approximation Algorithms for Stochastic Optimization

High Level Model:I Inputs random variables X1,X2, . . . with known distributionsI (for today) assume discrete distributions, explicit access to them

I outcomes not known a priori, revealed over timeI want to optimize, say, E[objective].

I many different modelsF e.g., adaptive vs. non-adaptiveF e.g., single-stage vs. multi-stage

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

3 / 26

Approximation Algorithms for Stochastic Optimization

High Level Model:I Inputs random variables X1,X2, . . . with known distributionsI (for today) assume discrete distributions, explicit access to them

I outcomes not known a priori, revealed over timeI want to optimize, say, E[objective].

I many different modelsF e.g., adaptive vs. non-adaptiveF e.g., single-stage vs. multi-stage

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

3 / 26

today’s problem

4 / 26

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan.

Graham list-scheduling from 1966.

A

B

C

D

5 / 26

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan.

Graham list-scheduling from 1966.

A

B

C

D

5 / 26

(Classical) Load Balancing Problem

Schedule n jobs on m machines to minimize makespan.

Graham list-scheduling from 1966.

A

B

C

D

5 / 26

(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

much work on the deterministic problem

Simplest Model: Identical machines:I List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].

Most General: Unrelated machines:I Jobs have different sizes on different machines.

I 2-approx [Lenstra, Shmoys, Tardos 90], better for special cases.

6 / 26

much work on the deterministic problem

Simplest Model: Identical machines:I List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].

Most General: Unrelated machines:I Jobs have different sizes on different machines.

I 2-approx [Lenstra, Shmoys, Tardos 90], better for special cases.

6 / 26

much work on the deterministic problem

Simplest Model: Identical machines:I List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].

Most General: Unrelated machines:I Jobs have different sizes on different machines.I 2-approx [Lenstra, Shmoys, Tardos 90], better for special cases.

6 / 26

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

mmaxi=1

∑j∈Ji

Xij

.? ? ? ? ?

7 / 26

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

mmaxi=1

∑j∈Ji

Xij

.? ? ? ? ?

7 / 26

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

mmaxi=1

∑j∈Ji

Xij

.

?

? ?

? ?

? ? ? ? ?

7 / 26

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

mmaxi=1

∑j∈Ji

Xij

.? ? ? ? ?

7 / 26

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

mmaxi=1

∑j∈Ji

Xij

.

minimizeexpectedmakespan

? ? ? ? ?

7 / 26

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].

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

What about general unrelated case?

8 / 26

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].

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

What about general unrelated case?

8 / 26

Main Result

Theorem

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

9 / 26

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.I Easy extension to general sizes

10 / 26

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.I Easy extension to general sizes

10 / 26

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.I Easy extension to general sizes

10 / 26

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

.

11 / 26

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] = logmlog logm

11 / 26

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] = logmlog logm

11 / 26

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 machinesm−√m machines

√m machines

√m

√m

E[mkspan] = logmlog logm

11 / 26

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 machinesm−√m machines

√m machines

√m

√m

E[mkspan] = logmlog logm

11 / 26

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 machinesm−√m machines

√m machines

E[mkspan] = logmlog logm

m−√m machinesm−√m machines

√m machines

E[mkspan] ≤ 2 √m

√m

11 / 26

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 machinesm−√m machines

√m machines

E[mkspan] = logmlog logm

m−√m machinesm−√m machines

√m machines

E[mkspan] ≤ 2 √m

√m

11 / 26

Our Chief Weapon: Effective Size

12 / 26

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· logE

[e log k·X ] .

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

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· logE

[e log k·X ] =

1

log k· logE

[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

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· logE

[e log k·X ] =

1

log k· logE

[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

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· logE

[e log k·X ] =

1

log k· logE

[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

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· logE

[e log k·X ] =

1

log k· logE

[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

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log 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

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log 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

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log 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

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log 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

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log k·X ] .

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

I total βm summed over all jobs ≥ m ⇒ expected OPT = Ω(1).

I βm for jobs on each machine ≤ 1 ⇒ expected makespan = O(1).

F Pr[one machine load ≥ 1 + c] ≤ (1/m)c . (next slide.)

F union bound over all machines.

I Hence O(1)-approximation.

15 / 26

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log k·X ] .

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

I total βm summed over all jobs ≥ m ⇒ expected OPT = Ω(1).

I βm for jobs on each machine ≤ 1 ⇒ expected makespan = O(1).

F Pr[one machine load ≥ 1 + c] ≤ (1/m)c . (next slide.)

F union bound over all machines.

I Hence O(1)-approximation.

15 / 26

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log k·X ] .

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

I total βm summed over all jobs ≥ m ⇒ expected OPT = Ω(1).

I βm for jobs on each machine ≤ 1 ⇒ expected makespan = O(1).

F Pr[one machine load ≥ 1 + c] ≤ (1/m)c . (next slide.)

F union bound over all machines.

I Hence O(1)-approximation.

15 / 26

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log k·X ] .

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

I total βm summed over all jobs ≥ m ⇒ expected OPT = Ω(1).

I βm for jobs on each machine ≤ 1 ⇒ expected makespan = O(1).

F Pr[one machine load ≥ 1 + c] ≤ (1/m)c . (next slide.)

F union bound over all machines.

I Hence O(1)-approximation.

15 / 26

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log k·X ] .

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

I total βm summed over all jobs ≥ m ⇒ expected OPT = Ω(1).

I βm for jobs on each machine ≤ 1 ⇒ expected makespan = O(1).

F Pr[one machine load ≥ 1 + c] ≤ (1/m)c . (next slide.)

F union bound over all machines.

I Hence O(1)-approximation.

15 / 26

Effective Size

For any random variable X and parameter k > 1, define

effective size βk(X ) :=1

log k· logE

[e log k·X ] .

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

I total βm summed over all jobs ≥ m ⇒ expected OPT = Ω(1).

I βm for jobs on each machine ≤ 1 ⇒ expected makespan = O(1).

F Pr[one machine load ≥ 1 + c] ≤ (1/m)c . (next slide.)

F union bound over all machines.

I Hence O(1)-approximation.

15 / 26

Lemma (Upper Bound)

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

i βk(Yi ) ≤ 1 then Pr[∑

i Yi ≥ 1 + c] ≤ 1kc .

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

Lemma (Upper Bound)

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

i βk(Yi ) ≤ 1 then Pr[∑

i Yi ≥ 1 + c] ≤ 1kc .

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

Lemma (Upper Bound)

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

i βk(Yi ) ≤ 1 then Pr[∑

i Yi ≥ 1 + c] ≤ 1kc .

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

Effective size for Unrelated Machines Setting

17 / 26

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

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

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] = logmlog logm

18 / 26

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 θ

one machine

√m

√m

√m

m−√m− 1 machines

effective size load:√mθ

√m machines

E[mkspan] = logmlog logm

18 / 26

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 θ

one machine

√m

√m

√m

m−√m− 1 machines

effective size load:√mθ

√m machines

E[mkspan] = logmlog logm

18 / 26

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.

one machine

√m

√m

√m

m−√m− 1 machines

effective size load:√mθ

√m machines

E[mkspan] = logmlog logm

one machine

m− 1 machines

√m

E[mkspan] = 1 + 1e

18 / 26

Our Solution for Unrelated Machines

19 / 26

Our Approach

1 valid inequalities using effective size.

2 (large) LP relaxation.

3 Rounding algorithm.

20 / 26

Valid Inequalities

Lemma (New Valid Inequalities)

If assignment satisfies E[maxmi=1

∑j∈Ji Xij

]≤ 1, then∑

i∈K

∑j∈Ji

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

21 / 26

LP Relaxation (cont’d)

Solve the LP using separation oracle = sorting.

I LP infeasible =⇒ optimal expected makespan > 1.F Contrapositive to above lemma.

I LP feasible =⇒ round fractional solution to satisfy subset of constraintsF 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

LP Relaxation (cont’d)

Solve the LP using separation oracle = sorting.

I LP infeasible =⇒ optimal expected makespan > 1.F Contrapositive to above lemma.

I LP feasible =⇒ round fractional solution to satisfy subset of constraintsF 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

LP Relaxation (cont’d)

Solve the LP using separation oracle = sorting.

I LP infeasible =⇒ optimal expected makespan > 1.F Contrapositive to above lemma.

I LP feasible =⇒ round fractional solution to satisfy subset of constraintsF 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

Valid Inequalities

Lemma (New Valid Inequalities)

If assignment satisfies E[maxmi=1

∑j∈Ji Xij

]≤ 1, then∑

i∈K

∑j∈Ji

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

23 / 26

“Pre-Rounding” Algorithm1 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)

total β5 value ≤ 5

∑i∈K

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

24 / 26

“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

“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

“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

“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 ≤ 45

pi,j ← β2(Ti,j)

∑i∈K

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

24 / 26

“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

“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

“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 ≤ 25 4 4

pi,j ← β2(Ti,j)

∑i∈K

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

24 / 26

“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 ≤ 25 4 4

β2 ≤ 1

2 2

pi,j ← β2(Ti,j)

∑i∈K

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

24 / 26

“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 ≤ 25 4 4 2 2

pi,j ← β2(Ti,j)

∑i∈K

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

24 / 26

“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

Analysis Sketch

LP gives fractional sol. for unrelated machines (target load B = 1).

Round it: 2-approx rounded assignment Jimi=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

Analysis Sketch

LP gives fractional sol. for unrelated machines (target load B = 1).

Round it: 2-approx rounded assignment Jimi=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

Analysis Sketch

LP gives fractional sol. for unrelated machines (target load B = 1).

Round it: 2-approx rounded assignment Jimi=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

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.I Main tool: effective size

Extensions (in the paper):I O(1)-approx for budgeted makespan minimization.I O( q

log q)-approx for q-norm minimization.

F 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

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.I Main tool: effective size

Extensions (in the paper):I O(1)-approx for budgeted makespan minimization.I O( q

log q)-approx for q-norm minimization.

F 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

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.I Main tool: effective size

Extensions (in the paper):I O(1)-approx for budgeted makespan minimization.I O( q

log q)-approx for q-norm minimization.

F 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

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.I Main tool: effective size

Extensions (in the paper):I O(1)-approx for budgeted makespan minimization.I O( q

log q)-approx for q-norm minimization.

F 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

wrapup

O(1)-approx for stochastic load balancing on unrelated machines.I Main tool: effective size

Extensions (in the paper):I O(1)-approx for budgeted makespan minimization.I O( q

log q)-approx for q-norm minimization.

F 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