Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.

Similar presentations


Presentation on theme: "Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1."— Presentation transcript:

1 Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1

2 Trends in the Future Internet High Bandwidth –Gigabit Links High Latency –Satellite –Wireless As we will find out…these spell bad news for TCP! 2

3 TCP congestion control performs poorly as bandwidth or delay increases Round Trip Delay (sec) Avg. TCP Utilization Bottleneck Bandwidth (Mb/s) Avg. TCP Utilization Because TCP lacks fast response Spare bandwidth is available  TCP increases by 1 pkt/RTT even if spare bandwidth is huge When a TCP starts, it increases exponentially  Too many drops  Flows ramp up by 1 pkt/RTT, taking forever to grab the large bandwidth Because TCP lacks fast response Spare bandwidth is available  TCP increases by 1 pkt/RTT even if spare bandwidth is huge When a TCP starts, it increases exponentially  Too many drops  Flows ramp up by 1 pkt/RTT, taking forever to grab the large bandwidth 50 flows in both directions Buffer = BW x Delay RTT = 80 ms 50 flows in both directions Buffer = BW x Delay BW = 155 Mb/s 3 behnam shafagaty

4 Efficiency and Fairness Efficiency of a link involves only the aggregate traffic’s behavior Fairness is the relative throughput of flows sharing a link. Can have efficiency but not fairness Coupled in TCP since the same control low is used for both, uses AIMD (additive increase multiplicative decrease). 4 behnam shafagaty

5 What If We Could Do It Over? If you could build a new congestion control architecture, what would it look like? Points of Observation –Packet loss is a poor signal of congestion Congestion is not a binary variable! We want precise congestion feedback –Aggressiveness of sources should adjust to delay As delay increase, rate change should be slower 5 behnam shafagaty

6 Points of Observations Cont. –Needs to be independent of number of flows Number of flows at AQM is not constant therefore it cannot be fast enough to adapt to changes –De-coupling of efficiency and fairness Done with both an efficiency controller and a fairness controller Simplifies design and provides framework for differential bandwidth allocations Use MIMD for the efficiency (quickly get BW) Use AIMD for fairness 6 behnam shafagaty

7 Proposed Solution: Decouple Congestion Control from Fairness High Utilization; Small Queues; Few Drops Bandwidth Allocation Policy 7 behnam shafagaty

8 Proposed Solution: Decouple Congestion Control from Fairness Example: In TCP, Additive-Increase Multiplicative- Decrease (AIMD) controls both Coupled because a single mechanism controls both How does decoupling solve the problem? 1.To control congestion: use MIMD which shows fast response 2.To control fairness: use AIMD which converges to fairness 8 behnam shafagaty

9 Characteristics of Our Solution 1.Improved Congestion Control (in high bandwidth- delay & conventional environments): Small queues Almost no drops 2.Improved Fairness 3.Scalable (no per-flow state) 4.Flexible bandwidth allocation: min-max fairness, proportional fairness, differential bandwidth allocation,… 9 behnam shafagaty

10 XCP: An eXplicit Control Protocol 1. Congestion Controller 2. Fairness Controller 10 behnam shafagaty

11 Feedback Round Trip Time Congestion Window Congestion Header Feedback Round Trip Time Congestion Window How does XCP Work? How does XCP Work? Feedback = + 0.1 packet 11 behnam shafagaty

12 Feedback = + 0.1 packet Round Trip Time Congestion Window Feedback = - 0.3 packet How does XCP Work? How does XCP Work? 12 behnam shafagaty

13 Congestion Window = Congestion Window + Feedback Routers compute feedback without any per-flow state How does XCP Work? How does XCP Work? XCP extends ECN 13 behnam shafagaty

14 How Does an XCP Router Compute the Feedback? Congestion Controller Fairness Controller Goal: Divides  between flows to converge to fairness Looks at a flow’s state in Congestion Header Algorithm: If  > 0  Divide  equally between flows If  < 0  Divide  between flows proportionally to their current rates MIMD AIMD Goal: Matches input traffic to link capacity & drains the queue Looks at aggregate traffic & queue Algorithm: Aggregate traffic changes by   ~ Spare Bandwidth  ~ - Queue Size So,  =  d avg Spare -  Queue 14 behnam shafagaty

15  =  d avg Spare -  Queue Theorem: System converges to optimal utilization (i.e., stable) for any link bandwidth, delay, number of sources if: (Proof based on Nyquist Criterion) Getting the devil out of the details … Congestion Controller Fairness Controller No Parameter Tuning No Parameter Tuning Algorithm: If  > 0  Divide  equally between flows If  < 0  Divide  between flows proportionally to their current rates Need to estimate number of flows N RTT pkt : Round Trip Time in header Cwnd pkt : Congestion Window in header T: Counting Interval No Per-Flow State No Per-Flow State 15 behnam shafagaty

16 Implementation Implementation uses few multiplications & additions per packet Practical! XCP can co-exist with TCP and can be deployed gradually Gradual Deployment Liars? Policing agents at edges of the network or statistical monitoring Easier to detect than in TCP 16 behnam shafagaty

17 Performance 17 behnam shafagaty

18 Bottleneck S1S1 S2S2 R 1, R 2, …, R n SnSn Subset of Results Similar behavior over: 18 behnam shafagaty

19 XCP Remains Efficient as Bandwidth or Delay Increases Bottleneck Bandwidth (Mb/s) Utilization as a function of Bandwidth Avg. Utilization Round Trip Delay (sec) Avg. Utilization Utilization as a function of Delay 19 behnam shafagaty

20 Avg. Utilization XCP Remains Efficient as Bandwidth or Delay Increases Bottleneck Bandwidth (Mb/s)Round Trip Delay (sec) Utilization as a function of Delay XCP increases proportionally to spare bandwidth  and  chosen to make XCP robust to delay Utilization as a function of Bandwidth 20 behnam shafagaty

21 XCP Shows Faster Response than TCP XCP Shows Faster Response than TCP XCP shows fast response! Start 40 Flows Stop the 40 Flows 21 behnam shafagaty

22 XCP Deals Well with Short Web-Like Flows Arrivals of Short Flows/sec AverageUtilization AverageQueue Drops 22 behnam shafagaty

23 XCP is Fairer than TCP Flow ID Different RTT Same RTT Avg. Throughput Flow ID Avg. Throughput (RTT is 40 ms 330 ms ) 23 behnam shafagaty

24 XCP Summary XCP –Outperforms TCP –Efficient for any bandwidth –Efficient for any delay –Scalable Benefits of Decoupling –Use MIMD for congestion control which can grab/release large bandwidth quickly –Use AIMD for fairness which converges to fair bandwidth allocation 24 behnam shafagaty

25 NS Code & More Information at: http://ana.lcs.mit.edu/dina/XCP 25 behnam shafagaty


Download ppt "Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1."

Similar presentations


Ads by Google