extending sdn to the data plane
play

Extending SDN to the Data Plane Anirudh Sivaraman, Keith Winstein, - PowerPoint PPT Presentation

Extending SDN to the Data Plane Anirudh Sivaraman, Keith Winstein, Suvinay Subramanian, Hari Balakrishnan M.I.T. http://web.mit.edu/anirudh/www/sdn-data-plane.html Switch Data Planes today Two key decisions on a per-packet basis:


  1. Extending SDN to the Data Plane Anirudh Sivaraman, Keith Winstein, Suvinay Subramanian, Hari Balakrishnan M.I.T. http://web.mit.edu/anirudh/www/sdn-data-plane.html

  2. Switch Data Planes today Two key decisions on a per-packet basis: ◮ Scheduling : Which packet to transmit next? ◮ Queue Management : How long can queues grow? Which packet to drop?

  3. The long lineage of in-network algorithms 1980s GPS WFQ VirtualClock

  4. The long lineage of in-network algorithms 1980s 1990s GPS Di ff Serv BLUE WFQ RED CSFQ VirtualClock IntServ DRR

  5. The long lineage of in-network algorithms 1980s 1990s 2000s GPS Di ff Serv BLUE ECN XCP RCP WFQ RED CSFQ AVQ VCP SRR VirtualClock IntServ DRR RIO CHOKe PI

  6. The long lineage of in-network algorithms 1980s 1990s 2000s 2010s GPS PDQ FCP Di ff Serv BLUE ECN XCP RCP DCTCP WFQ RED CSFQ AVQ CoDel D²TCP pFabric VCP SRR VirtualClock IntServ DRR RIO CHOKe PI DeTail PIE

  7. The long lineage of in-network algorithms 1980s 1990s 2000s 2010s GPS PDQ FCP Di ff Serv BLUE ECN XCP RCP DCTCP WFQ RED CSFQ AVQ CoDel D²TCP pFabric VCP SRR VirtualClock IntServ DRR RIO CHOKe PI DeTail PIE RC3 MCP

  8. The Data Plane is continuously evolving ◮ Each scheme wins in its own evaluation. ◮ Quest for a “silver bullet” in-network method.

  9. We disagree: There is no silver bullet! ◮ Different applications care about different objectives. ◮ Applications use different transport protocols. ◮ Networks are heterogeneous.

  10. Our work: ◮ Quantify non-universality of in-network methods. ◮ Extend SDN to the Data Plane to handle in-network diversity.

  11. Quantifying “No Silver Bullet”: Network Configurations Configuration Description One shared FCFS queue with CoDel+FCFS CoDel Per-flow fair queueing with CoDel CoDel+FQ on each queue (Nichols 2013) Bufferbloat+FQ Per-flow fair queueing with deep buffers on each queue

  12. Quantifying“No Silver Bullet”: Workloads and Objectives Workload Description Objective Long-running Max. throughput Bulk bulk transfer flow Switched flow Min. 99.9 %ile flow Web with ON/OFF completion time periods Max. throughput Interactive Long-running delay interactive flow

  13. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FQ Bufferbloat+FQ

  14. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FCFS CoDel+FQ CoDel+FQ Bufferbloat+FQ Bufferbloat+FQ

  15. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FCFS Experiment con fi guration: Workload: 1 Bulk fl ow + 1 Web Flow Network: LTE link with 150 ms min. RTT CoDel+FQ CoDel+FQ Bufferbloat+FQ Bufferbloat+FQ

  16. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FCFS Experiment con fi guration: Workload: 1 Bulk fl ow + 1 Web Flow Network: LTE link with 150 ms min. RTT Bulk Tpt: 3.9 Mbps Bulk Tpt: 3.9 Mbps CoDel+FQ CoDel+FQ Bufferbloat+FQ Bufferbloat+FQ Web T Web T ail FCT: 43 s ail FCT: 43 s

  17. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FCFS Experiment con fi guration: Workload: 1 Bulk fl ow + 1 Web Flow Network: LTE link with 150 ms min. RTT Bulk Tpt: 3.9 Mbps Bulk Tpt: 3.9 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps CoDel+FQ CoDel+FQ Bufferbloat+FQ Bufferbloat+FQ Web T Web T ail FCT: 43 s ail FCT: 43 s Web T Web T ail FCT: 21 s ail FCT: 21 s

  18. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FCFS Experiment con fi guration: Workload: 1 Bulk fl ow + 1 Web Flow Network: LTE link with 150 ms min. RTT Bulk Tpt: 3.9 Mbps Bulk Tpt: 3.9 Mbps Bulk Tpt: 3.9 Mbps Bulk Tpt: 3.9 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps Bulk Tpt: 11.2 Mbps CoDel+FQ CoDel+FQ Bufferbloat+FQ Bufferbloat+FQ Web T Web T Web T Web T ail FCT: 43 s ail FCT: 43 s ail FCT: 43 s ail FCT: 43 s Web T Web T Web T Web T ail FCT: 21 s ail FCT: 21 s ail FCT: 21 s ail FCT: 21 s

  19. Quantifying “No Silver Bullet” CoDel+FCFS CoDel+FQ Bufferbloat+FQ Bulk + Web on LTE. Bufferbloat+FQ gives Web flow: 52% faster tail flow completion , Bulk flow: 186% more throughput

  20. Quantifying “No Silver Bullet” CoDel+FCFS Two Interactive on 15 Mbps link . Codel+FQ gives 700x more tpt/delay CoDel+FQ Bufferbloat+FQ Bulk + Web on LTE. Bufferbloat+FQ gives Web flow: 52% faster tail flow completion , Bulk flow: 186% more throughput

  21. Quantifying “No Silver Bullet” CoDel+FCFS W e b B u l k s l i n k . + , 1 5 M b p W e b f l o w C o d e l + F Q g i v e s e r t a i l f l o w c o m p l e t i o n 1 6 % f a s t B u l k e t h r o u g h p u t w i t h s a m Two Interactive on 15 Mbps link . Codel+FQ gives 700x more tpt/delay CoDel+FQ Bufferbloat+FQ Bulk + Web on LTE. Bufferbloat+FQ gives Web flow: 52% faster tail flow completion , Bulk flow: 186% more throughput

  22. Quantifying “No Silver Bullet” CoDel+FCFS W e b B u l k s l i n k . + , 1 5 M b p W e b f l o w C o d e l + F Q g i v e s e r t a i l f l o w c o m p l e t i o n 1 6 % f a s t B u l k e t h r o u g h p u t w i t h s a m Two Bulk on LTE. Codel+FCFS gives 5% more throughput Two Interactive on 15 Mbps link . Codel+FQ gives 700x more tpt/delay CoDel+FQ Bufferbloat+FQ Bulk + Web on LTE. Bufferbloat+FQ gives Web flow: 52% faster tail flow completion , Bulk flow: 186% more throughput

  23. Quantifying “No Silver Bullet” CoDel+FCFS W e b B u l k s l i n k . + , 1 5 M b p One Interactive on LTE. W e b f l o w C o d e l + F Q g i v e s Codel+FCFS gives e r t a i l f l o w c o m p l e t i o n 1 6 % f a s t 200x more tpt/delay B u l k e t h r o u g h p u t w i t h s a m Two Bulk on LTE. Codel+FCFS gives 5% more throughput Two Interactive on 15 Mbps link . Codel+FQ gives 700x more tpt/delay CoDel+FQ Bufferbloat+FQ Bulk + Web on LTE. Bufferbloat+FQ gives Web flow: 52% faster tail flow completion , Bulk flow: 186% more throughput

  24. Quantifying “No Silver Bullet” CoDel+FCFS W e b B u l k s l i n k . + , 1 5 M b p One Interactive on LTE. W e b f l o w C o d e l + F Q g i v e s Codel+FCFS gives e r t a i l f l o w c o m p l e t i o n 1 6 % f a s t 200x more tpt/delay B u l k e t h r o u g h p u t w i t h s a m One Bulk on LTE. Bufferbloat+FQ gives Two Bulk on LTE. 174% more throughput Codel+FCFS gives 5% more throughput Two Interactive on 15 Mbps link . Codel+FQ gives 700x more tpt/delay CoDel+FQ Bufferbloat+FQ Bulk + Web on LTE. Bufferbloat+FQ gives Web flow: 52% faster tail flow completion , Bulk flow: 186% more throughput

  25. Why is no single data plane configuration the best? ◮ Bufferbloat gives the best throughput on variable-rate links. ◮ FCFS is preferable to Fair Queuing with homogeneous objectives. ◮ Fair Queuing is preferable with heterogeneous objectives.

  26. So what should the network designer do? ◮ Don’t strive for the best in-network behaviour. ◮ Instead, architect for evolvability. ◮ Conceptually, extend SDN to include the data plane as well.

  27. Flexibility without sacrificing performance ◮ Provide interfaces only to the head and tail of queues ◮ Operators specify only queue-management/scheduling logic ◮ No access to packet payloads.

  28. Building such a data plane in four parts ◮ Hardware gadgets ◮ Random number generators (RED, BLUE) ◮ Binary tree of comparators (pFabric, SRPT) ◮ Look-up tables for function approximation (CoDel, RED)

  29. Building such a data plane in four parts ◮ Hardware gadgets ◮ Random number generators (RED, BLUE) ◮ Binary tree of comparators (pFabric, SRPT) ◮ Look-up tables for function approximation (CoDel, RED) ◮ I/O interfaces ◮ Drop/mark head/tail of queue ◮ Interrupts for enqueue/dequeue ◮ Rewrite packet fields

  30. Building such a data plane in four parts ◮ Hardware gadgets ◮ Random number generators (RED, BLUE) ◮ Binary tree of comparators (pFabric, SRPT) ◮ Look-up tables for function approximation (CoDel, RED) ◮ I/O interfaces ◮ Drop/mark head/tail of queue ◮ Interrupts for enqueue/dequeue ◮ Rewrite packet fields ◮ State maintenance ◮ Per-flow (WFQ, DRR) ◮ Per-dst address (PF)

  31. Building such a data plane in four parts ◮ Hardware gadgets ◮ Random number generators (RED, BLUE) ◮ Binary tree of comparators (pFabric, SRPT) ◮ Look-up tables for function approximation (CoDel, RED) ◮ I/O interfaces ◮ Drop/mark head/tail of queue ◮ Interrupts for enqueue/dequeue ◮ Rewrite packet fields ◮ State maintenance ◮ Per-flow (WFQ, DRR) ◮ Per-dst address (PF) ◮ A domain-specific instruction set ◮ Expresses control flow ◮ Implements new functions unavailable in hardware

  32. Feasibility study: CoDel Input/Output C OD EL Control-Flow S ta te interfaces LUT V a ria b le codel_q_t::control_law SQRT Nex t Tim e C ount To D rop Tim e Now Packet Queue C ounter codel_q_t::dequeue LinkR eady D equeue d rop p in g c ou n t D ropFront d rop _n e x t S ize QueueEm pty First above C heck D rop tim e Tim estam p Packet with Packet with tim estam p codel_q_t::dodequeue tim estam p (R outer stam ps all Packet incom ing packets with tim estam p)

Recommend


More recommend