90 likes | 210 Views
Modeling the Effect of a Rate Smoother on TCP Congestion Control Behavior. Molly H. Shor shor@ece.orst.edu Department of Electrical and Computer Engineering Oregon State University. Kang Li, Jonathan Walpole, David C. Steere {kangli, walpole, steere}@cse.ogi.edu
E N D
Modeling the Effect of a Rate Smoother on TCP Congestion Control Behavior Molly H. Shor shor@ece.orst.edu Department of Electrical and Computer Engineering Oregon State University Kang Li, Jonathan Walpole, David C. Steere {kangli, walpole, steere}@cse.ogi.edu Department of Computer Science and Engineering Oregon Graduate Institute
Sender Data Packets Network Receiver TCP Acknowledgment Packets Well-known Behaviors of TCP Congestion Control TCP Transmission Rate Available bandwidth 45 40 35 30 25 20 15 10 5 Time 0 10 20 30 40 0 50 • The sawtooth figure for an individual TCP • The phase plot for 2 competing TCPs
Trajectories of Various TCP-Friendly Congestion Controls Competing with a TCP 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 • 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.
Modeling Temporary Rate Mismatch Rate Smoother Buffer Fill-level Rate Adjustment Pacing Control Sending Rate Calculated by TCP “Smoothed” Output +B/2 0 -B/2 Forward and Wait Mismatch window (a virtual Buffer) TCP with a Rate Smoother Component • 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.
Simulation in Matlab Rate Smoother • Smoothing is simulated based on the following equations: • TCP congestion avoidance is simulated by: • When no congestion signal • When congestion signal arrives Pacing Control TCP AIMD
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.
Simulation Results(2) The Impact of Non-Uniform Packet Losses A B • 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.
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.