Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Exploiting Path Diversity in Datacenters using MPTCP-aware SDN


Published on

Presented at ISCC 2016, Messina, Italy
Paper available here:

Published in: Education
  • Be the first to comment

Exploiting Path Diversity in Datacenters using MPTCP-aware SDN

  1. 1. Exploiting Path Diversity in Datacenters Using MPTCP-aware SDN Savvas Zannettou, Michael Sirivianos, Fragkiskos Papadopoulos Cyprus University of Technology ISCC 2016, Messina, Italy
  2. 2. Goal • Offer near-optimal performance and robustness o In datacenter networks • Use Multipath TCP (MPTCP) o Create as few MPTCP subflows as possible • We propose an alternative routing mechanism o Use of the Software Defined Networking (SDN) paradigm
  3. 3. Multipath TCP (MPTCP) • Presents a regular TCP interface to applications • Enables the simultaneous use of multiple interfaces • Spreads data across several subflows o subflow = a regular TCP connection that is a part of a larger MPTCP connection • Provides load balancing (MPTCP scheduler) 3
  4. 4. MPTCP- Subflow creation • More subflows can o Exploit more network paths § Can increase performance and robustness • However they impose more overheads o Large buffers to cope with reordering o Higher CPU utilization o SDN-specific overheads § SDN controller load § Installed rules on switches 4
  5. 5. Datacenter Networks • Goal: Each host should be able to transfer data at it’s network interface bandwidth • Multiple redundant paths between hosts • MPTCP as the transport protocol (proposed by Raiciu et al. SIGCOMM 2011) • Usually combined with flow-based Equal-Cost Multi-Path Routing (ECMP) o Pick among Equal-Cost paths by calculating a 5-tuple hash 5
  6. 6. ECMP Limitations • Considering a flow-based ECMP approach o Random selection of paths o Utilizes only shortest paths
  7. 7. ECMP Limitations (1) • Considering a flow-based ECMP approach o Random selection of paths o Utilizes only shortest paths Creates 2 MPTCP subflows Subflow 1 Flow-based ECMP Subflow 2 Subflow 1Subflow 2 Outcome: 2 paths remain unutilized. 2 subflowsà one subflow is “redundant”
  8. 8. ECMP Limitations (2) • Considering a flow-based ECMP approach o Random selection of paths o Utilizes only shortest paths Creates 2 MPTCP subflows Subflow 1 Flow-based ECMP Subflow 2 Subflow 1Subflow 2 Outcome: 1 path remain unutilized Created 2 subflows à no “redundant” subflows
  9. 9. Deterministic Routing Scenario Creates 3 MPTCP subflows Subflow 1 Deterministic Routing Mechanism Subflow 2 Subflow 1Subflow 2 Outcome: All paths are utilized and no “redundant ” subflows Subflow 3 Subflow 3
  10. 10. System Overview 10
  11. 11. Datacenter Topologies • FatTree Topology (Al-Fares et al. SIGCOMM 2008) o Most prominent structured datacenter topology • Jellyfish Topology (Singla et al. NSDI 12) o No structure (random-based) • We propose a dual-homed topology based on Jellyfish (DH-Jellyfish)
  12. 12. MPTCP-aware SDN Controller • Main components o Topology Manager (TM) § Calculates network paths between hosts o Forwarding Module (FM) § Decides subflow-to-path assignment • Based on Floodlight SDN Controller (Open Source) • Released and publicly available on Github (link in manuscript) 12
  13. 13. Topology Manager (TM) • Global view of the network • Graph theory to calculate paths o Depth-limited DFS algorithm • Able to find various set of paths such as: o Shortest Paths o K-Shortest paths o K-Edge-Disjoint paths 13
  14. 14. Forwarding Module (FM) • Random approach o Randomly selects a path from the obtained set of paths (simulates flow-based ECMP) • MPTCP-aware approach o Offers deterministic subflow assignment to paths o Extracts MPTCP options to identify connections o Stores set of paths and subflow assignment in the granularity of MPTCP connection/ Source IP Address and Destination IP Address 14
  15. 15. Evaluation Setup • MPTCP Linux Kernel v0.90 • Mininet Emulator • Open vSwitch • Considered Topologies o 8-ary FatTree o Jellyfish with 120 hosts o DH-Jellyfish with 120 hosts 15
  16. 16. Evaluation Setup (cont.) • Considered routing mechanisms: o MPTCP-aware approach (M) o Random-based approach (R) • Traffic patterns: o Permutation traffic matrix (PT) § Flows share links only in core of the network o Unconstrained traffic matrix (UT) § Host access links may become bottlenecks 16
  17. 17. Evaluation Metrics • Average throughput over all MTPCP connections • Distribution of MPTCP throughput o Fairness between MPTCP connections o Performance of worst connection • All results are averaged over 10 different runs 17
  18. 18. Results FatTree - PT
  19. 19. Results Jellyfish - PT 19
  20. 20. Results for UT in both topologies • No performance gains from using the MPTCP-aware approach instead of the random approach o Better exploitation of paths in the core of the network doesn’t help o Flows are bottlenecked at the hosts’ access links
  21. 21. How to increase performance in UT? • Proposed dual-homed variant of Jellyfish (DH- Jellyfish) o Hosts have two interfaces o Trade some path diversity in the core of the network in favor of increased bandwidth at endpoints • Does creating more subflows per pair of IP addresses increases performance? o MPTCP Linux Kernel Patch in v0.90 (fullmesh path manager) 21
  22. 22. Number of subflows per pair of IP addresses 22
  23. 23. Jellyfish vs DH-Jellyfish 23
  24. 24. Conclusions • MPTCP-aware approach provides performance benefits over random-based approach o Released the SDN controller on Github • Creating multiple subflows in multi-interface settings yields performance benefits o Linux Kernel Patch added in MPTCP v0.90 • Future Work: o Study performance with short and long-lived flows (flow completion time) o Investigate if it is applicable in a proactive SDN environment 24
  25. 25. Back-up slides
  26. 26. SDN vs Traditional Networking 26 Control Plane Data PlaneFrames in Frames out SDN Controller (Control Plane) OpenFlow Switch (Data Plane)Frames in Frames out OpenFlow Protocol Network
  27. 27. OpenFlow Basics 27 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Match Action Stats 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Modify fields Packet + byte counters Rule
  28. 28. MPTCP-Connection Establishment 28
  29. 29. FM Algorithm Pseudocode 29
  30. 30. Results FatTree 30
  31. 31. Results Jellyfish 31
  32. 32. FM • pathCache hashtable o Stores information regarding set of paths o Expires entries every 60 minutes • flows hashtable o Stores information regarding MTPCP connections and subflow assignment o Expires entries every 5 seconds • primaryIPs hashtable o Stores IP addresses pairs that involved in MP_CAPABLE handshakes 32