1 / 91

Microscopic Behavior of Internet Control

Microscopic Behavior of Internet Control. Xiaoliang (David) Wei NetLab, CS&EE California Institute of Technology. Internet Control. Problem -> solution -> understanding ->. 1986: First Internet Congestion Collapse. 1986. 1989. 1995. 1999. 2003. …. Internet Control.

ownah
Download Presentation

Microscopic Behavior of Internet Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microscopic Behavior of Internet Control Xiaoliang (David) Wei NetLab, CS&EE California Institute of Technology

  2. Internet Control • Problem -> solution -> understanding -> 1986: First Internet Congestion Collapse 1986 1989 1995 1999 2003 …

  3. Internet Control • Problem -> solution -> understanding -> First Internet Congestion Collapse 1988~1990: TCP-Tahoe DEC-bit 1986 1989 1995 1999 2003 …

  4. Internet Control • Problem -> solution -> understanding -> First Internet Congestion Collapse 1993~1995: Tri-S, DUAL, TCP-Vegas TCP Tahoe; DEC-bit 1986 1989 1995 1999 2003 …

  5. Outline • Motivation • Overview of Microscopic behavior • Stability of Delay-based Congestion Control Algorithms • Fairness of Loss-based Congestion control algorithms • Future works • Summary

  6. Outline • Motivation • Overview of Microscopic behavior • Stability of Delay-based Congestion Control Algorithms • Fairness of Loss-based Congestion control algorithms • Future works

  7. Macroscopic View of TCP Control • TCP/AQM: A feedback control system C TCP Receiver 1 TCP Sender 1 TCP Sender 2 TCP Receiver 2 xi(t) τF q(t) τB TCP: • Reno • Vegas • FAST • AQM: • DropTail / RED • Delay • ECN

  8. Fluid Models Assumptions: • TCP algorithms directly control the transmission rates; • The transmission rates are differentiable (smooth); • Each TCP packet observesthe same congestionprice (loss, delay or ECN)

  9. Methodology based on Fluid Models Equilibrium: • Efficiency? • Fairness? Dynamics: • Stability? • Responsiveness?

  10. Gap 1: Stability of TCP Vegas • Analysis: “TCP Vegas is stable if (and only if) the number of flows is large, and capacity is small, and delay is small.” • Experiment: a single TCP Vegas flow is stable with arbitrarydelay and capacity.

  11. Gap 2: Fairness of Scalable TCP • Analysis: [Chiu&Jain’90] → Scalable TCP is unfair. • Analysis: “Scalable TCP is fair in homogeneous network” [Kelly’03] • Experiment: in most cases, Scalable TCP is unfair in homogeneous network.

  12. Gap 3: TCP vs TFRC • Analysis: “We designed TCP Friendly Rate Control (TFRC) algorithm to have the same equilibrium as TCP when they co-exist.” • Experiment: TCP flows do not fairly coexist with TFRC flows.

  13. Gaps • Stability: TCP-Vegas • Fairness: Scalable TCP • Friendliness: TCP vs TFRC Current analytical models ignore microscopic behavior in TCP congestion control

  14. Outline • Motivation • Overview of Microscopic behavior • Stability of Delay-based Congestion Control Algorithms • Fairness of Loss-based Congestion control algorithms • Future works

  15. Microscopic View (Packet level) Two level timescales • On each RTT -- TCP congestion control algorithm; • On each packet arrival -- Ack-clocking: • p--; • while (p < w(t) ) do • Send a packet • p++; (p: number of packets in flight)

  16. W: 0 -> 5 1 2 C 3 Receiver Sender 4 5 x(t) c t (time) 0

  17. Packets queued in bottleneck C 1 Receiver Sender 2 3 4 5 x(t) c t (time) 0

  18. Packets leaves bottleneck at rate c C 3 Receiver 2 1 Sender 4 5 x(t) c t (time) 0

  19. Acknowledgment returns at rate c A2 A3 A1 C Receiver 5 4 Sender x(t) c t (time) 0

  20. New Packets sent at rate c A4 A5 C Receiver Sender 2 1 3 x(t) c t (time) 0 RTT

  21. No queue in 2nd Round Trip C Receiver 4 Sender 2 1 5 3 No need to control rate x(t) ! x(t) c t (time) 0 RTT RTT

  22. Two Flows 4 C TCP1 Rcv1 3 2 1 4 3 2 1 TCP2 Rcv2 x(t) c t (time) 0

  23. Two Flows C TCP1 Rcv1 3 1 2 4 1 2 3 4 TCP2 Rcv2 x(t) c t (time) 0

  24. A2 A1 A3 C TCP1 Rcv1 2 4 3 4 1 5 TCP2 Rcv2 x(t) c t (time) 0

  25. A4 A1 A3 C TCP1 Rcv1 2 4 1 3 2 TCP2 Rcv2 x(t) c t (time) 0 RTT

  26. A2 A1 A3 C TCP1 4 Rcv1 2 1 3 4 TCP2 Rcv2 x(t) c t (time) 0 RTT

  27. A3 A4 A1 C TCP1 Rcv1 2 4 3 1 2 TCP2 Rcv2 x(t) c t (time) 0 RTT

  28. A2 A1 A3 C TCP1 Rcv1 2 4 1 3 4 TCP2 Rcv2 On-off pattern for each flow x(t) c t (time) 0 RTT RTT

  29. Sub-RTT Burstiness: NS-2 Measurement

  30. Two levels of Burstiness x(t) Micro Burst • Pulse function • Input rate>>c • Extra queue & loss • Transient c t (time) 0 RTT RTT Sub-RTT burstiness • On-off function • Input rate <=c • No extra queue & loss • Persistent

  31. Microscopic Effects: known

  32. Microscopic Effects: new

  33. New Understandings

  34. Outline • Motivation • Overview of Microscopic behavior • Stability of Delay-based Congestion Control Algorithms • Fairness of Loss-based Congestion control algorithms • Future works

  35. New Understandings

  36. A packet level model: basis • Ack-clocking: on each ack arrival • p--; • while (p < w(t) ) do • Send a packet • p++; (p: number of packets in flight) • Packets can only be sent upon arrival of an acknowledgment; • A micro burst of packets can be sent at a moment; • Window size w(t) can be an arbitrary given process.

  37. A packet level model: variables • Ack-clocking: on each ack arrival • p--; • while (p < w(t) ) do • Send a packet • p++; (p: number of packets in flight) • pj : Number of packets in flight when j is sent; • sj : sending time of packet j • bj : backlog experienced by packet j • aj : ack arrival time of packet j

  38. A packet level model: variables A4 A5 • pj: Number of packets in flight when j is sent; • sj : sending time of packet j C 3 2 Receiver Sender 1

  39. A packet level model: variables A4 A5 • pj: Number of packets in flight when j is sent; • sj : sending time of packet j • bj : backlog experienced by packet j C 2 Receiver Sender 1 3

  40. A packet level model: variables A4 • pj: Number of packets in flight when j is sent; • sj : sending time of packet j • bj : backlog experienced by packet j • aj : ack arrival time of packet j C A3 1 6 5 2 Receiver Sender

  41. A packet level model: variables • Ack-clocking: on each ack arrival • p--; • while (p < w(t) ) do • Send a packet • p++; (p: number of packets in flight) • k : number of acks between sj and sj-1; • pj: number of packets in flight when i is sent • sj: sending time of packet j • aj-p(j) : ack arrival time of the packet one RTT ago

  42. A packet level model: variables • Ack-clocking: on each ack arrival • p--; • while (p < w(t) ) do • Send a packet • p++; (p: number of packets in flight) • k : number of acks between sj and sj-1; For example: k =0

  43. A packet level model: variables C p3 p2 p1 j j-1 • bj : experienced backlog • c : bottleneck capacity • aj :ack arrival time • d : propagation delay

  44. A packet level model • pj: Number of packets in flight when j is sent; • sj : sending time of packet j • bj : backlog experienced by packet j • aj : ack arrival time of packet j

  45. Ack-clocking: quick sending process • Theorem: For anytime that a packet j is sent (sj ), there is always a packet j*:=j*(j) s.t. • sj = sj* • pj* = w (sj ) • The number of packets in flight at any packet sending time is sync-up with the congestion window.

  46. Ack-clocking: fast queue convergence • Theorem: If for Then: • The queue converges instantly if window size is larger than BDP in the entire previous RTT.

  47. Window Control and Ack-clocking • Per RTT Window Control: • makes decision once every RTT • with the measurement from the latest acknowledgement (a subsequence of sequence number k1, k2, k3, …)

  48. Stability of TCP Vegas • Theorem: Given the packet level model, if αd>1, a single TCP Vegas flow converges to equilibrium with arbitrary capacity c, propagation delay d. That is: there exists a sequence number J such that

  49. Stability of Vegas : 100-flow simulation

  50. Stability of Vegas : Avg Window Size Window Oscillation: 1 packet

More Related