55
Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien Barre (UCL-BE), Christopher Pluntke (UCL), Adam Greenhalgh (UCL), Damon Wischik (UCL) and Mark Handley (UCL) Thanks to:

Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Embed Size (px)

Citation preview

Page 1: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Improving Datacenter Performance and Robustness

with Multipath TCPCostin RaiciuDepartment of Computer ScienceUniversity Politehnica of Bucharest

Sebastien Barre (UCL-BE), Christopher Pluntke (UCL), Adam Greenhalgh (UCL), Damon Wischik (UCL) and Mark Handley (UCL)

Thanks to:

Page 2: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Motivation Datacenter apps are distributed across thousands of machines Want any machine to play any role

To achieve this: Use dense parallel datacenter topologies Map each flow to a path

Problem: Naïve random allocation gives poor performance Improving performance adds complexity

This is the wrong place to start

This is the wrong place to start

Page 3: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Contributions

Multipath topologies need multipath transport

Multipath transport enables better topologies

Page 4: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

To satisfy demand, modern datacenters provide many parallel paths

Traditional Topologies are tree-based Poor performance Not fault tolerant

Shift towards multipath topologies: FatTree, BCube, VL2, Cisco, EC2

Page 5: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Fat Tree Topology [Fares et al., 2008; Clos, 1953]

K=4

1Gbps

1Gbps

Aggregation Switches

K Pods with K Switches

each

Racks of servers

Page 6: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Fat Tree Topology [Fares et al., 2008; Clos, 1953]

K=4Aggregation

Switches

K Pods with K Switches

each

Racks of servers

Page 7: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Collisions

Page 8: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Single-path TCP collisions reduce throughput

Page 9: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Collision

Page 10: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien
Page 11: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien
Page 12: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Not fair

Page 13: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Not fair

Page 14: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien
Page 15: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien
Page 16: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

No matter how you do it,mapping each flow to a path is the wrong goal

Page 17: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Instead, we should pool capacity from different links

Page 18: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Instead, we should pool capacity from different links

Page 19: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Instead, we should pool capacity from different links

Page 20: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Instead, we should pool capacity from different links

Page 21: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Multipath Transport

Page 22: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Multipath Transport can pool datacenter networks

Instead of using one path for each flow, use many random paths

Don’t worry about collisions.

Just don’t send (much) traffic on colliding paths

Page 23: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP is a drop in replacement for TCP MPTCP spreads application data over

multiple subflows

Multipath TCP Primer [IETF MPTCP WG]

Page 24: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Multipath TCP: Congestion Control [NSDI, 2011]

Page 25: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP better utilizes the FatTree network

Page 26: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP on EC2

Amazon EC2: infrastructure as a service We can borrow virtual machines by the hour These run in Amazon data centers worldwide We can boot our own kernel

A few availability zones have multipath topologies 2-8 paths available between hosts not on the

same machine or in the same rack Available via ECMP

Page 27: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Amazon EC2 Experiment

40 medium CPU instances running MPTCP For 12 hours, we sequentially ran all-to-all

iperf cycling through: TCP MPTCP (2 and 4 subflows)

Page 28: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP improves performance on EC2

SameRack

Page 29: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

What do the benefits depend on?

Page 30: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

How many subflows are needed?

How does the topology affect results?

How does the traffic matrix affect results?

Page 31: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

At most 8 subflows are needed

Total Throughput

TCP

Page 32: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP improves fairness in VL2 topologies

VL2

Fairness is important:Jobs finish when the slowest

worker finishes

Fairness is important:Jobs finish when the slowest

worker finishes

Page 33: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP improves throughput and fairness in BCube

BCube

Page 34: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Oversubscribed Topologies

To saturate full bisectional bandwidth: There must be no traffic locality All hosts must send at the same

time Host links must not be bottlenecks

It makes sense to under-provision the network core This is what happens in practice Does MPTCP still provide benefits?

Page 35: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Performance improvements depend on traffic matrix

Ove

rload

ed

Und

erlo

aded

Sweet Spot

Increase Load

Page 36: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

What is an optimal datacenter topology for

multipath transport?

Page 37: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

In single homed topologies:

Hosts links are often bottlenecks

ToR switch failures wipe out tens of hosts for days

Multi-homing servers is the obvious way forward

Page 38: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Fat Tree Topology

Page 39: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Fat Tree Topology

ToR Switch

Servers

Upper Pod Switch

Page 40: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Dual Homed Fat Tree Topology

ToR Switch

Servers

Upper Pod Switch

Page 41: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Is DHFT any better than Fat Tree?

Not for traffic matrices that fully utilize the core

Let’s examine random traffic patterns Other TMs in the paper

Page 42: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Cor

e O

verlo

aded

Core Underloaded

DHFT provides significant improvements when core is not overloaded

Page 43: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Summary “One flow, one path” thinking has constrained datacenter

design Collisions, unfairness, limited utilization

Multipath transport enables resource pooling in datacenter networks: Improves throughput Improves fairness Improves robustness

“One flow, many paths” frees designers to consider topologies that offer improved performance for similar cost

Page 44: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Backup Slides

Page 45: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Effect of MPTCP on short flows

Flow sizes from VL2 dataset MPTCP enabled for long flows only (timer) Oversubscribed Fat Tree topology Results:

TCP/ECMP Completion time: 79ms Core Utilization: 25%

MPTCP

97ms 65%

Page 46: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

MPTCP vs Centralized Dynamic Scheduling

Infinite

Centralized Scheduling MPTCP

Scheduling Interval

Page 47: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Centralized Scheduling: Setting the Threshold

Throughput

1Gbps

100Mbps

Hope

App Limited

17% worse than

multipath TCP

17% worse than

multipath TCP

Page 48: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Centralized Scheduling: Setting the Threshold

Throughput

1Gbps

100Mbps HopeApp Limited

21% worse than

multipath TCP

21% worse than

multipath TCP

Page 49: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Centralized Scheduling: Setting the Threshold

Throughput

1Gbps

100Mbps17%

21%

500Mbps

45%

51%

Page 50: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Effect of Locality in the Dual Homed Fat Tree

Page 51: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

Overloaded Fat Tree: better fairness with Multipath TCP

Page 52: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien
Page 53: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien
Page 54: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

VL2 Topology [Greenberg et al, 2009, Clos topology]

10Gbps

20 hosts

10Gbps …

Page 55: Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Sebastien

BCube Topology [Guo et al, 2009]

BCube (4,1)