Online Vector Scheduling Debmalya Panigrahi Duke University slides - - PowerPoint PPT Presentation

online vector scheduling
SMART_READER_LITE
LIVE PREVIEW

Online Vector Scheduling Debmalya Panigrahi Duke University slides - - PowerPoint PPT Presentation

Online Vector Scheduling Debmalya Panigrahi Duke University slides es Work done with: Maryam Shadloo Nat Kell Sungjin Im Janardhan Kulkarni (MSR UMN) (UC Merced) (Duke) (UC Merced) Online Load Balancing [Graham 66] Job: 8 1


slide-1
SLIDE 1

Online Vector Scheduling

Nat Kell (Duke) Maryam Shadloo (UC Merced) Janardhan Kulkarni (MSR  UMN)

Work done with:

Debmalya Panigrahi Duke University

slides es

Sungjin Im (UC Merced)

slide-2
SLIDE 2

Online Load Balancing

[Graham ’66]

Job:

Machine 1 Machine 2 Machine m

(processing time) Load: 1 2 3 4 5 6 7 8 0.8 2 0.9 1.2 1.2 1.3 1.2 1.1

Online Vector Scheduling 2

slide-3
SLIDE 3

Online Load Balancing

[Graham ’66]

Job:

Machine 1 Machine 2 Machine m

(processing time) Load: 1 2 3 4 5 6 7 8 0.8 2 0.9 1.2 1.2 1.3 1.2 1.1

Online Vector Scheduling 3

slide-4
SLIDE 4

Online Load Balancing

[Graham ’66]

Job:

Machine 1 Machine 2 Machine m

(processing time) Load: 1 2 3 4 5 6 7 8 1.1 + 1.2 = 2.3 1.3 0.8 2 0.9 1.2 1.2 (load of a machine is the sum of its job loads)

Online Vector Scheduling 4

slide-5
SLIDE 5

Online Load Balancing

[Graham ’66]

Job:

Machine 1 Machine 2 Machine m

(processing time) Load: 1 2 3 4 5 6 7 8 1.1 + 1.2 = 2.3 1.3 0.8 2 0.9 1.2 1.2 Online problem: cannot see future jobs. (load of a machine is the sum of its job loads)

Online Vector Scheduling 5

slide-6
SLIDE 6

Online Load Balancing

[Graham ’66]

Machine 1 Machine 2 Machine m

Objective: minimize the makespan of the schedule (maximum load)

Job:

1 2 3 4 5 6 7 8 Load: Algorithm performance benchmark: Competitive ratio

Online Vector Scheduling 6

slide-7
SLIDE 7

Online Load Balancing

[Variants]

Machine 1 Machine 2 Machine m

Objectives: minimize the p-norm of the machine loads (makespan is the ∞-norm)

[CW ’75, CC ’76, AAGKKV ’95, AAS ’01, C ’08, CFKKM ’11]

Job:

1 2 3 4 5 6 7 8 Load: Machine models:

  • Identical machines (load = pj)

[G ’66, FKT ’89, BKR ’94, BFKV ’95, KPT ’96, A ’99, FW ’00, GRTW ’00, R ’01, AAS ’01]

  • Related machines (load = pj / si)

[AAFPW ’97, BCK ’00]

  • Unrelated machines (load = pij)

[CW ’75, CC ’76, AAGKKV ’95, AAFPW ’97, C ’08, ANR ’95, CFKKM ’11]

Online Vector Scheduling 7

slide-8
SLIDE 8

8

How do we load balance simultaneously on multiple resources (e.g., in data centers)?

Online Vector Scheduling

slide-9
SLIDE 9

Online Vector Scheduling

Jobs:

Machine 1 Machine 2 Machine m

2 3 4 (2, 2.8, 1.3) Dimension 1 Dimension 2 Dimension 3 (2, 1.5, 1) (1, 1.5, 1.3) (1, .8, .9) 1 (processor) (network) (storage)

