220 likes | 480 Views
Receiver Driven Bandwidth Sharing for TCP. Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer University of California Berkeley. Presented at: INFOCOM 2003 . Twenty-Second Annual Joint Conference of the IEEE Computer and Communications Societies. Overview of the Presentation.
E N D
Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer University of California Berkeley. Presented at: INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications Societies.
Overview of the Presentation • Motivation • Goals • Proposed Method • NS-2 Simulations • Conclusion
Motivation • Most Internet traffic is TCP • HTTP, FTP, P2P, Multimedia streaming… • In many cases access links are bottleneck • Limited Bandwidth (B/W) eg: DSL/Cable < 1.5Mbps • User run many apps that compete for B/W • Problem: TCP shares bottleneck B/W according to RTT • Not fair to flows with large RTT • Doesn’t consider application needs or user prefs!
Congestion Example: FTP Low RTT INTERNET P2P Video traffic Med. RTT High RTT
Goals • Achieve full utilization of the receiver’s access link (bottleneck). • Satisfy user preferences: -priorities assigned to each flow. • Approach: limit throughput of low-priority flows to provide additional B/W for high-priority ones
Overview of the Presentation • Motivation • Goals • Proposed Method • NS-2 Simulations • Conclusion
System Overview User Preferences W1 & d1 R1 T1 TRAS Target Rate Allocation Sub-System FCS1 Flow Control System Sender1 . . . . . . Internet Wn & dn σ Tn FCSn Flow Control System σ Calculation Sub-System Rn R1 Sendern Rn For the receiverσ= system target bit-rate For the nth connectionWn= Advertised Windowdn = Delay in ACK packetsTn= Target RateRn = Measured Rate BWSSBandwidth Sharing System
System Overview… • Band-Width Sharing System (BWSS) consists of: a) Flow Control System (FCS) b) Target Rate Allocation Sub-system (TRAS) c) σ Calculation Sub-system.
Flow Control System For the nth connectionW = Advertised Windowd = Delay in ACK packetsR = Measured RateP = Packet size in bitsTi= Target Ratemi = minimum bandwidthwi= weight Measure Bit-rate and RTT R1 Adapt Receiver Window / ACK Delay Calculate Target Rate – Measured Rate W1 T1 d1 FCS1 Flow Control System
Flow Control System… Ri < Ti : search for the smallest Wi to achieve (1- α )Ti =< Ri =< (1+ α )Ti If Ri > (1+α)*Ti then delay the ACKs as decreasing Wi is ineffective. Aim to minimize delay : otherwise results in unresponsiveness & instability in TCP flow.
Example After fast recovery Receiver’s advertised window Window size limits the data rate : Max Window size = min (cwndmax, receiver’s adv. window) Slide borrowed from Dr. Nitin Vaidya’s TCP tutorial
RTT and Bandwidth estimation • TCP timestamp option to estimate RTT. • Bandwidth estimation relies on exponentially weighted moving average R α*R + (1-α)*Rø • Ø – bandwidth estimation period, tradeoff between accuracy of estimation and time for convergence.
σ User Prefs. Tn Target Rate Allocation System T1 • Some apps need minimum guaranteed rate(video), others don’t (ftp) • User assigns each flow: • Priority (pi), minimum rate (mi) and weight (wi) • Bandwidth allocation algorithm: • Satisfy minimum rate in decreasing order of priority • Remaining B/W shared according to weight Prevents starvation of low priority connection
σ – Calculation Subsystem R1 σ U = Σi Ri RN Goal: Choose σ to maximize link utilization. U = Σi Ri (σ) Approach: Iteratively increase/decrease σ and measure the impact on utilization σ < σideal implies under-utilization of the link. If σ > σideal , does it affect the system ?
Overview of the Presentation • Motivation • Goals • Proposed Method • NS-2 Simulations • Conclusion
Example of User Preferences Time 0: Min. Rate = 0 Kb/s weights = 1,2,3 for S0-S2 Priority -> S0 (max), S2(min) Time 300: Min Rate = 600 Kb/s TCP BWSS
Network-Congestion Example Priorities: increasing from S0-S2 Min Rate: S0,S2 – 600Kb/s S1 – 100 Kb/s Time 400s to 1200s 700Kb/s Interfering TCP traffic S2 limited to 300Kb/s
Multimedia Streaming Example • S0 – Ftp traffic. Low Priority • Min Rate = 700Kb/s • S1 – Streaming at 450Kb/s • High Priority • 300Kb/s UDP flow (400s-1000s)
Overview of the Presentation • Motivation • Goals • Proposed Method • NS-2 Simulations • Conclusion
Conclusion • BWSS allows user to allocate link B/W • Flexible B/W allocation model • Adapts to changing network conditions • No changes to TCP/senders/routers • Observation: - works only if desired rate is achievable under flow’s cwnd - What was receiver window advertisement actually designed for??
Data1 win4 2 Ack1 win4 4 3 4 5 6 DATA3 ~ 6 win4 8 Ack6 win2 9 DATA10 ~11 win4 10 11 Observation: TCP window management sender receiver 1