Data Center Networking with Multipath TCP Costin Raiciu, Christopher Pluntke, Sebastien Barre, Adam Greenhalgh, Damon Wischik, Mark Handley Hotnets 2010 報 告 者 : 莊 延 安
Outline Introduction Analysis Conclusion
Introduction How can we ensure that no matter the traffic pattern, the load is distributed between the many possible parallel paths as evenly as possible?
Analysis Single path TCP with RLB The current wisdom seems to be to use randomised load balancing (RLB) to randomly choose a path for each flow from among the possible parallel paths. MPTCP To utilize multiple parallel paths for each TCP connection
Analysis Fat tree VL2 BCube
Analysis Fig. shows the total throughput of all flows when we use a random permutation matrix where each host sends flat out (as determined by the TCP response function) to a single other host. The benefits of MPTCP are clear; as additional subflows are added, the overall throughput increases.
Analysis Fig. shows the minimum number of subflows that can achieve 90% utilization for each size of network. The result is encouraging: beyond a certain size, the number of subflows needed does not increase significantly with network size
Analysis Fig. shows the throughput of the lowest speed flow (as a percentage of what should be achievable) and Jain s fairness index for the three topologies. Multipath always improves fairness, even for the VL2 topology which performed relatively well if we only examine throughput.
Analysis The results in Fig.(a) show that MPTCP does not increase network load, as measured by either mean or max loss rate. In contrast, independent congestion control for each subflow causes the network to become increasingly congested as we add more subflows. Fig. (b) shows the number of retransmit timeouts in this experiment. Unsurprisingly, independent TCP suffers many timeouts, which may impact application performance.
Conclusion MPTCP is a simple solution that can effectively utilize the dense parallel network topologies proposed for modern data centers, significantly improving throughput and fairness compared to singlepath TCP.
Design, Implementation and Evaluation of Congestion Control for Multipath TCP Damon Wischik, Costin Raiciu, Adam Greenhalgh, Mark Handley University College London Proc. Usenix NSDI 2011 報 告 者 : 黃 聖 荃
Outline Introduction Related Work Problems Solution Experimental Results Conclusions
Introduction Multipath TCP allows a single data stream to be split across multiple paths. This has obvious benefits for reliability, the connection can persist when a path fails.
Introduction (cont.) Multipath TCP also raises questions, some obvious and some subtle, about how network capacity should be shared efficiently and fairly between competing flows.
Related Work
Regular Single TCP Congestion Control Each ACK, increase the congestion window w by 1/w, resulting in an increase of one packet per RTT Each loss, decrease w by w/2.
Equally-Weighted TCP Main idea : Split traffic evenly The multipath flow gets the same throughput as a regular TCP at the bottleneck link.
Equally-Weighted TCP(CONT.) Each subflow gets window size proportional to a^2, and a = 1/ n, where n is the number of paths. For each ACK on path r, increase window wr by a/ wr For each loss on path r, decrease window wr by wr /2
Coupled Main idea : A multipath flow should shift all its traffic onto the least-congested path.
Coupled(cont.) Wtotal is the total window size across all subflows. For each ACK on path r, increase window wr by 1/wtotal. For each loss on path r, decrease window wr by wtotal /2
Coupled(cont.) Consider that all paths have the same loss rate p Wtotal = (where the approximation is good if p is small)
Problems Adapting to load changes
Problems(cont.) RTT mismatch
Solution Main idea : 1. A multipath flow should give a connection at least as much throughput as it would get with single-path TCP on the best of its paths. 2. A multipath flow should take no more capacity on any path or collection of paths than if it was a single path TCP flow using the best of those paths.
Solution(cont.) Let be the equilibrium window obtained by multipath TCP on path r Let be the equilibrium window that would be obtained by a single-path TCP experiencing path r s loss rate.
Solution(cont.)
Solution(cont.) Final algorithm : MPTCP Each ACK on subflow r, increase the window wr by min(ɑ/wtotal, 1/wr). Each loss on subflow r, decrease the window wr by wr/2.
Experimental Results TP1 is a random permutation where each host opens a flow to a single destination chosen uniformly at random, such that each host has a single incoming flow. TP2 each host opens 12 flows to 12 destinations TP3 is a sparse traffic pattern: 30% of the hosts open one flow to a single destination chosen uniformly at random.
Experimental Results(cont.)
Experimental Results(cont.)
Conclusions MPTCP selects efficient paths and balances congestion. MPTCP performs well across wide range traffic patterns.
Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu, Sebastien Barre, Christopher Pluntke, Adam Greenhalgh, Damon Wischik, Mark Handley SIGCOMM 2011 報 告 者 : 陳 孟 緯 1
Benefit of MPTCP in Data Centers Better aggregate throughput: more paths and load-balancing, reduce number of underutilized and idle links Better robustness : once a link or switch fail, with MPTCP, others can continue without pausing 2
Examples of benefits Throughput Traffic pattern: permutation matrix & every host sends to one other host chosen at random Left&right histogram: increase network size slightly reduce overall performance Grey& black histogram: packet-level & flow level are in agreement about performance benefit& number of subflows 3
Examples of benefits(cont) Throughput Reason :single-path performs poorly Fairness: Most MPTCP flows get at least 90% of the available capacity 35
Analysis What impact to performance of TCP vs MPTCP Influence of topology Number of subflows Oversubscribed topologies 36
Influence of Topology Performance: BCube is similar to FatTree VL2- gain smaller- most gain Cause Bcube same problem with collision with FatTree does VL2: capacity of links is huge 37
Number of subflows On FatTree & permutation traffic matrix 8 subflows 90%throughput indicate how many of subflows are required the variance settles down above eight subflows 38
Oversubscribed Topologies Low-load: most flows never share a link with another flow saturate between TCP & MPTCP High load: core congested & MPTCP provides significant improvements in throughput 39
What is an optimal datacenter topology for multipath transport? 40
Evolving topologies with MPTCP Consider 2 topologies: Perfect Switch : FatTree and VL2 both try to emulate a single huge non-blocking switch, giving an upper bound on what any network core might provide using single links to the hosts. Dual-homed FatTree (DHFT): traditional,fattree with 5 switch port per host; one is to the host and 4 for connect 4 layer of switches. DHFT, remove one port per host from the core and connect to second interface on switch ports 41
Fat Tree Topology Upper Pod Switch ToR Switch Servers 42
Dual Homed Fat Tree Topology Upper Pod Switch ToR Switch Servers 43
Evolving topologies with MPTCP (const) Analysis: Effects of Locality Dark grey region shows throughputs that are feasible as locality changes Light grey region show the possible throughput if one of the two interfaces on each host is used Effects of Load Light-to-medium load: twice performance High load: bottleneck 44
Evolving topologies with MPTCP (const) Discussion DHFT cost the same as a Fat Tree DHFT improves robustness DHFT is not optimal by any measure but it shows that we can create topologies with better performance if we assume MPTCP is the transport protocol With MPTCP as transport, a wider range of topologies are cost-effective create a topology with 2Gb/s full bisection bandwidth, we could use a k-port Fat Tree with k3/8 dual-homed hosts 45
Conclusion One flow, one path thinking has constrained datacenter design Collisions, limited utilization MPTCP could improve data center performance by performing very short timescale distributed load balancing Provide benefits for bottlenecked problem 46
Question Consider with EWTCP and MPTCP, which of the following answers are true? (A) EWTCP splits its traffic evenly. (B) MPTCP splits its traffic evenly. (C) EWTCP tends to shift its traffic onto the leastcongested path. (D) MPTCP tends to shift its traffic onto the leastcongested path.
Answer (A) EWTCP splits its traffic evenly. (B) MPTCP splits its traffic evenly. (C) EWTCP tends to shift its traffic onto the leastcongested path. (D) MPTCP tends to shift its traffic onto the leastcongested path.