Start Me Up: Determining and Sharing TCP’s Initial Congestion Window Safiqul Islam and Michael Welzl Department of Informatics University of Oslo
Motivation • Each TCP connection maintains states in a data structure called Transport Control Block (TCB) • Sharing TCB across parallel connections and combining their congestion controllers between two endpoints can be beneficial – Reduce the Flow Completion Time (FCT) of short flows: skipping slow start, immediately using large cwnd, applying priorities • Do parallel connections follow the same route? – When they are encapsulated, e.g. VPNs; more in [1] [1] M. Welzl, S. Islam, K. Hiorth, and J. You. TCP in UDP. Internet-Draft draft-welzl-irtf-iccrg-tcp-in-udp-00, Internet 2 Engineering Task Force, Mar. 2016. Work in Progress.
The Problem • Short flows joining an aggregate can 700 Connection 2 Packet sequence number immediately increase Connection 3 600 their cwnds 500 400 – Lead to sudden bursts – 300 if not paced 200 100 0 5 5.5 6 6.5 7 Time (s) 3
The Solution 700 Connection 2 Packet sequence number Connection 3 600 • Timer based pacing used by 500 prior works 400 • Our approach: 300 200 – Maintain the ack-clock of TCP 100 – Using the ACKs of conn 1 to 0 5 5.5 6 6.5 7 clock packet transmissions of Time (s) connection 2 over the course of the first RTT when connection 2 joins 700 Connection 2 Packet sequence number – Similarly, we make use of the Connection 3 600 ACKs of connections 1 and 2 to 500 clock packet transmissions of 400 connection 3 300 200 100 0 5 5.5 6 6.5 7 4 Time (s)
FCTs of Short Flows 90 100 1. Short flow 80 2. Short flow - coupled (no-ack-clock) 3. Short flow - coupled (ack-clocked) 80 70 Reduction 2 vs. 1 (%) FCT of short flows (RTTs) Reduction 3 vs. 1 (%) 60 Reduction (%) 60 50 40 40 30 20 20 10 0 0 0 2 4 6 8 10 Capacity (Mbps) FCT of short flows coupled with our ack-clocked mechanism reduces the FCT 5
Recommend
More recommend