a transport layer approach for improving end-to-end performance
Post on 07-Apr-2018
229 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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 −=
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
top related