Online Vector Scheduling 9

slide-10
SLIDE 10

Online Vector Scheduling

Jobs:

Machine 1 Machine 2 Machine m

2 3 4 Dimension 1 Dimension 2 Dimension 3 (2, 1.5, 1) (1, 1.5, 1.3) (1, .8, .9) 2 2.8 1.3 (processor) (network) (storage) 1

Online Vector Scheduling 10

slide-11
SLIDE 11

Online Vector Scheduling

Jobs:

Machine 1 Machine 2 Machine m

4 Dimension 1 Dimension 2 Dimension 3 (1, .8, .9) 2 1.5 1 2+1 = 3 3 2.8 + 1.5 = 4.3 1.3 + .9 = 2.2 (processor) (network) (storage) 2

(loads accumulate in each dimension)

Online Vector Scheduling 11

slide-12
SLIDE 12

Online Vector Scheduling

Jobs:

Machine 1 Machine 2 Machine m

makespan: maximum over makespan in individual dimensions Dimension 1 Dimension 2 Dimension 3

Online Vector Scheduling 12

slide-13
SLIDE 13

Online Vector Scheduling

Jobs:

Machine 1 Machine 2 Machine m

p-norms: maximum over p-norms in individual dimensions Dimension 1 Dimension 2 Dimension 3

Online Vector Scheduling 13

slide-14
SLIDE 14

Summary of Results

Online Vector Scheduling 14

Makespan minimization p-norm minimization Identical machines O(log d)

[Azar et al ’13, Meyerson et al ’14]

Our result:

Θ(log d/log log d)

Our result:

Θ((log d/log log d)1-1/p)

(Im-Kulkarni-Kell-P. FOCS ’15) Unrelated machines (machine dependent loads) O(log d + log m)

[Meyerson et al ’14]

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p) Related machines (non-uniform machine speeds) Later… Later… (Im-Kell-P.-Shadloo ’17)

slide-15
SLIDE 15

Summary of Results

Online Vector Scheduling 15

Makespan minimization p-norm minimization Identical machines O(log d)

[Azar et al ’13, Meyerson et al ’14]

Our result:

Θ(log d/log log d)

Our result:

Θ((log d/log log d)1-1/p)

(Im-Kulkarni-Kell-P. FOCS ’15) Unrelated machines (machine dependent loads) O(log d + log m)

[Meyerson et al ’14]

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p) Related machines (non-uniform machine speeds) Later… Later… (Im-Kell-P.-Shadloo ’17)

slide-16
SLIDE 16

Identical machines algorithm: First attempt

Greedy assignment (minimize maximum load across all machines and dimensions) unbalanced loads on dimensions …can be as bad as poly(d)-competitive

Online Vector Scheduling 16

slide-17
SLIDE 17

Identical machines algorithm: First attempt

Random Assignment (assignment uniformly at random) Chernoff bounds: O(log(dm))-competitive (optimal for unrelated machines) Greedy assignment (minimize maximum load across all machines and dimensions) unbalanced loads on dimensions …can be as bad as poly(d)-competitive

Online Vector Scheduling 17

slide-18
SLIDE 18

Algorithm: Random and Greedy

Assign uniformly at random

Online Vector Scheduling 18

slide-19
SLIDE 19

Assign uniformly at random

log d/ log log d log d/ log log d log d/ log log d

Algorithm: Random and Greedy

Online Vector Scheduling 19

slide-20
SLIDE 20

Assign uniformly at random

log d/ log log d log d/ log log d log d/ log log d

Algorithm: Random and Greedy

Online Vector Scheduling 20

slide-21
SLIDE 21

Assign uniformly at random

log d/ log log d log d/ log log d log d/ log log d

Exceeds threshold

Algorithm: Random and Greedy

Online Vector Scheduling 21

slide-22
SLIDE 22

Assign uniformly at random

log d/ log log d log d/ log log d log d/ log log d

Greedy schedule

