load balancing guardrails
play

Load Balancing Guardrails Keeping Your Heavy Traffic on the Road to - PowerPoint PPT Presentation

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 Goal: Optimal Load Balancing Assumptions: Stochastic Arrivals Q1: How to Dispatcher


  1. 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

  2. Goal: Optimal Load Balancing Assumptions: Stochastic Arrivals Q1: How to Dispatcher Known Sizes dispatch? Preempt-Resume Objective: Minimize Q2: How to mean SRPT SRPT SRPT schedule? response time E[T] Theorem: SRPT is optimal Servers 2

  3. Prior Work on Dispatching FCFS: Tons of prior work SRPT: Very little prior work Dispatcher Dispatcher SRPT SRPT SRPT FCFS FCFS FCFS 3

  4. Prior Work on Dispatching - FCFS Join-Shortest-Queue (JSQ): Winston, Weber, FCFS: Tons of prior work Whitt, Lin, Raghavendra, Foley, McDonald, Bramson, Lu, Prabhakar, Eschenfeldt, Gamarnik , … Dispatcher 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, FCFS FCFS FCFS 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, … 4

  5. Prior Work on Dispatching - SRPT Random dispatch: Trivial SRPT: Very little prior work First Policy Iteration (FPI) Heuristic [Hyytiä & Aalto ‘12] Dispatcher Multilayered Round Robin [Down & Wu ‘06] SRPT SRPT SRPT 5

  6. ? Good for FCFS ⇒ Good for SRPT Random SITA-E LWL Dispatcher 200 150 SRPT SRPT SRPT Mean response 100 time E[T] for SRPT servers 50 Distribution: Bounded Pareto [1, 10 6 ], α =1.5. 0 10 servers 0.7 0.8 0.9 1 Load (ρ) 6

  7. Good for FCFS ⇏ Good for SRPT Random SITA-E LWL Dispatcher 200 150 SRPT SRPT SRPT Mean response 100 time E[T] for SRPT servers 50 Distribution: Bounded Pareto [1, 10 6 ], α =1.5. 0 10 servers 0.7 0.8 0.9 1 Load (ρ) 7

  8. Our Contribution: Guardrails Disp. Policy P Disp. Policy P SRPT + Guardrails ≈ → SRPT SRPT SRPT SRPT SRPT SRPT Possibly Guaranteed very heavy traffic bad optimal 8

  9. Our Contribution: Guardrails Disp. Policy P Disp. Policy P SRPT + Guardrails ≈ → SRPT SRPT SRPT SRPT SRPT SRPT k 1 1 1 Possibly Guaranteed very heavy traffic bad optimal 9

  10. Good for FCFS ⇏ Good for SRPT Random SITA-E LWL Dispatcher 200 G-Random G-SITA-E G-LWL 150 SRPT SRPT SRPT Mean response 100 time E[T] for SRPT servers 50 Distribution: Bounded Pareto [1, 10 6 ], α =1.5. 0 10 servers 0.7 0.8 0.9 1 Load (ρ) 10

  11. Dispatching to SRPT Servers Dispatcher SRPT SRPT SRPT SRPT 11

  12. Dispatching to SRPT Servers SRPT SRPT 12

  13. Dispatching to SRPT Servers SRPT SRPT Leads to bad E[T] A small job needs me! 13

  14. Problem: Small Job Imbalance Balanced small jobs More small More small jobs left jobs right Dispatcher SRPT SRPT 14

  15. Problem: Small Job Imbalance Balanced small jobs More small More small jobs left jobs right Dispatcher SRPT SRPT A small job needs me! 15

  16. Guardrails Balanced small jobs More small More small jobs left jobs right Dispatcher SRPT SRPT 16

  17. Guardrails Balanced small jobs More small More small jobs left jobs right Dispatcher SRPT SRPT 17

  18. Guardrails Balanced small jobs More small More small jobs left jobs right Dispatcher SRPT SRPT 18

  19. Guardrails Balanced small jobs More small More small jobs left jobs right Dispatcher SRPT SRPT 19

  20. Guardrails To Do: Dispatcher • >2 job sizes? • >2 servers? SRPT SRPT 20

  21. Guardrails >2 job sizes? Dispatcher Prob. SRPT SRPT Size 21

  22. Guardrails: Bucketing Dispatcher SRPT SRPT 22

  23. Guardrails: Bucketing [1, 10] [10, 100] [100, 1000] … … SRPT SRPT 23

  24. Guardrails: Bucketing [1, 10] [10, 100] [100, 1000] … … SRPT SRPT SRPT SRPT 24

  25. Precise Dispatching Requirement Job of size 𝑦 has rank 𝑠 ↔ 𝑦 ∈ [𝑑 𝑠 , 𝑑 𝑠+1 ) * 𝑠 𝑢 = Volume of rank 𝑠 work dispatched to server 𝑗 by time 𝑢 . 𝑊 𝑗 Guardrail requirement: ∀ ranks 𝑠, ∀ servers 𝑗, 𝑘, ∀ times 𝑢, 𝑠 𝑢 − 𝑊 𝑠 𝑢 | ≤ 𝑑 𝑠+1 | 𝑊 𝑗 𝑘 * 𝑑 is chosen as a function of load 𝜍 . 25

  26. The Guardrail Theorem 𝐹[Resp. Time of Disp. Policy P with Guardrails] ∀𝑄 lim = 1, 𝐹[Resp. Time of Single SRPT Superserver] 𝜍→1 Disp. Policy P + Disp. Policy P SRPT ≈ Guardrails → SRPT SRPT SRPT SRPT SRPT SRPT k w.r.t. 1 1 1 E[T] Possibly Guaranteed heavy Very bad traffic optimal 26

Recommend


More recommend