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
Top Related