load balancing guardrails -...

26
Load Balancing Guardrails Keeping Your Heavy Traffic on the Road to Low Response Times Isaac Grosof (CMU) Ziv Scully (CMU) Mor Harchol-Balter (CMU) 1

Upload: others

Post on 18-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Load Balancing GuardrailsKeeping Your Heavy Traffic on the Road to Low Response Times

Isaac Grosof (CMU)Ziv Scully (CMU)

Mor Harchol-Balter (CMU)

1

Page 2: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Goal: Optimal Load Balancing

Objective:Minimize mean response time E[T]

Q1: How to dispatch?

Q2: How to schedule?

2

Assumptions:Stochastic Arrivals

Known SizesPreempt-Resume

SRP

T

SRP

T

SRP

T

Theorem:SRPT is optimal

Dispatcher

Servers

Page 3: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

SRPT: Very little prior work

Dispatcher

SRP

T

SRP

T

SRP

T

Prior Work on Dispatching

3

Dispatcher

FCFS

FCFS

FCFS

FCFS: Tons of prior work

Page 4: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Join-Shortest-Queue (JSQ): Winston, Weber,

Whitt, Lin, Raghavendra, Foley, McDonald, Bramson, Lu, Prabhakar, Eschenfeldt, Gamarnik, …

Join-Shortest-of-d-Queues (JSQ-d): Vvedenskaya, Dobrushin, Karpelevich, Mitzenmacher, Bramson, Ying, Srikant, Kang, Muckherjee, Borst, Leeuqaarden, ...

Least-Work-Left (LWL): Lee, Longton, Kingman,

Takahashi, Daly, Tijms, Van Hoorn, Ma, Mark, Breur, Hokstad, Kimura, Gupta, Harchol-Balter, Dai, Zwart, Osogami, Whitt, …

Size-Interval-Task-Assignment (SITA):Harchol-Balter, Crovella, Murta, Bachmat, Sarfati, Vesilo, Scheller-Wolf, …

Prior Work on Dispatching - FCFS

4

Dispatcher

FCFS

FCFS

FCFS

FCFS: Tons of prior work

Page 5: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Prior Work on Dispatching - SRPT

5

Random dispatch: Trivial

First Policy Iteration (FPI) Heuristic [Hyytiä & Aalto ‘12]

Multilayered Round Robin [Down & Wu ‘06]

SRPT: Very little prior work

Dispatcher

SRP

T

SRP

T

SRP

T

Page 6: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Good for FCFS ⇒ Good for SRPT

6

Distribution: Bounded Pareto [1, 106], α=1.5.

10 servers

Dispatcher

SRP

T

SRP

T

SRP

T

0.7 0.8 0.9 1

Mean response time E[T]for SRPT servers

200

150

100

50

0

Load (ρ)

Random SITA-E LWL

?

Page 7: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Good for FCFS ⇏ Good for SRPT

7

Distribution: Bounded Pareto [1, 106], α=1.5.

10 servers

Dispatcher

SRP

T

SRP

T

SRP

T

0.7 0.8 0.9 1

Mean response time E[T]for SRPT servers

200

150

100

50

0

Load (ρ)

Random SITA-E LWL

Page 8: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Our Contribution: Guardrails

8

Possiblyverybad

Disp. Policy P

SRP

T

SRP

T

SRP

T

Guaranteedheavy traffic

optimal

SRP

TDisp. Policy P+ Guardrails

SRP

T

SRP

T

SRP

T ≈

Page 9: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Our Contribution: Guardrails

9

Possiblyverybad

Disp. Policy P

SRP

T

SRP

T

SRP

T

Guaranteedheavy traffic

optimal

SRP

T

k

Disp. Policy P+ Guardrails

1

SRP

T

1

SRP

T

1SR

PT ≈

Page 10: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Good for FCFS ⇏ Good for SRPT

10

Distribution: Bounded Pareto [1, 106], α=1.5.

10 servers

Dispatcher

SRP

T

SRP

T

SRP

T

0.7 0.8 0.9 1

Mean response time E[T]for SRPT servers

200

150

100

50

0

Load (ρ)

Random SITA-E LWL

G-Random G-SITA-E G-LWL

Page 11: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Dispatching to SRPT Servers

Dispatcher

SRP

T

SRP

T

SRP

T

SRP

T

11

Page 12: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Dispatching to SRPT Servers

SRP

T

SRP

T

12

Page 13: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Dispatching to SRPT Servers

SRP

T

SRP

T

A small job needs me!

13

Leads to bad E[T]

Page 14: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Problem: Small Job Imbalance

SRP

T

SRP

T

14

Dispatcher

More small jobs left

More small jobs right

Balanced small jobs

Page 15: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Problem: Small Job Imbalance

SRP

T

SRP

T

15

Dispatcher

A small job needs me!

More small jobs left

More small jobs right

Balanced small jobs

Page 16: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails

SRP

T

SRP

T

16

Dispatcher

More small jobs left

More small jobs right

Balanced small jobs

Page 17: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails

SRP

T

SRP

T

17

Dispatcher

More small jobs left

More small jobs right

Balanced small jobs

Page 18: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails

SRP

T

SRP

T

18

Dispatcher

More small jobs left

More small jobs right

Balanced small jobs

Page 19: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails

SRP

T

SRP

T

19

Dispatcher

More small jobs left

More small jobs right

Balanced small jobs

Page 20: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails

20

SRP

T

SRP

T

DispatcherTo Do:• >2 job sizes?

• >2 servers?

Page 21: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails

21

SRP

T

SRP

T

Dispatcher>2 job sizes?

Prob.

Size

Page 22: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails: Bucketing

22

Dispatcher

SRP

T

SRP

T

Page 23: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails: Bucketing

23

[1, 10] [10, 100] [100, 1000]

… …

SRP

T

SRP

T

Page 24: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Guardrails: Bucketing

24

[1, 10] [10, 100] [100, 1000]

… …

SRP

T

SRP

T

SRP

T

SRP

T

Page 25: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

Precise Dispatching Requirement

Job of size 𝑥 has rank 𝑟 ↔ 𝑥 ∈ [𝑐𝑟 , 𝑐𝑟+1)*

𝑉𝑖𝑟 𝑡 = Volume of rank 𝑟 work dispatched to server 𝑖 by time 𝑡.

Guardrail requirement:

∀ ranks 𝑟, ∀ servers 𝑖, 𝑗, ∀ times 𝑡,

25

* 𝑐 is chosen as a function of load 𝜌.

| 𝑉𝑖𝑟 𝑡 − 𝑉𝑗

𝑟 𝑡 | ≤ 𝑐𝑟+1

Page 26: Load Balancing Guardrails - pages.cpsc.ucalgary.capages.cpsc.ucalgary.ca/~carey/CPSC641/slides/... · Preempt-Resume T T T Theorem: SRPT is optimal Dispatcher Servers. SRPT: Very

The Guardrail Theorem

26

PossiblyVery bad

Disp. Policy P

SRP

T

SRP

T

SRP

T

SRP

T

k≈w.r.t.E[T]

Guaranteed heavy traffic optimal

→Disp. Policy P +

Guardrails

1

SRP

T

1

SRP

T

1SR

PT

lim𝜌→1

𝐸[Resp. Time of Disp. Policy P with Guardrails]

𝐸[Resp. Time of Single SRPT Superserver]= 1, ∀𝑃