(minimize max over all machines and dimensions)

Algorithm: Random and Greedy

Online Vector Scheduling 22

slide-23
SLIDE 23

Assign uniformly at random

log d/ log log d log d/ log log d log d/ log log d

Greedy schedule

(minimize max over all machines and dimensions)

E[greedy volume] < volume/poly(d)

(Chernoff bounds)

E[greedy makespan] = O(1)

Algorithm: Random and Greedy

Online Vector Scheduling 23

slide-24
SLIDE 24

Algorithm: Random and Greedy

Competitive ratio: O(log d/log log d)

Turns out yes: Best we can do?

Ω(log d/log log d) lower bound For vector scheduling Coloring lower bound implies

Online Vector Scheduling 24

slide-25
SLIDE 25

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

6

Online Vector Scheduling 25

slide-26
SLIDE 26

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 6 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Online Vector Scheduling 26

slide-27
SLIDE 27

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 6 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Online Vector Scheduling 27

slide-28
SLIDE 28

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 6 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Online Vector Scheduling 28

slide-29
SLIDE 29

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 6 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Online Vector Scheduling 29

slide-30
SLIDE 30

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 6 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Online Vector Scheduling 30

slide-31
SLIDE 31

Online Monochromatic Clique

1 2

Given fixed of t colors: red, blue, and green. (here t = 3)

3 4 5 6 7

ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Online Vector Scheduling 31

slide-32
SLIDE 32

Online Monochromatic Clique

Given fixed of t colors: red, blue, and green. (here t = 3) ith vertex arrives: online algorithm gets adjacencies with vertices 1, …, i-1 Objective: minimize the largest monochromatic clique. Clique:

Good Bad

Online Vector Scheduling 32

slide-33
SLIDE 33

The Game: Bins versus Colors

(…or robots versus blue devils)

Adversary (us) Online Algorithm Number of colors: t = 4 Bins = algorithm’s coloring

1 2 3

Bin 1 Bin 2 Bin 3 Bin 4 My turn!

  • 1. Adversary defines adjacencies with prior vertices.
  • 2. Algorithm places vertex in a bin (ALGO’s color).
  • 3. Adversary colors the vertex (OPT’s decision)

Online Vector Scheduling 33

slide-34
SLIDE 34

Adversary (us) Online Algorithm Bins = algorithm’s coloring

1 2 3

Bin 1 Bin 2 Bin 3 Bin 4 My turn!

  • 1. Adversary defines adjacencies with prior vertices.
  • 2. Algorithm places vertex in a bin (ALGO’s color).
  • 3. Adversary colors the vertex (OPT’s decision)

Number of colors: t = 4

The Game: Bins versus Colors

(…or robots versus blue devils)

Online Vector Scheduling 34

slide-35
SLIDE 35

Adversary (us) Online Algorithm Bins = algorithm’s coloring

1 2 3

Bin 1 Bin 2 Bin 3 Bin 4 My turn!

  • 1. Adversary defines adjacencies with prior vertices.
  • 2. Algorithm places vertex in a bin (ALGO’s color).
  • 3. Adversary colors the vertex (OPT’s decision)

Number of colors: t = 4

The Game: Bins versus Colors

(…or robots versus blue devils)

Online Vector Scheduling 35

slide-36
SLIDE 36

Adversary (us) Online Algorithm Bins = algorithm’s coloring

1 2 3

Bin 1 Bin 2 Bin 3 Bin 4 My turn!

  • 1. Adversary defines adjacencies with prior vertices.
  • 2. Algorithm places vertex in a bin (ALGO’s color).
  • 3. Adversary colors the vertex (OPT’s decision)

Number of colors: t = 4

The Game: Bins versus Colors

(…or robots versus blue devils)

Online Vector Scheduling 36

slide-37
SLIDE 37

The Adversary Strategy

  • Split every bin into √t slots: each slot is associated with a

distinct set of √t colors

