Receiver Driven Bandwidth Sharing for TCP

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


In many cases access links are bottleneck



HTTP, FTP, P2P, Multimedia streaming…
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!
Example:
FTP
Low RTT
P2P
Video traffic
INTERNET
Med. RTT
High RTT
=
Congestion
Bottleneck
Access
Link
Goals
Achieve full utilization of the receiver’s
access link (bottleneck).
 Satisfy user preferences:
-priorities assigned to each flow.
 Approach: limit throughput of lowpriority flows to provide additional B/W
for high-priority ones

Overview of the Presentation
Motivation
 Goals
 Proposed Method
 NS-2 Simulations
 Conclusion

System Overview
W1 & d1
User
Preferences
T1
TRAS
Target Rate
Allocation SubSystem
σ
Tn
σ
R1
Calculation
Sub-System
FCS1
.
.
.
Flow Control
System
i 0
i
Flow Control
System
Rn
Sendern
Rn

Internet
.
.
.
FCSn
Bandwidth Sharing System
T
Sender1
Wn & dn
BWSS
N 1
R1
For the receiver
σ = system target bit-rate
For the nth connection
Wn = Advertised Window
dn = Delay in ACK packets
Tn = Target Rate
Rn = Measured Rate
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
Measure
Bit-rate and RTT
R1
W1
d1
Adapt
Calculate
Receiver
Window / ACK
Delay
Target Rate –
Measured Rate
FCS1
Flow Control System
For the nth connection
W = Advertised Window
d = Delay in ACK packets
R = Measured Rate
P = Packet size in bits
Ti = Target Rate
mi = minimum bandwidth
wi = weight
T1
Flow Control System…
W * Psize
R
( RTT  d )

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
Window size (segments)
After fast recovery
10
Receiver’s advertised window
8
6
4
2
0
0
2
4
6
8
10
12
14
Time (round trips)
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.

Target Rate Allocation System
σ
User Prefs.
   mj
Ti = mi + wi *
j 0
N 1
w
j 0


Tn
j
Some apps need minimum guaranteed rate(video), others
don’t (ftp)
User assigns each flow:


T1
N 1
Priority (pi), minimum rate (mi) and weight (wi)
Bandwidth allocation algorithm:


Prevents
starvation of low
priority connection
Satisfy minimum rate in decreasing order of priority
Remaining B/W shared according to weight
σ – Calculation Subsystem
R1
RN
σ
U = Σi Ri
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??
Observation: TCP window
management
sender
1
receiver
Data1 win4
2
Ack1 win4
3456
DATA3 ~ 6 win4
Ack6 win2
4
8
9
10 11
DATA10 ~11 win4
Questions??