a transport layer approach for improving end-to-end performance

27
A Transport Layer A pproach for Improving End-to-End P erformanc e a nd Robustness Using Redundant P aths Ming Zhang, Junwen Lai, Randy Wang, Larry Peterson Princeton University Arvind Krishnamurthy Yale University USENIX’04 Presented by Feng-Chiao Tseng

Upload: ayman-emara

Post on 07-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 1/27

A Transport Layer Approach

for Improving End-to-EndPerformance and RobustnessUsing Redundant Paths

Ming Zhang, Junwen Lai, Randy Wang, LarryPeterson

Princeton University

Arvind KrishnamurthyYale University

USENIX’04

Presented by Feng-Chiao Tseng

Page 2: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 2/27

Outline

Introduction

mTCPTransport Layer Protocol

Path Selection

Sending PacketsShared Congestion Detection

Path Management

Path Failure Detection and Recovery

ImplementationEvaluation

Conclusion

Page 3: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 3/27

Page 4: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 4/27

Introduction(cont.)

ChallengesThe traditional congestion control mechanism inTCP needs to be modified

separate congestion control for each path

Paths may failpath failure detection and recovery

Paths may share congestionshared congestion detection and path suppression

There may exist many alternative pathspath selection

Page 5: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 5/27

Transport Layer Protocol

Similar with TCPOrdered delivery

Congestion and flow control

One send/recv buffer, sequence number

Differenceseparate congestion control

Estimating outstanding packets for each pathModified fast retransmit

Stripe packets across multiple paths

Page 6: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 6/27

Transport Layer Protocol

Separate congestion controlEach subflow maintains a congestion window

(cwndi)

To minimize the negative influence of subflowson poor path

Page 7: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 7/27

Page 8: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 8/27

Transport Layer Protocol

Estimating Outstanding packetsEach path maintain a pipei to represent thenumber of outstanding packets on pathi

Sender scoreboard records the outgoing pathsand status for each packet

Outstanding Packets on Path 1

1 2 3 4 5 Sequence Number

Outstanding Packets on Path 2

Page 9: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 9/27

Path selection

Use Resilient Overlay Networks (RON) toobtain multiple paths

With n nodes, there are m=n-1 paths

RON uses the throughput score to representthe quality of each path

Select k disjoint paths from m paths

Robustness: less likely to fail simultaneouslyPerformance: less likely to share congestion

Page 10: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 10/27

Path selection

Use traceroute to obtain router IPs along a pathand the latency of each physical link

Two paths X=(x0, x1, … xm) and Y=(y0, y1, …, yn)

L is the set of overlapping links of X and Y

X and Y are disjoint if Disjoint(X, Y) > β

∑∈

= Ll

latency(l)Y)Overlap(X,

) Latency(Y) y(X),min(LatencY)Overlap(X,1Y) , Disjoint(X  −=

Page 11: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 11/27

Path selection

Use greedy algorithmto select k disjointpaths from m paths

Start

Pick the highest score

Disjoint fromother selected?

Select it

Having k pathsor tried all path

End

N

N

Y

Y

Page 12: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 12/27

Sending Packets

When to send a packet?There exists one path whose pipei<cwndi

Which packet to send?Normally sndnxt is the next packet to send

Retransmit any lost packets firstWhich path to use to send a packet?

Choose path with minimum scorei = pipei /cwndi

Original and retransmitted packets could be senton different pathsAdapt to dynamic variation in path characteristics

Page 13: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 13/27

Sending Packets

All ACKs return over the same path

Simple, no states maintained by receiver

Avoid ACK reorderings, which increase burstiness of sender

Use the best path

Page 14: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 14/27

Shared Congestion Detection

Aggressiveness Problem

mTCP subflows with shared congestion obtain unfairlarger bandwidth than one flow

Sol:suppress paths with shared congestion

Using fast retransmits to detect

two fast retransmit sequences S(s1, s2, …, sm) and T(t1,t2, …, tn)

Si matchs t j if |si – t j| < intervalMatch(S, T)

Share congestion if Match(S, T) / min(m, n) > δ(=0.5)

Page 15: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 15/27

Shared Congestion Detection

How to choose interval?Too large

Too small

95% of congestion period < 220ms

Page 16: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 16/27

Path Management

Path suppressionShare congestion

Throughput is too low

Path failure

MPd flowUse at least d paths

Larger d means better performance andreliability

Smaller d means less aggressive

Page 17: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 17/27

Path Management

Path additionmTCP will periodically update the pathinformation by querying RON

Use a new path if it has higher score than apath being used

Page 18: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 18/27

Page 19: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 19/27

Path Failure Detection andRecovery

Failure RecoveryWhen primary path fails, all paths appear to fail

Send probe packet over all active pathsStop timers until a new primary path is selected

Receiver elects a new primary path

time

ti now

pathi pathpTimerp=Ip =4

62 4

now- Ip

Page 20: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 20/27

Implementation

Implemented at the user-level

Composed of a user-level TCP/IP stack andan overlay router/forwarder modified fromRON

Add SACK options to user-level TCP

Communicate with RON through UDPsocket

Provide standard TCP socket interface toapplication

Page 21: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 21/27

Evaluation

Run on PlanetLab and EmulabUtilizing Multiple Independent Paths

Page 22: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 22/27

Evaluation

Page 23: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 23/27

Evaluation

Shared Congestion DetectionInterval=200ms

δ=0.5

Run on a pair of paths for 60 seconds

Each experiment is repeated three times

Use the Princeton and Berkeley nodes as sourceand destination

Page 24: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 24/27

Evaluation

Page 25: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 25/27

Evaluation

Page 26: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 26/27

Evaluation

Comparison with Single-path Flows

0

0.5

1

1.5

2

2.5

3

1 2 3 4 5 6

     M     B    y     t    e    s     /    s RON

INET

MP1

Page 27: A Transport Layer Approach for Improving End-To-End Performance

8/6/2019 A Transport Layer Approach for Improving End-To-End Performance

http://slidepdf.com/reader/full/a-transport-layer-approach-for-improving-end-to-end-performance 27/27

Conclusion

mTCP is a transport layer protocol forimproving end-to-end throughput androbustness

Aggregate available bandwidth on multiplepaths in parallel

Shared congestion detection and pathsuppression to alleviate aggressiveness