Online Vector Scheduling 37

slide-38
SLIDE 38

The Construction

1. Adversary defines adjacencies with prior vertices. 2. Algorithm places vertex in a bin (ALGO’s color). 3. Adversary colors the vertex (OPT’s decision).

1 2 3 4 vertex i

Online Vector Scheduling 38

slide-39
SLIDE 39

The Adversary Strategy

  • Split every bin into √t slots: each slot is associated with a

distinct set of √t colors

  • Generate a “code”: a sequence of strings of length t from a √t

alphabet

  • For the ith vertex, define adjacencies as follows (say t = 16):

– Suppose the ith string in the code is 1312121121413134 – Then, add edges to all vertices in slot 1 of bin 1, slot 3 of bin 2, slot 1

  • f bin 3, etc

Online Vector Scheduling 39

slide-40
SLIDE 40

The Construction

1. Adversary defines adjacencies with prior vertices. 2. Algorithm places vertex in a bin (ALGO’s color). 3. Adversary colors the vertex (OPT’s decision).

1 2 3 4 vertex i

Online Vector Scheduling 40

Code string: 1312121121413134

slide-41
SLIDE 41

The Adversary Strategy

  • Split every bin into √t slots: each slot is associated with a

distinct set of √t colors

  • Generate a “code”: a sequence of strings of length t from a √t

alphabet

  • For the ith vertex, define adjacencies as follows (say t = 16):

– Suppose the ith string in the code is 1312121121413134 – Then, add edges to all vertices in slot 1 of bin 1, slot 3 of bin 2, slot 1

  • f bin 3, etc

– If the algorithm places the vertex in bin 2, then place it in slot 3 of bin 2

Online Vector Scheduling 41

slide-42
SLIDE 42

The Construction

1. Adversary defines adjacencies with prior vertices. 2. Algorithm places vertex in a bin (ALGO’s color). 3. Adversary colors the vertex (OPT’s decision).

1 2 3 4

Online Vector Scheduling 42

Code string: 1312121121413134 Bin 15

slide-43
SLIDE 43

The Adversary Strategy

  • Split every bin into √t slots: each slot is associated with a

distinct set of √t colors

  • Generate a “code”: a sequence of strings of length t from a

√t alphabet

  • For the ith vertex, define adjacencies as follows (say t = 16):

– Suppose the ith string in the code is 1312121121413134 – Then, add edges to all vertices in slot 1 of bin 1, slot 3 of bin 2, slot 1 of bin 3, etc – If the algorithm places the vertex in bin 2, then place it in slot 3

  • f bin 2

– OPT colors the vertex with a color from the √t colors associated with slot 3 that is currently unused in bin 2

Online Vector Scheduling 43

slide-44
SLIDE 44

The Construction

1. Adversary defines adjacencies with prior vertices. 2. Algorithm places vertex in a bin (ALGO’s color). 3. Adversary colors the vertex (OPT’s decision).

1 2 3 4

Online Vector Scheduling 44

Code string: 1312121121413134 Bin 15 Color black

slide-45
SLIDE 45

The Adversary Strategy

  • Split every bin into √t slots: each slot is associated with a

distinct set of √t colors

  • Generate a “code”: a sequence of strings of length t from a

√t alphabet

  • For the ith vertex, define adjacencies as follows (say t = 16):

– Suppose the ith string in the code is 1312121121413134 – Then, add edges to all vertices in slot 1 of bin 1, slot 3 of bin 2, slot 1 of bin 3, etc – If the algorithm places the vertex in bin 2, then place it in slot 3

  • f bin 2

– OPT colors the vertex with a color from the √t colors associated with slot 3 that is currently unused in bin 2

  • Terminate when some slot in some bin has √t vertices

Online Vector Scheduling 45

slide-46
SLIDE 46

The Construction

1. Adversary defines adjacencies with prior vertices. 2. Algorithm places vertex in a bin (ALGO’s color). 3. Adversary colors the vertex (OPT’s decision).

