fab towards flow aware bu fg er sharing in programmable
play

FAB: Towards Flow-aware Bu fg er Sharing in Programmable Switches - PowerPoint PPT Presentation

FAB: Towards Flow-aware Bu fg er Sharing in Programmable Switches Maria Apostolaki Joint work with Laurent Vanbever & Manya Ghobadi An old story An old story Fan-in causing queue built-up Switch Senders Receivers An


  1. FAB: Towards Flow-aware Bu fg er Sharing in Programmable Switches Maria Apostolaki Joint work with Laurent Vanbever & Manya Ghobadi

  2. An old story…

  3. An old story… Fan-in causing queue built-up … Switch … Senders Receivers

  4. An old story… Fan-in causing drops Drops … Switch … Senders Receivers

  5. An old story… Drops increase Flow Completion Times Drops … Switch … High SLA Drops tail FCT violations

  6. An old story… Multiple approaches to address this issue Active Queue Management Drops … TCP Version Switch Scheduling …

  7. An old story… Multiple approaches to address this issue Active Queue Management Drops … TCP Version Switch Scheduling …

  8. An old story… Multiple approaches to address this issue Active Queue Management Drops … TCP Version Switch Scheduling …

  9. An old story… Multiple approaches to address this issue Active Queue Management Drops … TCP Version Switch Scheduling …

  10. Bu fg er management : the algorithm according to which ports/queues of a device share a common bu fg er

  11. Bu fg er management : the algorithm according to which ports/queues of a device share a common bu fg er Most of today’s devices have a shared bu fg er to absorb bursts

  12. How many packets can each port store in the common bu fg er? … Switch …

  13. How many packets can each port store in the common bu fg er? remaining excessive packets will be dropped … Switch …

  14. How many packets can each port store in the common bu fg er? remaining excessive packets will be dropped … Switch Let’s give… … …half of the bu fg er to each port! …small fraction to each port!

  15. FAB: Towards Flow-aware Bu fg er Sharing in Programmable Switches Joint work with Laurent Vanbever & Manya Ghobadi

  16. Outline Background FAB Initial Results Practicality

  17. Outline Background FAB Initial Results Practicality

  18. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  19. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  20. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  21. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  22. Back to our story… Simulation Results … Switch … Senders Receivers

  23. Simulation Results Shared bu fg er can host up to 180 packets 180 packets … Switch … Senders Receivers

  24. Simulation Results Long flows will consume as much bu fg er as there is available 180 Long Flows # pkts bu fg ered 135 90 … 45 port 1 0 Switch 0 0.4 0.8 1.2 Time (sec) … Senders Receivers

  25. Short flows will attempt to instantaneously store Simulation Results at most 75 packets in the shared bu fg er 180 Long Flows # pkts bu fg ered 135 90 … 45 port 1 0 Switch 0 0.4 0.8 1.2 Time (sec) port 2 Short Flows 80 # pkts bu fg ered 60 40 … 20 0 0 0.4 0.8 1.2 Time (sec) Senders Receivers

  26. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  27. Complete Partitioning: static bu fg er space per port = 10 packets 100 100 80 80 # Pkts in Buffer # Pkts in Bu � er # Pkts in Bu � er 60 60 40 40 20 20 0 0 2x10 8 2x10 8 4x10 8 4x10 8 6x10 8 6x10 8 8x10 8 8x10 8 1x10 9 1x10 9 1.2x10 9 1.2x10 9 0.2 0.4 0.6 0.6 0.8 1 Time (s) 0 0 Time (ns) Time (ns)

  28. Receiver of long flows bu fg ers up to 10 packets 100 100 80 80 # Pkts in Buffer # Pkts in Bu � er # Pkts in Bu � er 60 60 40 40 20 20 0 0 2x10 8 2x10 8 4x10 8 4x10 8 6x10 8 6x10 8 8x10 8 8x10 8 1x10 9 1x10 9 1.2x10 9 1.2x10 9 0.2 0.4 0.6 0.6 0.8 1 Time (s) 0 0 Time (ns) Time (ns)

  29. Receiver of long flows bu fg ers up to 10 packets 100 80 # Pkts in Buffer # Pkts in Bu � er 60 40 20 0 2x10 8 4x10 8 6x10 8 8x10 8 1x10 9 1.2x10 9 0.2 0.4 0.6 0.8 1 Time (s) 0 Time (ns)

  30. Receiver of long flows bu fg ers up to 10 packets used by 5% port 1 100 Unused 95% 80 # Pkts in Buffer # Pkts in Bu � er 60 40 20 0 2x10 8 4x10 8 6x10 8 8x10 8 1x10 9 1.2x10 9 0.2 0.4 0.6 0.8 1 Time (s) 0 Time (ns)

  31. Receiver of short flows bu fg ers up to 10 packets 100 80 # Pkts in Buffer # Pkts in Bu � er 60 40 20 0 2x10 8 4x10 8 6x10 8 8x10 8 1x10 9 1.2x10 9 0.2 0.4 0.6 0.8 1 Time (s) 0 Time (ns)

  32. Receiver of short flows bu fg ers up to 10 packets 100 100 80 80 # Pkts in Buffer # Pkts in Bu � er # Pkts in Bu � er 60 60 40 40 20 20 0 0 2x10 8 2x10 8 4x10 8 4x10 8 6x10 8 6x10 8 8x10 8 8x10 8 1x10 9 1x10 9 1.2x10 9 1.2x10 9 0.2 0.4 0.6 0.8 1 Time (s) 0 0 Time (ns) Time (ns)

  33. Bu fg er is 90% empty used by 5% 5% port 2 100 100 Unused 90% 80 80 # Pkts in Buffer # Pkts in Bu � er # Pkts in Bu � er 60 60 40 40 20 20 0 0 2x10 8 2x10 8 4x10 8 4x10 8 6x10 8 6x10 8 8x10 8 8x10 8 1x10 9 1x10 9 1.2x10 9 1.2x10 9 0.2 0.4 0.6 0.8 1 Time (s) 0 0 Time (ns) Time (ns)

  34. Bu fg er is 90% empty, yet the burst is not absorbed 5% 5% 100 90% 80 Burst Size # Pkts in Buffer # Pkts in Bu � er 60 40 20 0 2x10 8 4x10 8 6x10 8 8x10 8 1x10 9 1.2x10 9 0.2 0.4 0.6 0.8 1 Time (s) 0 Time (ns)

  35. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  36. Three common bu fg er management techniques with pros & cons Complete Partitioning: works for balanced tra ffj c wastes bu fg er otherwise statically allocated bu fg er space per port Complete Sharing: works for unbalanced tra ffj c benefits long flows unrestricted bu fg er space per port Dynamic Sharing: adapts fairly to load fraction ( α ) of remaining bu fg er per port ignores queue content

  37. Complete Sharing: unrestricted bu fg er space per port 200 180 160 # Pkts in Buffer 140 # Pkts in Bu � er 120 100 80 60 40 20 0 2x10 8 0.2 4x10 8 0.4 6x10 8 0.6 8x10 8 0.8 1x10 9 1 1.2x10 9 Time (s) 0 Time (ns)

  38. Long flows use all bu fg er 200 180 160 # Pkts in Buffer 140 # Pkts in Bu � er 120 100 80 60 40 20 0 2x10 8 0.2 4x10 8 0.4 6x10 8 0.6 8x10 8 0.8 1x10 9 1 1.2x10 9 Time (s) 0 Time (ns)

  39. Long flows use all bu fg er 200 200 180 180 160 160 # Pkts in Buffer 140 140 # Pkts in Bu � er # Pkts in Bu � er 120 120 100 100 80 80 60 60 40 40 20 20 0 0 2x10 8 2x10 8 0.2 4x10 8 4x10 8 0.4 6x10 8 6x10 8 0.6 8x10 8 8x10 8 0.8 1x10 9 1x10 9 1 1.2x10 9 1.2x10 9 Time (s) 0 0 Time (ns) Time (ns)

  40. Long flows use all bu fg er 200 200 180 180 100% 160 160 # Pkts in Buffer 140 140 # Pkts in Bu � er # Pkts in Bu � er 120 120 100 100 80 80 60 60 40 40 20 20 0 0 2x10 8 2x10 8 0.2 4x10 8 4x10 8 0.4 6x10 8 6x10 8 0.6 8x10 8 8x10 8 0.8 1x10 9 1x10 9 1 1.2x10 9 1.2x10 9 Time (s) 0 0 Time (ns) Time (ns)

  41. Upon arrival, the burst finds the bu fg er fully occupied 200 200 180 180 160 160 # Pkts in Buffer 140 140 # Pkts in Bu � er # Pkts in Bu � er 120 120 100 100 80 80 60 60 40 40 20 20 0 0 2x10 8 2x10 8 0.2 4x10 8 4x10 8 0.4 6x10 8 6x10 8 0.6 8x10 8 8x10 8 0.8 1x10 9 1x10 9 1 1.2x10 9 1.2x10 9 Time (s) 0 0 Time (ns) Time (ns)

Recommend


More recommend