html5-img
1 / 72

Group Round Robin: Improving the Fairness and Complexity of Packet Scheduling

Group Round Robin: Improving the Fairness and Complexity of Packet Scheduling. Bogdan Caprita, Jason Nieh, and Wong Chun Chan Columbia University. Hierarchical framework for proportional sharing of network links with good fairness and overhead. GRR.

ifama
Télécharger la présentation

Group Round Robin: Improving the Fairness and Complexity of Packet Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Group Round Robin:Improving the Fairness and Complexity of Packet Scheduling Bogdan Caprita, Jason Nieh, and Wong Chun Chan Columbia University ANCS 2005

  2. Hierarchical framework for proportional sharing of network links with good fairness and overhead GRR ANCS 2005

  3. Hierarchical framework for proportional sharing of network links with good fairness and overhead Proportional sharing Related work GRR scheduling Results GRR ANCS 2005

  4. Scheduling Time-multiplexing a shared resource among a set of competing entities ANCS 2005

  5. Scheduling Time-multiplexing a shared link among a set of competing flows ANCS 2005

  6. Scheduling Time-multiplexing a shared link among a set of competing clients ANCS 2005

  7. Scheduling Time-multiplexing a shared link among a set of competing clients Goals: metric of interest (throughput, delay, fairness …) speed, simplicity ANCS 2005

  8. Proportional Scheduling Allocate to each client resource share in proportion to its weight Goals: fairness: is the allocation really ~ weight? speed, simplicity ANCS 2005

  9. Proportional Scheduling Allocate to each client resource time (WC) in proportion to its weight (φC) WC≈ (φC/ΦT)WT - - - - ANCS 2005

  10. Proportional Scheduling Allocate to each client resource time (WC) in proportion to its weight (φC) WC≈ (φC/ΦT)WT - - - - Client work ANCS 2005

  11. Proportional Scheduling Allocate to each client resource time (WC) in proportion to its weight (φC) WC≈ (φC/ΦT)WT - - - - Client weight ANCS 2005

  12. Proportional Scheduling Allocate to each client resource time (WC) in proportion to its weight (φC) WC≈ (φC/ΦT)WT - - - - Total weight ANCS 2005

  13. Proportional Scheduling Allocate to each client resource time (WC) in proportion to its weight (φC) WC≈ (φC/ΦT)WT - - - - Total work ANCS 2005

  14. Proportional Scheduling Allocate to each client resource time (WC) in proportion to its weight (φC) WC≈ (φC/ΦT)WT Goals: fairness: is the allocation really ~ weight? Ideal: GPS (Parekh, Gallager) speed, simplicity ANCS 2005

  15. Issues: skewed weights – unfair many clients – slow, complicated Proportional Scheduling ANCS 2005

  16. Formalize: fairness service error EC=|WC – (φC/ΦT)WT| Issues: skewed weights – unfair many clients – slow, complicated Proportional Scheduling ANCS 2005

  17. Issues: skewed weights – unfair many clients – slow, complicated Formalize: fairness service error EC=|WC – (φC/ΦT)WT| complexity running time / decision Proportional Scheduling ANCS 2005

  18. Related Work Round-Robin Virtual Time ANCS 2005

  19. Round Robin • Weighted Round Robin • Deficit Round Robin • Virtual Time Round Robin • Smoothed Round Robin • Stratified Round Robin Fast ( usually O(1) ), but unfair ( Ω(N) ) ANCS 2005

  20. Virtual Time • Weighted Fair Queuing • Start-Time Fair Queuing • Self-Clocked Fair Queuing • Worst-case Fair Weighted Fair Queuing • Earliest Eligible Virtual Deadline First • Hierarchical Stride Slow (usually Ω(log N) ), but fair ( O(N), O(1) ) ANCS 2005

  21. Hierarchical framework for proportional sharingof network links with good fairness and overhead Proportional sharing Related work GRR scheduling Results GRR ANCS 2005

  22. GRR Scheduling • Grouping Strategy • Scheduling groups using intergroup scheduler • Scheduling clients within groups using intragroup scheduler ANCS 2005

  23. GRR Scheduling Our approach: Exponential grouping by weight G = { C : 2σ≤φC < 2σ+1 } σG = “group order” 1 2,3 4..7 8..15 16..31 32..63 … σ=0 σ=1 σ=2 σ=3 σ=4 σ=5 number of groups: g = constant ANCS 2005

  24. GRR Scheduling Our approach: Exponential grouping by weight G = { C : 2σ≤φC < 2σ+1 } σG = “group order” why? Decrease: number of schedulable entities (few groups) weight skew (clients within groups have similar weights) ANCS 2005

  25. Grouping Strategy Example: C1C2 C3 C4C5 φ1=12 φ2=3 φ3=3 φ4=2φ5=4 ANCS 2005

  26. Grouping Strategy Example: C1C2 C3 C4C5 φ1=12 φ2=3 φ3=3 φ4=2φ5=4 G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C2 C3 C4 C5 ANCS 2005

  27. GRR Scheduling Data structures Group G: unordered list of clients group weight: Φ = ∑CG φC Group list: Φ1 , Φ2 , Φ3 ,… Φg g ≤ 32 ANCS 2005

  28. GRR Scheduling Two-level scheduler 1. Intergroup scheduling 2. Intragroup scheduling ANCS 2005

  29. GRR Scheduling Two-level scheduler 1. Intergroup scheduling idea: use an existing scheduler to schedule groups ANCS 2005

  30. GRR Scheduling Examples (1 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 Φ 12 8 4 G1 G2 G3 ANCS 2005

  31. GRR Scheduling Examples (1 - Intergroup): Φ 12 8 4 G1 G2 G3 ANCS 2005

  32. GRR Scheduling Examples (1 - Intergroup): 12 8 4 G1 G2 G3 ANCS 2005

  33. GRR Scheduling Examples (1 - Intergroup): 12 8 4 G1 G2 G3 ANCS 2005

  34. GRR Scheduling Examples (1 - Intergroup): 12 8 4 G1 G2 G3 Scheduling algorithm ANCS 2005

  35. GRR Scheduling Examples (1 - Intergroup): 12 8 4 G1 G2 G3 Scheduling algorithm WFQ HS SCFQ WF2Q SFQ SRR ANCS 2005

  36. GRR Scheduling Examples (1 - Intergroup): 12 8 4 G1 G2 G3 Scheduling algorithm Schedule: G1 G2 G1 G1 G2 G3 G1 G2 G1 G1 G2 G3 ANCS 2005

  37. GRR Scheduling Two-level scheduler 2. Intragroup scheduling idea: round robin with deficit tracking “current client” index i < |G| : if ( Di < 1 ) { i = i + 1; Di = Di + φC/2σ; } Di = Di – 1; ANCS 2005

  38. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C2 C3 C4 C5 ANCS 2005

  39. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C2 C3 C4 C5 Deficit: 0 0 0 0 0 ANCS 2005

  40. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C2 C3 C4 C5 Deficit: 0 0 0 0 0 ANCS 2005

  41. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C2 C2 C3 C4 C5 Deficit: 0.5 0 0 0 0 C1 ANCS 2005

  42. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C2 C2 C3 C4 C5 Deficit: 0.5 0.5 0 0 0 C1 C2 ANCS 2005

  43. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C2 C2 C3 C4 C5 Deficit: 1 0.5 0 0 0 C1 C2 C1 ANCS 2005

  44. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C2 C2 C3 C3 C4 C5 Deficit: 0 0.5 0 0 0 C1 C2 C1 C1 ANCS 2005

  45. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C2 C2 C3 C3 C4 C5 C5 Deficit: 0 0.5 0.5 0 0 C1 C2 C1 C1 C3 ANCS 2005

  46. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C1 C2 C2 C3 C3 C4 C5 C5 Deficit: 0 0.5 0.5 0 0 C1 C2 C1 C1 C3 C5 ANCS 2005

  47. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C1 C2 C2 C3 C3 C4 C4 C5 C5 Deficit: 0.5 0.5 0.5 0 0 C1 C2 C1 C1 C3 C5 C1 ANCS 2005

  48. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C1 C2 C2 C3 C3 C4 C5 C5 Deficit: 0.5 0.5 0.5 0 0 C1 C2 C1 C1 C3 C5 C1 C4 ANCS 2005

  49. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C1 C2 C2 C3 C3 C4 C5 C5 Deficit: 1 0.5 0.5 0 0 C1 C2 C1 C1 C3 C5 C1 C4 C1 ANCS 2005

  50. Intragroup Scheduling Examples (2 - Intergroup): G1={C1} Φ1=12; G2={C2, C3, C4} Φ1=8 ; G3={C5} Φ3=4 φ1=12 ;φ2=3, φ3=3, φ4=2;φ5=4 G1 G2 G3 C1 C1 C1 C2 C2 C3 C3 C4 C5 C5 Deficit: 0 0.5 0.5 0 0 C1 C2 C1 C1 C3 C5 C1 C4 C1 C1 ANCS 2005

More Related