Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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