1 2 3 4

Online Vector Scheduling 46

Observation 1: Algorithm has created a monochromatic √t-clique Observation 2: OPT has perfectly colored the graph in a bin Lemma (via the probabilistic method): There exist codes that produce only constant-sized monochromatic cliques in OPT

slide-47
SLIDE 47

The Construction

1. Adversary defines adjacencies with prior vertices. 2. Algorithm places vertex in a bin (ALGO’s color). 3. Adversary colors the vertex (OPT’s decision).

1 2 3 4 (t = number colors)

Online Vector Scheduling 47

slide-48
SLIDE 48

Now for the reduction…

Ω(log d/log log d) lower bound For vector scheduling Coloring lower bound implies

Online Vector Scheduling 48

slide-49
SLIDE 49

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 2 3 4 5 1 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

Online Vector Scheduling 49

mO(m)

slide-50
SLIDE 50

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

6

(issued by MC instance)

Online Vector Scheduling 50 2 3 4 1 5

slide-51
SLIDE 51

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 5 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

6

(issued by MC instance)

Online Vector Scheduling 51 2 3 4 1

slide-52
SLIDE 52

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 3 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

6

(issued by MC instance)

(0, 0 , 0 , . . . 1, 0, . . . 0)

1 iff vertex forms a clique with previous vertices in the set Online Vector Scheduling 52 3 2 4 5 1

slide-53
SLIDE 53

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

6

(issued by MC instance)

(0, 0 , 0 , . . . 1, 0, . . . 0)

6 Online Vector Scheduling 53 1 iff vertex forms a clique with previous vertices in the set 2 3 4 5 1

slide-54
SLIDE 54

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

6

(issued by MC instance)

(0, 0 , 0 , . . . 1, 0, . . . 0)

6 Online Vector Scheduling 54 2 3 4 5 1 1 iff vertex forms a clique with previous vertices in the set

slide-55
SLIDE 55

Using MC Lower Bound for Vector Scheduling

Colors correspond to machines Dimensions correspond to √m size subsets of {1,…, m2} 1 1 2 2 2 3 5 1 3 2 3 2 (Algorithm’s colors)

# colors t = m jobs <-> vertices

6 6 1. After m2 vertices, there will exist a monochromatic clique of size √m on some color c. 2. => dimension corresponding to these vertices will have a load of √m on machine c. 3. Size of largest monochromatic clique in OPT’s graph coloring is O(1). 4. ALGO/OPT => Ω(√m) = Ω(log d / log log d) Online Vector Scheduling 55 2 3 4 5 1

slide-56
SLIDE 56

Summary of Results

Online Vector Scheduling 56

Makespan minimization p-norm minimization Identical machines O(log d)

[Azar et al ’13, Meyerson et al ’14]

Our result:

Θ(log d/log log d)

Our result:

Θ((log d/log log d)1-1/p)

(Im-Kulkarni-Kell-P. FOCS ’15) Unrelated machines (machine dependent loads) O(log d + log m)

[Meyerson et al ’14]

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p) Related machines (non-uniform machine speeds) (Im-Kell-P.-Shadloo ’17)

slide-57
SLIDE 57

Related Machines (homogenous)

Jobs:

Machine 1 Machine m

(2, 2.8, 1.3) 1

speed = 1

Processing time = load/speed (2, 1.5, 1) 2

speed = 1/2 Online Vector Scheduling 57

slide-58
SLIDE 58

Jobs:

Machine 1 Machine m speed = 1

Execution time = load/speed (2, 1.5, 1) 2

speed = 1/2

2 2.8 1.3

Related Machines (homogenous)

Online Vector Scheduling 58

slide-59
SLIDE 59

Jobs:

Machine 1 Machine m speed = 1

Execution time = load/speed

speed = 1/2

2 2.8 1.3 4 3 2

Related Machines (homogenous)

Online Vector Scheduling 59

