restructuring endpoint congestion control
play

RESTRUCTURING ENDPOINT CONGESTION CONTROL Akshay Narayan, Frank - PowerPoint PPT Presentation

RESTRUCTURING ENDPOINT CONGESTION CONTROL Akshay Narayan, Frank Cangialosi, Deep5 Raghavan, Prateesh Goyal, Srinivas Narayana, Radhika Mi>al, Mohammad Alizadeh, Hari Balakrishnan CONGESTION CONTROL APPLICATION Data OS TCP Data NETWORK


  1. RESTRUCTURING ENDPOINT CONGESTION CONTROL Akshay Narayan, Frank Cangialosi, Deep5 Raghavan, Prateesh Goyal, Srinivas Narayana, Radhika Mi>al, Mohammad Alizadeh, Hari Balakrishnan

  2. CONGESTION CONTROL APPLICATION Data OS TCP Data NETWORK

  3. DATAPATHS APPLICATION Data SMARTNIC MTCP OS TCP RDMA UDP QUIC DCCP FPGA DPDK Data NETWORK

  4. NEW ALGORITHMS Nimbus Indigo Vivace DCTCP RC3 ABC XCP RCP H-TCP FAST LEDBAT NV BBR Vegas Veno Hybla Illinois Remy PCC Copa Reno EBCC Westwood Compound Sprout TIMELY Tahoe NewReno Binomial BIC Cubic PRR DCQCN 1987 1998 2001 2010 2018

  5. ALGORITHM COMPLEXITY Sprout (NSDI 2013): Bayesian forecas5ng Remy (SIGCOMM 2013): Offline learning PCC / PCC Vivace (NSDI 2015 / NSDI 2018): Online learning Indigo (Usenix ATC 2018): Reinforcement learning

  6. CROSS PRODUCT OF SADNESS [ ] [] OS TCP H-TCP Veno Hybla USERSPACE TIMELY XCP Westwood RDMA Compound Sprout EBCC BIC Cubic PRR Binomial Nimbus × SMARTNIC FPGA DCQCN Reno Vegas Indigo Tahoe NewReno Vivace MTCP DPDK RCP DCTCP RC3 ABC FAST LEDBAT NV BBR QUIC Illinois Remy PCC Copa DCCP

  7. CROSS PRODUCT OF SADNESS

  8. NEW CAPABILITIES APPLICATION APPLICATION CC CC CC CC CC CC INDEPENDENT CC AGGREGATE CC

  9. CURRENT DESIGN ApplicaEon TX RX CongesEon Control Datapath State Datapath NIC

  10. CONGESTION CONTROL PLANE ApplicaEon CCP Agent TX RX CCP Datapath Datapath State Datapath NIC

  11. CONGESTION CONTROL PLANE Write-once, Sophis5cated New run-anywhere algorithms capabili5es ApplicaEon CCP Agent TX RX CCP Datapath Datapath State Datapath NIC

  12. LATENCY TRADEOFF Write-once, Sophis5cated New run-anywhere algorithms capabili5es ApplicaEon CCP Agent TX RX Latency ( < 30 µs) CCP Datapath Datapath State Datapath NIC

  13. SPLIT IMPLEMENTATION Split CC performs similarly to datapath-na5ve ApplicaEon Asynchronous CC CCP Agent TX RX Logic Synchronous Measurement CCP Datapath Gathering Datapath State CWND StaEsEcs Datapath RATE NIC

  14. SPLIT IMPLEMENTATION ApplicaEon CCP Agent TX RX Standardized CCP Datapath Datapath Interface Datapath State CWND StaEsEcs Datapath RATE NIC

  15. MEASUREMENT PRIMITIVES Measurement timestamp In-order acked bytes Out-of-order acked bytes ECN-marked bytes Lost bytes Timeout occurred RTT sample Bytes in flight Outgoing rate Incoming rate

  16. Demo

  17. CUBIC WINDOW DYNAMICS CCP Kernel Congestion Window (Pkts) 600 400 200 0 20 40 60 Time (s) 96 Mbit/s, 20ms link RTT

  18. WRITE-ONCE RUN-ANYWHERE Kernel QUIC mTCP Copa Link: 12 Mbit/s, 20ms RTT Cubic Link: 24 Mbit/s, 20ms RTT

  19. STRESS TEST 5% cubic reno CPU Utilization (%) 7.5 ccp 5.0 kernel 2.5 0.0 1 2 4 8 16 32 64 1 2 4 8 16 32 64 Flows Link: 10Gbit/s, 100µs RTT

  20. LOW-RTT SCENARIOS 1.25 1.15 RCT/Baseline 1.00 10Pkts 0.75 100Pkts 0.50 1000Pkts 0.25 0.00 20us 50us 100us 200us 300us 400us 500us 2RTT 5RTT 10RTT 20RTT 30RTT 40RTT 50RTT Reporting Interval Link: 10Gbit/s, 10 µs

  21. DESIGN: FAST AND SLOW PATH ApplicaEon Asynchronous CCP Agent TX RX API CCP Datapath Shim Datapath State CWND StaEsEcs Datapath RATE NIC

  22. SPLIT IMPLEMENTATION ApplicaEon CCP Agent TX RX libccp CCP Datapath Shim Datapath State Datapath Datapath shim NIC Expose datapath variables

  23. SPLIT IMPLEMENTATION libccp Per Packet Opera5ons Shared across datapaths ApplicaEon CCP Agent TX RX libccp CCP Datapath Shim Datapath State Datapath Datapath shim NIC Expose datapath variables

  24. BBR SPLIT IMPLEMENTATION Asynchronous: Datapath Program: ▸ Per ACK measurements ▸ Every report ▸ Pulse: ▸ Calculate new rate based Rate = 1.25 x bo>le rate on measurements ▸ Aeer 1 RTT: ▸ Handle switching between modes Rate = 0.75 x bo>le rate ▸ Aeer 2 RTT: Rate = bo>le rate ▸ Aeer 8 RTT: repeat Asynchronous Datapath Program

  25. SLOW START Congestion Window (Pkts) CCP , 100ms Report 600 CCP , In − Fold CCP , Rate − Based 400 In − Datapath 200 0 0.0 0.2 0.4 0.6 Time (s) 48Mbit/s, 100ms link RTT

  26. NEW CAPABILITIES Sophis5cated algorithms Rapid prototyping CC for flow aggregates Applica5on-integrated CC Dynamic, path-specific CC

  27. NEXT STEPS CURRENT STATUS ▸ Datapaths (libccp): ▸ More algorithms! ▸ Linux TCP ▸ Hardware datapaths ▸ QUIC ▸ Impact of new API on conges5on control algorithms ▸ mTCP/DPDK ▸ New capabili5es using CCP ▸ CCP Agent (portus) plajorm Reproduce our results and build your own conges5on control at github.com/ccp-project

  28. Extra Slides

  29. EBPF Front-End Back-End (Language) (Datapath) ▸ Event-driven seman5cs ▸ Conges5on control enforcement ▸ Explicit repor5ng model ▸ Direct access to socket state (def (Report (acked 0))) (when true (:= Report.acked (+ Report.acked Ack.bytes_acked)) (:= Cwnd (+ Cwnd Report.acked)) (fallthrough)) (when (> Flow.lost_pkts_sample 0) (report))

Recommend


More recommend