Upload
tamsin-perkins
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
1
Modeling the Effect of a Rate Smoother on TCP Congestion Control Behavior
Kang Li, Jonathan Walpole, David C. Steere
{kangli, walpole, steere}@cse.ogi.edu
Department of Computer Science and Engineering
Oregon Graduate Institute
Molly H. Shor
Department of Electrical and Computer Engineering
Oregon State University
2
SenderReceiver
TCP
Data Packets Network
Acknowledgment Packets
Well-known Behaviors of TCP Congestion Control
051015202530354045
0 10 20 30 40 50Time
TCP Transmissio
n RateAvailable bandwidth
• The phase plot for 2 competing TCPs
• The sawtooth figure for an individual TCP
3
Trajectories of Various TCP-Friendly Congestion Controls Competing with a TCP
• There exists many limit cycles that oscillate around the equal fair sharing point
• However, we have assumed all the competing flows back off together.– If the assumption is false, they may experience different congestion signals.
– Temporary rate mismatches may lead to non-uniform losses across flows;
– Different network buffering states may affect the timing of packet losses.
A: TCP-friendliness by Varying TCP AIMD Parameters
B:TCP-friendliness by Damping TCP’s Rate Variations
C: An Arbitrary Trajectory that Tracks Around the Fair Share Point
4
Modeling Temporary Rate Mismatch
Forward and Wait
Sending Rate Calculated by TCP “Smoothed” Output
Pacing Control
Rate Smoother
Mismatch window (a virtual Buffer)
Buffer Fill-level Rate Adjustment
• We add a rate smoother to TCP to control the rate mismatch: – The pacing period and other control parameters can be tuned.
– Many existed and new pacing and smoothing algorithms can be simulated.
– By tracking a TCP’s throughput, the rate smoother provides an implementation of an Equation-Based TCP-friendly Congestion Control.
• To study the effect of smoothing on TCP, we built a Matlab simulation and a Linux-based implementation.
TCP with a Rate Smoother Component
0+B/2 -B/2
5
• Smoothing is simulated based on the following equations:
• TCP congestion avoidance is simulated by:– When no congestion signal
– When congestion signal arrives
Simulation in Matlab
)(
*)(2 tRTT
MSS
dt
tdr
R
Rtr
dt
tdRTT
)()(
)(*)( trtr
dt
trdDtrItrPtr
trtrtr
out
inout
)(*)(*)(*)(
)()()(
Rate Smoother
TCP AIMD
Pacing Control
6
Simulation of Two TCPs (one with rate smoother)
7
Simulation Results (1) System Plot under Uniform Packet Losses
A B
• Uniform Losses – The same congestion signal for all TCP flows.
• The system trajectory converges to a limit cycle that oscillates around the equal bandwidth sharing point. (Figure A)
– Same phase plot as Figure 3-B with an additional dimension for buffer fill-level.
• The rate produced by AIMD algorithm is used as the input to the rate smoother. (Figure B)
– An alternative would be to use the TCP throughput equation as a function of congestion signals as the input to the rate smoother.
8
Simulation Results(2) The Impact of Non-Uniform Packet Losses
• Non-Uniform Losses – Rate-dependent congestion signal for each TCP flow.
• Bandwidth Sharing Ratios depend on loss distributions.– Figures A and B show the backing-off probability and average throughput ratio for a
set of loss distribution models in which a TCP’s backing-off probability P is a function of its current transmission rate r :
– The ratio is close to 1 when the distribution is proportional to the rate (b=1/100) or when it is close to a uniform distribution (b=10).
• Next step: simulate feedback between loss distributions and rate mismatches.
rbearP **1)(
A B
9
Conclusion & Future Work
• Conclusion– No big conclusion yet,
– Feedback control based conceptual model and simulation tools lead to clear understanding of TCP congestion control behavior.
– Developed a generic model and implementation of Rate Smoothing based on feedback control.
• Future Work– Simulate feedback between loss distributions and rate mismatches.
– Combine the model with some realistic loss event distributions.
– Extend model from a continuous to a hybrid event-driven system.
– Build a tunable paced TCP implementation that exposes smoothing control parameters to applications.