1 / 32

CS144 An Introduction to Computer Networks

CS144 An Introduction to Computer Networks. Flow Control, Congestion Control and the size of Router Buffers Section. Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University. Outline. Flow Control Congestion Control The size of Router Buffers.

mac
Download Presentation

CS144 An Introduction to Computer Networks

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. CS144An Introduction to Computer Networks Flow Control, Congestion Control and the size of Router Buffers Section Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University

  2. Outline • Flow Control • Congestion Control • The size of Router Buffers CS144, Stanford University

  3. Sliding Window Window Size Data ACK’d Outstanding Data sent, but un-ack’d Data OK to send Data not OK to send yet

  4. Flow Control Inside Destination RcvBuffer Arriving packets Resequence, ACK, etc OS user CS144, Stanford University

  5. Dynamics of flow control Animation at: http://media.pearsoncmg.com/aw/aw_kurose_network_4/applets/flow/FlowControl.htm CS144, Stanford University

  6. Outline • Flow Control • Congestion Control • The size of Router Buffers CS144, Stanford University

  7. Round-trip time Window Size Window Size ACK (2) R x RTT = Window size TCP Sliding Window Round-trip time A B Window Size ACK ACK ACK ACK (1) R x RTT > Window size

  8. “Bag of packets” • If there is a single flow, TCP is probing to find out how big the “bag” is so it can fill it. • In general, a TCP flow is trying to figure out how much room there is in the “bag” for its flow. CS144, Stanford University

  9. TCP Congestion Control TCP varies the number of outstanding packets in the network by varying the window size: Window size = min{Advertised window, Congestion Window} Receiver Transmitter (“cwnd”)

  10. AIMDAdditive Increase, Multiplicative Decrease CS144, Stanford University

  11. Leads to the AIMD “sawtooth” cwnd “Drops” halved t

  12. Dynamics of an AIMD flow • Animation at: http://guido.appenzeller.net/anims/ CS144, Stanford University

  13. Outline • Flow Control • Congestion Control • The size of Router Buffers CS144, Stanford University

  14. The size of a router buffer B C

  15. Rule-of-Thumb Buffer size = 2TxC, where: 2T = RTTmin = 2(propagation delay + packetization delay) C = capacity of outgoing line. Example: 10Gb/s interface, with 2T = 250ms 300Mbytes of buffering. Read and write new packet every 32ns.

  16. # packets at 10Gb/s 1,000,000 20 10,000 The Story • Assume: Large number of desynchronized flows; 100% utilization • Assume: Large number of desynchronized flows; <100% utilization

  17. Time evolution of a single TCP flow through a router. Buffer is 2T*C Time evolution of a single TCP flow through a router. Buffer is < 2T*C Time Evolution of a Single TCP Flow

  18. Buffer size = 2TxC Interval magnified on next slide

  19. When sender pauses, buffer drains one RTT Drop

  20. Origin of rule-of-thumb • Before and after reducing window size, the sending rate of theTCP sender is the same • Inserting the rate equation we get • The RTT is part transmission delay T and part queueing delay B/C . We know that after reducing the window, the queueing delay is zero. 

  21. Rule-of-thumb • Rule-of-thumb makes sense for one flow • Typical backbone link has > 20,000 flows • Does the rule-of-thumb still hold? • Answer: • If flows are perfectly synchronized, then Yes. • If flows are desynchronized then No.

  22. # packets at 10Gb/s 1,000,000 20 10,000 The Story • Assume: Large number of desynchronized flows; 100% utilization • Assume: Large number of desynchronized flows; <100% utilization

  23. Synchronized Flows • Aggregate window has same dynamics • Therefore buffer occupancy has same dynamics • Rule-of-thumb still holds. t

  24. Probability Distribution Buffer Size Many TCP Flows

  25. Required Buffer Size - Simulations Simulation

  26. Level3 WAN Experiment • High link utilization for two weeks • Buffer sizes on three parallel links: • 190ms (190K packets) • 10ms (10K packets) • 1ms (1k packets) Note: This slide had a typo that caused some confusion (for me!) during class.

  27. Drop vs. LoadBuffer = 190ms, 10ms

  28. Drop vs. LoadBuffer = 1ms

  29. # packets at 10Gb/s 1,000,000 20 10,000 The Story • Assume: Large number of desynchronized flows; 100% utilization • Assume: Large number of desynchronized flows; <100% utilization

  30. Buffer Size 100% On-chip buffers Smaller design Lower power Buffer Throughput Window Size t Number of packets 10,000 10Gb/s WAN 1,000,000

  31. Buffer Size 100% ~ 90% On-chip buffers Smaller design Lower power Integrated all-optical buffer [UCSB 2008] Throughput 20 pkts log(W) Number of packets ~50 10,000 10Gb/s WAN 1,000,000

  32. Consequences? 10-50 packets on a chip

More Related