universal packet scheduling
play

Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia - PowerPoint PPT Presentation

Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley Many Scheduling Algorithms Many different algorithms FIFO, FQ, virtual clocks, priorities Many different goals fairness,


  1. Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley

  2. Many Scheduling Algorithms • Many different algorithms – FIFO, FQ, virtual clocks, priorities… • Many different goals – fairness, small packet delay, small FCT… • Many different contexts –WAN, datacenters, cellular…

  3. Many Scheduling Algorithms • Implemented in router hardware. • How do we support different scheduling algorithms for different requirements? – Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

  4. Many Scheduling Algorithms • Implemented in router hardware. • How do we support different scheduling algorithms for different requirements? – Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

  5. Many Scheduling Algorithms • Implemented in router hardware. • How do we support different scheduling algorithms for different requirements? – Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

  6. Many Scheduling Algorithms • Implemented in router hardware. • How do we support different scheduling algorithms for different requirements? – Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

  7. We are asking a new question ….. How do we support different scheduling algorithms for different requirements? Is there a universal packet scheduling algorithm?

  8. UPS: Universal Packet Scheduling Algorithm A single scheduling algorithm that can imitate the network-wide output produced by any other algorithm.

  9. How can a single algorithm imitate all others?

  10. Network Model Input Traffic INGRESS CORE NETWORK

  11. Network Model Schedulin Input Traffic g Algorithm INGRESS CORE NETWORK

  12. Network Model Input Traffic Schedulin (Optional) g Header Output Traffic Initialization Algorithm EGRESS INGRESS CORE NETWORK

  13. Network Model Output Traffic tied to Scheduling Algorithm Input Traffic Schedulin (Optional) g Header Output Traffic Initialization Algorithm EGRESS INGRESS CORE NETWORK

  14. Network Model Goal: Minimize Mean FCT Input Traffic Priority Priority (Optional) Value Schedulin Header Output Traffic Initialization Flow Size g EGRESS INGRESS CORE NETWORK

  15. Network Model Goal: Fairness Input Traffic (Optional) FQ Header Output Traffic Initialization EGRESS INGRESS CORE NETWORK

  16. Network Model Goal: Weighted Fairness Input Traffic (Optional) Flow WFQ Header Output Traffic Weights Initialization EGRESS INGRESS CORE NETWORK

  17. Network Model Output Traffic tied to Header Initialization Input Traffic Scheduling Header Header Output Traffic Initialization Algorithm* Initialization EGRESS INGRESS CORE NETWORK * Uses packet header state to make scheduling decisio

  18. Network Model Input Traffic Smart Header UPS ? Header Output Traffic Initialization Initialization EGRESS INGRESS CORE NETWORK Greater processing capability in the edge than in the core. As per on prior SDN-based architecture designs.

  19. How do we formally define and evaluate a UPS?

  20. Defining a UPS Theoretical Viewpoint: Can it replay a given schedule? Practical Viewpoint: Can it achieve a given objective?

  21. Theoretical Viewpoint Can it replay a given schedule?

  22. Original Schedule Only requirement from original schedule: Output Times are viable Input Traffic Arbitrary (Optional) Output Times Scheduling Header Initialization Algorithm o(p) for a packet p EGRESS INGRESS CORE NETWORK

  23. Replaying the Schedule, given o(p) Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK For every packet p, o’(p) ≤ o(p)

  24. Pragmatic Constraints on a UPS Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  25. Pragmatic Constraints on a UPS Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  26. Pragmatic Constraints on a UPS Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  27. Pragmatic Constraints on a UPS Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  28. Pragmatic Constraints on a UPS Limited State: Scheduling can use only header state and static information Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  29. Pragmatic Constraints on a UPS Limited State: Scheduling can use only header state and static information Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  30. We call this Blackbox Initialization Limited State: Scheduling can use only header state and static information Input Traffic Header Header UPS Output Times Initialization Initialization (using o(p)) o ’(p) for a packet p EGRESS INGRESS CORE NETWORK Obliviousness: For initializing p’s header, use only o(p) and path(p)

  31. Basic Existence and Non-existence Results There exists a UPS under Omniscient Initialization when scheduling time at every hop is known No UPS exists under Blackbox Initialization when only the final output time is known

  32. How close can we get to a UPS?

  33. Key Result: Depends on congestion points No. of Congestion Genera Points per Packet l ✓ 1 ✓ 2 ✗ 3

  34. Can we achieve this upper bound? Yes, LSTF!

  35. Can we achieve this upper bound? Yes, LSTF!

  36. Least Slack Time First • Packet header initialized with a slack value – slack = maximum tolerable queuing delay • At the routers – Schedule packet with least slack time first – Update the slack by subtracting the wait time

  37. Key Results No. of Congestion Genera LSTF Points per Packet l ✓ ✓ 1 ✓ ✓ 2 ✗ ✗ 3

  38. Not all algorithms achieve upper bound No. of Congestion Genera LSTF Priorities Points per Packet l ✓ ✓ ✓ 1 ✓ ✓ ✗ 2 ✗ ✗ ✗ 3

  39. How well does LSTF perform empirically?

  40. Empirically, LSTF is (almost) universal • ns-2 simulation results on realistic network settings - Less than 3% packets missed their output times - Less than 0.1% packets are late by more than one transmission time

  41. Practical Viewpoint Can it achieve a given objective?

  42. Achieving various network objectives • Slack assignment based on heuristics • Three objective functions - Tail packet delays - Mean Flow Completion Time - Fairness • We also show how LSTF can facilitate AQM from the edge. • See NSDI’16 paper for details!

  43. Results Summary • Theoretical results show that - There is no UPS under blackbox initialization - LSTF comes as close to a UPS as possible - Empirically, LSTF is very close • LSTF can be used in practice to achieve a variety of network-wide objectives.

  44. Implication • Less need for many different scheduling and queue management algorithms. • Can just use LSTF, with varying slack initializations.

  45. There are still some interesting open questions!

  46. Open Questions • What is the least amount of information needed to achieve universality? • Are there tractable bounds for the degree of lateness with LSTF? • What is the class of objectives that can be achieved with LSTF in practice ?

  47. Conclusion • Theoretical results show that - There is no UPS under blackbox initialization. - LSTF comes as close to a UPS as possible. - Empirically, LSTF is very close. • LSTF can be used in practice to achieve a variety of network-wide objectives. Contact: radhika@eecs.berkeley.edu Thank You! Code: http://netsys.github.io/ups/

Recommend


More recommend