slide-60
SLIDE 60

Related Machines (heterogeneous)

Jobs:

Machine 1 Machine m

(2, 2.8, 1.3) 1

speed = 1

Processing time = load/speed (2, 1.5, 1) 2

speed = 1 speed = 1/2 speed = 1/3 speed = 1/4 speed = 1/2 Online Vector Scheduling 60

slide-61
SLIDE 61

Related Machines (heterogeneous)

Jobs:

Machine 1 Machine m speed = 1

Processing time = load/speed (2, 1.5, 1) 2

speed = 1 speed = 1/2 speed = 1/3 speed = 1/4 speed = 1/2

2 2.8 2.6

Online Vector Scheduling 61

slide-62
SLIDE 62

Related Machines (heterogeneous)

Jobs:

Machine 1 Machine m speed = 1

Processing time = load/speed

speed = 1 speed = 1/2 speed = 1/3 speed = 1/4 speed = 1/2

2 2.8 2.6 4 4.5 4

Online Vector Scheduling 62

slide-63
SLIDE 63

Summary of Results

Online Vector Scheduling 63

Makespan minimization p-norm minimization Identical machines O(log d)

[Azar et al ’13, Meyerson et al ’14]

Our result:

Θ(log d/log log d)

Our result:

Θ((log d/log log d)1-1/p)

(Im-Kulkarni-Kell-P. FOCS ’15) Unrelated machines (machine dependent loads) O(log d + log m)

[Meyerson et al ’14]

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p)

Related machines (non- uniform machine speeds)

Homo- geneous

Our result:

Θ(log d/log log d)

Our result:

O(log3 d) (Im-Kell-P.-Shadloo ’17) Hetero- geneous

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p)

slide-64
SLIDE 64

Summary of Results

Online Vector Scheduling 64

Makespan minimization p-norm minimization Identical machines O(log d)

[Azar et al ’13, Meyerson et al ’14]

Our result:

Θ(log d/log log d)

Our result:

Θ((log d/log log d)1-1/p)

(Im-Kulkarni-Kell-P. FOCS ’15) Unrelated machines (machine dependent loads) O(log d + log m)

[Meyerson et al ’14]

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p)

Related machines (non- uniform machine speeds)

Homo- geneous

Our result:

Θ(log d/log log d)

Our result:

O(log3 d) (Im-Kell-P.-Shadloo ’17) Hetero- geneous

Our result:

Θ(log d + log m)

Our result:

Θ(log d + p) First O(1) competitive for d = 1

slide-65
SLIDE 65

Machine Grouping

Want to reduce problem to identical machines… Natural to try to groups machines of similar speed.

speed = 1

Issue: if total speed (processing power) of faster machines is large, slower machines go unutilized.

speed = 1 speed = 1 speed = 1 speed = 1/2 speed = 1/2 speed = 1/2 speed = 1/4 speed = 1/4 speed = 1/8

Online Vector Scheduling 65

slide-66
SLIDE 66

Machine Smoothing

speed = 1 speed = 2/3 speed = 1/2 speed = 2/5 speed = 2/5 speed = 2/5 speed = 1/3 speed = 1/3 speed = 1/3

Online Vector Scheduling 66

slide-67
SLIDE 67

Machine Smoothing

speed = 1 speed = 2/3 speed = 1/2 speed = 2/5 speed = 2/5 speed = 2/5 speed = 1/3 speed = 1/3 speed = 1/3 speed = 1

Group 0: (total speed 1)

  • Group machines so that total speed increases exponentially.
  • Replace machines with identical machines with

(roughly) same total speed.

Online Vector Scheduling 67

slide-68
SLIDE 68

Machine Smoothing

speed = 1 speed = 2/3 speed = 1/2 speed = 2/5 speed = 2/5 speed = 2/5 speed = 1/3 speed = 1/3 speed = 1/3 speed = 1

Group 0: (total speed 1) Group 1:

