370 likes | 498 Views
Congestion controllers for high bandwidth connections. Srisankar Kunniyur University of Pennsylvania http://www.seas.upenn.edu/~kunniyur. Roadmap. Challenges in high bandwidth connections Transient behavior Steady-state behavior Simulations Discussions. Challenges with current TCP.
E N D
Congestion controllers for high bandwidth connections Srisankar Kunniyur University of Pennsylvania http://www.seas.upenn.edu/~kunniyur
Roadmap • Challenges in high bandwidth connections • Transient behavior • Steady-state behavior • Simulations • Discussions
Congestion Avoidance Phase • After a brief slow-start behavior, connection goes into congestion avoidance • W <- W + 1/W for every ACK received • Congestion window grows linearly with round-trip delay • A 1 Gbps throughput with 100 ms round-trip delay requires W ¼ 12500 packets • Window increase too slow!
Multiplicative decrease • Consider a sample TCP evolution W W/2
Multiplicative decrease • Designed for low capacity links to prevent congestion collapse • Too conservative for high bandwidth links • Effective throughput of TCP is small
Packet corruption rates • TCP considers all packet losses as congestion notification • Packet corruption rates in fibers fp¼ 10-9 • For low bandwidth connections, dropping probability p >> fp • For high bandwidth connections, not true • Provides false congestion notification to TCP
Packet corruption rates • Throughput of a TCP connection / 1 / p1/2 • Assume fp¼ 10-10 packets/sec • Throughput of TCP is limited to 1 Gbps regardless of link capacity • Similar to wireless scenario, but phenomena occurs at high bandwidths
Congestion Avoidance phase • Diagnosis • Initial congestion avoidance phase too conservative • Solution • Require a more aggressive congestion avoidance phase for high bandwidth links • Modify congestion response for connections through high bandwidth links
Anti-ECN (AECN) Marking • Use a single bit feedback from the routers • An aggressive congestion avoidance phase when links are underutilized • Performance identical to current TCP during periods of congestion • No per flow state at the routers
Modifications to TCP (1/2) • Each packet carries a bit (AECN bit) in its header • Initially set to one • If link is underutilized, router performs an AND operation between AECN bit and 1. • Otherwise, router performs an AND operation between the AECN bit and 0
TCP Modification (2/2) • On receiving a set AECN bit, the source implements W Ã W + / W • If D = 1, we get the congestion-avoidance phase • If D = W, we get the slow-start • D is a design parameter
Implementation at the routers • On receiving an AECN capable packet, router determines whether the flow can increase its rate • Simple solution is to base this decision using the current load at the router • If current utilization is below a certain threshold(AECN threshold), the router sets the AECN bit
1 & 1 = 1 1 1 C C B Real Queue C C B* Virtual Queue
1 & 0 = 0 1 0 C C B Real Queue C C B* Virtual Queue
Incremental Deployment • Many routers on a path might not recognize AECN marking • At the start of a session, the congestion-controller needs to know whether the path supports AECN marking • Achieved using SYN packet along with the TTL field
Connection Startup • Each TCP flow incorporates a new field (AECN-SYN) field in the SYN packet • An AECN capable router decrements this field along with the TTL field • An AECN incapable or unwilling router just decrements the TTL field. • Presence of a single AECN unwilling router will result in different values of the TTL field and AECN-SYN field • For security, the sender can set a random number for the AECN-SYN field and request the receiver to echo back both the AECN-SYN field and the TTL field.
Misbehaving Flows • AECN marking leads to aggressive increase in rates • Receiver has an incentive to misbehave by falsely setting AECN bit in the packet • Misbehaving flows can not only disproportionately increase their share of the bandwidth, but can cause congestion collapse of the network
Solution (1/2) • Use a strategy similar to the one employed by ECN marking • Use two bits instead of one for AECN marking • Sender randomly chooses 01, 10 or 11 to be set in the AECN field • Each router does a bit-wise AND with the AECN bits
Solution (2/2) • Each router performs an AND operation with 11 if AECN is allowed to be set and 00 otherwise. • If AECN cannot be supported, receiver receives 00 • If receiver wants to misbehave, it has to correctly choose between 01, 10 and 11. • The probability of success is 0.33 and it goes down geometrically to zero
Simulation Topology • Single link topology with ns-2 simulator 1 Gbps Destinations Sources
Simulation Parameters • Evolution of congestion window of TCP with and without AECN marking. • Set the round-trip delay to 200ms • Vary the AECN-Threshold (AECN-threshold determines when the router provides AECN marking)
Multiplicative decrease • Diagnosis: • Too aggressive reduction in window size • Solution: • Decrease to reduce the impact • Proposed by Floyd in high speed TCP • Can show the stability of this scheme using linear system analysis • Throughput / 1 / p0.82
Packet Corruption • The new solution still suffers from throughput degradation due to false congestion notifications from packet corruption • Require p >> fp regardless of capacity of the links
Modified TCP • Use the following congestion controller • T – Round trip delay, qr – Marking Prob • r – Adaptation speed • and are constants
Equilibrium Properties • Steady state throughout x*/ 1 / (p - )1/2 • p > • >> fp ensures that p >> fp • x*!1) p ! • also decides TCP friendliness at low capacities
TCP Friendliness • Require TCP friendliness at “low” capacities • Need (p-) ¼ p • Choose such that the above condition is satisfied for low capacities • Note that this also forces • 1/( x2 + ) ¼ 1/ • Choose = 0.5 to emulate TCP
Utility maximization • What is the utility of such controllers in the utility maximization problem? • Add a linear term to the utility • Utility of a TCP user ¼ -1/(T2 x) • Utility of the new congestion controller ¼ -1/(T2 x) + x • Retains the properties of TCP
Simulation • Fluid level simulations • Single link with capacity 6 units • Assume a fiber loss rate of 10-3 • Choose = 10-2 • Compare the performance of a TCP controller with that of the modified congestion controller
Simulations – High Capacities • Change capacity to 1000 units • Other parameters remain fixed
Discussions • Short flows not considered • A preset rate can be set using the SYN packet • TCP friendliness • What does it mean at high capacities? • Need to consider how “friendly” the algorithm is to large aggregates of TCP connection • Is packet switching the best option for high bandwidth, large data set transfers?
Conclusions • In high bandwidth connections, TCP is limited by three factors • Slow increase in window size • Fix it using feedback from routers • Aggressive decrease of multiplicative decrease parameter • Packet corruption rates • Fix both using adaptive multiplicative decrease parameter.