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
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
Carnegie Mellon University
1 / 26
◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions 2 / 26
◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions
2 / 26
◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions
◮ Relate to performance of best strategy on worst-case instance 2 / 26
◮ data not yet available, or obtaining exact data difficult/expensive ◮ actions have uncertainty in outcomes ◮ (my talk) we only have stochastic predictions
◮ Relate to performance of best strategy on worst-case instance
2 / 26
◮ Inputs random variables X1, X2, . . . with known distributions ◮ (for today) assume discrete distributions, explicit access to them 3 / 26
◮ 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
◮ 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
◮ 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
4 / 26
5 / 26
5 / 26
5 / 26
5 / 26
◮ List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87]. 6 / 26
◮ List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].
◮ Jobs have different sizes on different machines. 6 / 26
◮ List Scheduling: 2-approx [Graham 66], PTAS [Hochbaum, Shmoys 87].
◮ Jobs have different sizes on different machines. ◮ 2-approx [Lenstra, Shmoys, Tardos 90], better for special cases. 6 / 26
m
i=1
7 / 26
m
i=1
7 / 26
m
i=1
7 / 26
m
i=1
7 / 26
m
i=1
7 / 26
◮ Poisson distributed job sizes: 2-approximation. ◮ Exponential distributed job sizes: PTAS. 8 / 26
◮ Poisson distributed job sizes: 2-approximation. ◮ Exponential distributed job sizes: PTAS.
8 / 26
9 / 26
10 / 26
10 / 26
◮ Easy extension to general sizes 10 / 26
11 / 26
11 / 26
1 √m. m − √m jobs: expectation 1 m jobs: expectation
1 √m m machines
log m log log m 11 / 26
1 √m. m − √m jobs: expectation 1 m jobs: expectation
1 √m m − √m machines m − √m machines √m machines √m √m
log m log log m 11 / 26
1 √m. m − √m jobs: expectation 1 m jobs: expectation
1 √m m − √m machines m − √m machines √m machines √m √m
log m log log m 11 / 26
1 √m. m jobs: expectation
1 √m m − √m machines m − √m machines √m machines
log m log log m
m − √m machines m − √m machines √m machines
√m √m
11 / 26
1 √m. m jobs: expectation
1 √m m − √m machines m − √m machines √m machines
log m log log m
m − √m machines m − √m machines √m machines
√m √m
11 / 26
12 / 26
[Hui 88] [Elwalid, Mitra 93] [Kelly 96]
13 / 26
[Hui 88] [Elwalid, Mitra 93] [Kelly 96]
13 / 26
[Hui 88] [Elwalid, Mitra 93] [Kelly 96]
13 / 26
[Hui 88] [Elwalid, Mitra 93] [Kelly 96]
√ k), then βk(X) = log(1/
√ k·k1+(1−1/ √ k)·k0)
log k
13 / 26
[Hui 88] [Elwalid, Mitra 93] [Kelly 96]
√ k), then βk(X) = log(1/
√ k·k1+(1−1/ √ k)·k0)
log k
13 / 26
1 √m m − √m machines m machines
14 / 26
1 √m
m − √m machines m machines
14 / 26
1 √m
m − √m machines √m machines √m √m
14 / 26
m − √m machines √m machines √m √m
m − √m machines √m machines
m − √m machines √m machines
14 / 26
15 / 26
15 / 26
◮ total βm summed over all jobs ≥ m
15 / 26
◮ total βm summed over all jobs ≥ m
◮ βm for jobs on each machine ≤ 1
15 / 26
◮ total βm summed over all jobs ≥ m
◮ βm for jobs on each machine ≤ 1
⋆ Pr[one machine load ≥ 1 + c] ≤ (1/m)c. (next slide.) ⋆ union bound over all machines. 15 / 26
◮ total βm summed over all jobs ≥ m
◮ βm for jobs on each machine ≤ 1
⋆ Pr[one machine load ≥ 1 + c] ≤ (1/m)c. (next slide.) ⋆ union bound over all machines. ◮ Hence O(1)-approximation. 15 / 26
i βk(Yi) ≤ 1 then Pr[ i Yi ≥ 1 + c] ≤ 1 kc .
16 / 26
i βk(Yi) ≤ 1 then Pr[ i Yi ≥ 1 + c] ≤ 1 kc .
i Yi ≥ e(log k)(1+c)] ≤ E[e(log k) i Yi]
16 / 26
i βk(Yi) ≤ 1 then Pr[ i Yi ≥ 1 + c] ≤ 1 kc .
i Yi ≥ e(log k)(1+c)] ≤ E[e(log k) i Yi]
i
16 / 26
17 / 26
18 / 26
1 √m.
18 / 26
1 √m.
m machines effective size load: √mθ
log m log log m
18 / 26
1 √m.
√m √m √m m − √m − 1 machines effective size load: √mθ √m machines
log m log log m
18 / 26
1 √m.
√m √m √m m − √m − 1 machines effective size load: √mθ √m machines
log m log log m
18 / 26
1 √m.
√m √m √m m − √m − 1 machines effective size load: √mθ √m machines
log m log log m
m − 1 machines √m
e
18 / 26
19 / 26
1
2
3
20 / 26
i=1
21 / 26
22 / 26
◮ LP infeasible =
⋆ Contrapositive to above lemma. ◮ LP feasible =
⋆ Suffice to bound E[makespan], show next. 22 / 26
◮ LP infeasible =
⋆ Contrapositive to above lemma. ◮ LP feasible =
⋆ Suffice to bound E[makespan], show next.
22 / 26
i=1
23 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
1
2
1
2
3
24 / 26
i=1 satisfies:
25 / 26
i=1 satisfies:
1 ℓ(i)c .
25 / 26
i=1 satisfies:
1 ℓ(i)c .
25 / 26
◮ Main tool: effective size 26 / 26
◮ Main tool: effective size
◮ O(1)-approx for budgeted makespan minimization. ◮ O(
q log q )-approx for q-norm minimization.
⋆ Now O(1)-approx by M. Molinaro (forthcoming)
26 / 26
◮ Main tool: effective size
◮ O(1)-approx for budgeted makespan minimization. ◮ O(
q log q )-approx for q-norm minimization.
⋆ Now O(1)-approx by M. Molinaro (forthcoming)
26 / 26
◮ Main tool: effective size
◮ O(1)-approx for budgeted makespan minimization. ◮ O(
q log q )-approx for q-norm minimization.
⋆ Now O(1)-approx by M. Molinaro (forthcoming)
26 / 26
◮ Main tool: effective size
◮ O(1)-approx for budgeted makespan minimization. ◮ O(
q log q )-approx for q-norm minimization.
⋆ Now O(1)-approx by M. Molinaro (forthcoming)
26 / 26