speed = 1/2 speed = 1/2 speed = 1/2 speed = 1/2

(total speed 2)

  • Group machines so that total speed increases exponentially.
  • Replace machines with identical machines with

(roughly) same total speed.

Online Vector Scheduling 68

slide-69
SLIDE 69

Machine Smoothing

speed = 1 speed = 2/3 speed = 1/2 speed = 2/5 speed = 2/5 speed = 2/5 speed = 1/3 speed = 1/3 speed = 1/3

  • Group machines so that total speed increases exponentially.
  • Replace machines with identical machines with

(roughly) same total speed.

speed = 1

Group 0: (total speed 1) Group 1:

speed = 1/2 speed = 1/2 speed = 1/2 speed = 1/2

(total speed 2) Group 2:

speed = 1/4 (each)

(total speed 4)

Online Vector Scheduling 69

slide-70
SLIDE 70

Machine Smoothing

speed = 1 speed = 2/3 speed = 1/2 speed = 2/5 speed = 2/5 speed = 2/5 speed = 1/3 speed = 1/3 speed = 1/3

  • Group machines so that total speed increases exponentially.
  • Replace machines with identical machines with

(roughly) same total speed.

speed = 1

Group 0: (total speed 1) Group 1:

speed = 1/2 speed = 1/2 speed = 1/2 speed = 1/2

(total speed 2) Group 2:

speed = 1/4 (each)

(total speed 4)

Online Vector Scheduling 70

Lemma (informal): Any schedule on a smoothed instance can be replicated on the original instance with constant change in makespan, and vice-versa. A similar statement can be shown for all p-norms as well.

slide-71
SLIDE 71

Makespan minimization: Slowest fit on Smoothed Instance

speed = 1 speed = 1/2 speed = 1/4

Suppose OPT = 10

Jobs:

(3, 3, 1) 1 (2, 1.5, 1) 2 Algorithm: Assign to slowest group such that all execution times are <= c. OPT

Online Vector Scheduling 71

slide-72
SLIDE 72

speed = 1 speed = 1/2 speed = 1/4

Jobs:

(3, 3, 1)

(2, 1.5, 1) 2 Algorithm: Assign to slowest group such that all execution times are <= c. OPT

Online Vector Scheduling 72

Makespan minimization: Slowest fit on Smoothed Instance

Suppose OPT = 10

slide-73
SLIDE 73

speed = 1 speed = 1/2 speed = 1/4

Jobs:

(3, 3, 1) (2, 1.5, 1)

Algorithm: Assign to slowest group such that all execution times are <= c. OPT

Online Vector Scheduling 73

Makespan minimization: Slowest fit on Smoothed Instance

Suppose OPT = 10

slide-74
SLIDE 74

speed = 1 speed = 1/2 speed = 1/4

Jobs:

(3, 3, 1) (2, 1.5, 1)

Algorithm: Assign to slowest group such that all processing times are <= c. OPT …. Then, assign jobs using the identical machines algorithm (within each group).

+ +

Online Vector Scheduling 74

Makespan minimization: Slowest fit on Smoothed Instance

Suppose OPT = 10

slide-75
SLIDE 75

speed = 1 speed = 1/2 speed = 1/4

Challenge: Even if we are able to guess OPT, how do we divide it among the machine groups? Indeed, no algorithm previously known even for d = 1

Online Vector Scheduling 75

p-norm minimization

slide-76
SLIDE 76

speed = 1 speed = 1/2 speed = 1/4

Challenge: Even if we are able to guess OPT, how do we divide it among the machine groups? Indeed, no algorithm previously known even for d = 1

Online Vector Scheduling 76

p-norm minimization

Algorithm has two interleaved stages:

  • fractional solution via gradient

descent on a potential defined by a suitable fractional relaxation

  • nline rounding uses a slowest-fit

strategy on the fractional solution

slide-77
SLIDE 77

Thank You Questions?

Online Vector Scheduling 77