advanced computer networking congestion control for high bandwidth-delay product environments (xcp...

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

Upload: arleen-perkins

Post on 18-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

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

Advanced Computer Advanced Computer NetworkingNetworking

Congestion Control for High Bandwidth-Delay Product

Environments(XCP Algorithm)

11

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

Trends in the Future Trends in the Future InternetInternet

•High Bandwidth–Gigabit Links

•High Latency–Satellite–Wireless

As we will find out…these spell bad news for TCP!

22

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

TCP congestion control performs poorly TCP congestion control performs poorly as bandwidth or delay increasesas bandwidth or delay increases

Round Trip Delay (sec)

Avg.

TC

P U

tiliz

ati

on

Bottleneck Bandwidth (Mb/s)

Avg.

TC

P U

tiliz

ati

on

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 directionsBuffer = BW x Delay

RTT = 80 ms

50 flows in both directionsBuffer = BW x Delay

BW = 155 Mb/s

33 behnam shafagatybehnam shafagaty

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

Efficiency and FairnessEfficiency 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).

44 behnam shafagatybehnam shafagaty

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

What If We Could Do It OverWhat 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

55 behnam shafagatybehnam shafagaty

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

Points of Observations Points of Observations ContCont..– 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

66 behnam shafagatybehnam shafagaty

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

Proposed Solution:

Decouple Congestion Control from Fairness

High Utilization; Small Queues; Few Drops

Bandwidth Allocation Policy

77 behnam shafagatybehnam shafagaty

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

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

88 behnam shafagatybehnam shafagaty

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

Characteristics of Our Characteristics of Our SolutionSolution

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,…

99 behnam shafagatybehnam shafagaty

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

XCP: An eXCP: An eXXplicit plicit CControl ontrol PProtocolrotocol

1. Congestion Controller2. Fairness Controller

1010 behnam shafagatybehnam shafagaty

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

Feedback

Round Trip Time

Congestion Window

Congestion Header

Feedback

Round Trip Time

Congestion Window

How does XCP WorkHow does XCP Work??

Feedback = + 0.1 packet

1111 behnam shafagatybehnam shafagaty

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

Feedback = + 0.1 packet

Round Trip Time

Congestion Window

Feedback = - 0.3 packet

How does XCP WorkHow does XCP Work??

1212 behnam shafagatybehnam shafagaty

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

Congestion Window = Congestion Window + Feedback

Routers compute feedback without any per-flow state Routers compute feedback without any per-flow state

How does XCP WorkHow does XCP Work??

XCP extends ECN

1313 behnam shafagatybehnam shafagaty

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

How Does an XCP Router Compute How Does an XCP Router Compute the Feedbackthe Feedback??

Congestion Controller

Fairness ControllerGoal: Divides between flows to converge to fairnessLooks at a flow’s state in Congestion Header

Algorithm:If > 0 Divide equally between flowsIf < 0 Divide between flows proportionally to their current rates

MIMD AIMD

Goal: Matches input traffic to link capacity & drains the queueLooks at aggregate traffic & queue

Algorithm:Aggregate traffic changes by ~ Spare Bandwidth ~ - Queue SizeSo, = davg Spare - Queue 1414 behnam shafagatybehnam shafagaty

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

= davg Spare - Queue

224

0 2 and

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 detailsGetting the devil out of the details ……

Congestion Controller Fairness Controller

No Parameter Tuning

No Parameter Tuning

Algorithm:If > 0 Divide equally between flowsIf < 0 Divide between flows proportionally to their current rates

Need to estimate number of flows N

Tinpkts pktpkt RTTCwndTN

)/(1

RTTpkt : Round Trip Time in header

Cwndpkt : Congestion Window in headerT: Counting Interval

No Per-Flow State

No Per-Flow State

1515 behnam shafagatybehnam shafagaty

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

ImplementationImplementation

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

1616 behnam shafagatybehnam shafagaty

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

PerformancePerformance

1717 behnam shafagatybehnam shafagaty

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

BottleneckS1

S2

R1, R2, …, Rn

Sn

Subset of Results

Similar behavior over:

1818 behnam shafagatybehnam shafagaty

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

XCP Remains Efficient as XCP Remains Efficient as Bandwidth or Delay IncreasesBandwidth or Delay Increases

Bottleneck Bandwidth (Mb/s)

Utilization as a function of Bandwidth

Avg.

Uti

lizati

on

Round Trip Delay (sec)

Avg.

Uti

lizati

on

Utilization as a function of Delay

1919 behnam shafagatybehnam shafagaty

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

Avg.

Uti

lizati

on

Avg.

Uti

lizati

on

XCP Remains Efficient as XCP Remains Efficient as Bandwidth or Delay IncreasesBandwidth 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

2020 behnam shafagatybehnam shafagaty

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

XCP Shows Faster Response XCP Shows Faster Response than TCPthan TCP

XCP shows fast response!XCP shows fast response!

Start 40 Flows

Start 40 Flows

Stop the 40 Flows

Stop the 40 Flows

2121 behnam shafagatybehnam shafagaty

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

XCP Deals Well with Short Web-Like FlowsXCP Deals Well with Short Web-Like Flows

Arrivals of Short Flows/sec

Average Utilization

Average Queue

Drops

2222 behnam shafagatybehnam shafagaty

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

XCP is Fairer than TCPXCP is Fairer than TCP

Flow ID

Different RTTSame RTT

Avg

. Th

rou

gh

pu

t

Flow ID

Avg

. Th

rou

gh

pu

t

(RTT is 40 ms 330 ms )

2323 behnam shafagatybehnam shafagaty

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

XCP SummaryXCP 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

2424 behnam shafagatybehnam shafagaty

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

NS Code & More Information at:NS Code & More Information at:

http://ana.lcs.mit.edu/dina/XCPhttp://ana.lcs.mit.edu/dina/XCP

2525 behnam shafagatybehnam shafagaty