+ All Categories
Home > Documents > MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce...

MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce...

Date post: 25-May-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
MultiPath TCP in OpenFlow Networks Michael Bredel, Caltech@CERN c Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013 Caltech www.caltech.edu
Transcript
Page 1: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP in OpenFlow Networks

Michael Bredel, Caltech@CERN

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 2: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Outline

Motivation

MultiPath TCPI Basics and Design ObjectivesI Connection SetupI Congestion Control and Fairness

OpenFlow Link-Layer MultiPath SwitchingI OLiMPS - OpenFlow Link Layer MultiPath SwitchingI Floodlight/OLiMPS OpenFlow ControllerI Path Calculation Engine

Preliminary ResultsI International MultiPath OpenFlow Network

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 3: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multiple Paths?

Why do we need multiple paths?I Data sets are growing exponentiallyI Copying these data sets in reasonable time between sites requires a lot

of bandwidth

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 4: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multiple Paths?

Why do we need multiple paths?I Data sets are growing exponentiallyI Copying these data sets in reasonable time between sites requires a lot

of bandwidth

A single sperm has 37.5 MBof DNA information in it.at means a normalejaculation represents a datatransfer of arround 1.6 GB inabout 3 seconds ... and youthough 4G was fast.

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 5: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multiple Paths?

Why do we need multiple paths?I Data sets are growing exponentiallyI Copying these data sets in reasonable time between sites requires a lot

of bandwidthI 40 Gbit/s or 100 Gbit/s end-to-end is not always available (e.g.

transatlantic) or to costlyI We are approaching the theoretical limit of fibre capacity

I Probabilistic backlog and delay bounds [5]

100

101

102

103

-10 0 10 20 30 40

Gb/

s in

50

GH

z

OSNR in 0.1 nm [dB]

10 Gb/s

40 Gb/s

100 Gb/s

200 Gb/s

NotPossible

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 6: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multiple Paths?

Why do we need multiple paths?I Data sets are growing exponentiallyI Copying these data sets in reasonable time between sites requires a lot

of bandwidthI 40 Gbit/s or 100 Gbit/s end-to-end is not always available (e.g.

transatlantic) or to costlyI We are approaching the theoretical limit of fibre capacityI Probabilistic backlog and delay bounds [5]

P[B ≥ b] ≤ εs =Γ( 1

2β )

2β(− log η)1

η = exp

(− 1

2σ2

(C − λH + β

)2(H+β)( b1− (H + β)

)2−2(H+β))

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 7: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Network Structure - Local Area Networks

Evolution of data center networksI Traditional topologies are tree based

I Poor performanceI Not fault tolerant

I Shift towards multipath topologiesI FatTree [1], BCube [2], EC2

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 8: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Network Structure - Local Area Networks

Evolution of data center networksI Traditional topologies are tree based

I Poor performanceI Not fault tolerant

I Shift towards multipath topologiesI FatTree [1], BCube [2], EC2

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 9: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Network Structure - Wide Area Networks

LHC experiments and computing resourcesI Aims at allowing physicists to test the predictions of different theories,

e.g. searching for the Higgs bosonI Hosts 4 big experimentsI Produce approx. 15-25 petabytes data per yearI The LHC Computing Grid connects 170 computer centres in 36 countriesI Challenges: Moving from a strict hierarchic model to a mashed grid

T0

T1 T1 T1

T2 T2 T2 T2 T2 T2 T2

T3 T3

Tier0: CERN

Tier1: Data centers

Tier2: Universities

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 10: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Network Structure - Wide Area Networks

LHC experiments and computing resourcesI Aims at allowing physicists to test the predictions of different theories,

e.g. searching for the Higgs bosonI Hosts 4 big experimentsI Produce approx. 15-25 petabytes data per yearI The LHC Computing Grid connects 170 computer centres in 36 countriesI Challenges: Moving from a strict hierarchic model to a mashed grid

T0

T1 T1 T1

T2 T2 T2 T2 T2 T2 T2

T3 T3

Tier0: CERN

Tier1: Data centers

Tier2: Universities

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 11: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multipathing - Collisions in (Data Center) Networks

Multipathing based on ECMPI Paths are chosen randomlyI Deploying an (unknown) hash function

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 12: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multipathing - Collisions in (Data Center) Networks

Multipathing based on ECMPI Paths are chosen randomlyI Deploying an (unknown) hash function

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 13: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multipathing - Collisions in (Data Center) Networks

Multipathing based on ECMPI Paths are chosen randomlyI Deploying an (unknown) hash function

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 14: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multipathing - Collisions in (Data Center) Networks

Multipathing based on ECMPI Paths are chosen randomlyI Deploying an (unknown) hash function

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 15: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multipathing - Collisions in (Data Center) Networks

Multipathing based on ECMPI Paths are chosen randomlyI Deploying an (unknown) hash function

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 16: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Multipathing - Collisions in (Data Center) Networks

Multipathing based on ECMPI Paths are chosen randomlyI Deploying an (unknown) hash function

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 17: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP

MultiPath TCP

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 18: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Design Objectives

MultiPath TCP (MPTCP) is anevolution of TCP that can effectivelyuse multiple paths between a singletransport connection. [3]

I It supports unmodifiedapplications, since MPTCP lookslike standard TCP.

I It works in today’s networks.I It is standardized at the IETF

Application Layer

Transport Layer

Network Layer

MPTCP

TCPSubFlow

TCPSubFlow

TCPSubFlow

TCPSubFlow

TCPSubFlow

TCPSubFlow

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 19: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Connection Setup

MPTCP Connection Setup (simplified)I Deploying new TCP options to indicate MPTCP and to join subflowsI For subflows, the server keeps the same state variables as for regular

TCP

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 20: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Connection Setup

MPTCP Connection Setup (simplified)I Deploying new TCP options to indicate MPTCP and to join subflowsI For subflows, the server keeps the same state variables as for regular

TCP

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 21: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Connection Setup

MPTCP Connection Setup (simplified)I Deploying new TCP options to indicate MPTCP and to join subflowsI For subflows, the server keeps the same state variables as for regular

TCP

(1) SYN MP_CAPABLE A

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 22: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Connection Setup

MPTCP Connection Setup (simplified)I Deploying new TCP options to indicate MPTCP and to join subflowsI For subflows, the server keeps the same state variables as for regular

TCP

(1) SYN MP_CAPABLE A

(2) SYN/ACK MP_CAPABLE A

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 23: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Connection Setup

MPTCP Connection Setup (simplified)I Deploying new TCP options to indicate MPTCP and to join subflowsI For subflows, the server keeps the same state variables as for regular

TCP

(1) SYN MP_CAPABLE A

(2) SYN/ACK MP_CAPABLE A

(3) SYN JOIN A

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 24: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Connection Setup

MPTCP Connection Setup (simplified)I Deploying new TCP options to indicate MPTCP and to join subflowsI For subflows, the server keeps the same state variables as for regular

TCP

(1) SYN MP_CAPABLE A

(2) SYN/ACK MP_CAPABLE A

(3) SYN JOIN A

(4) SYN/ACK JOIN B

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 25: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

A little bit of history:

I Packet switching pools circuits

I Multipath pools links

Two circuits A link

Two seperate links Two agregated links

I How should a link pool be shared?

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 26: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

A little bit of history:

I Packet switching pools circuitsI Multipath pools links

Two circuits A link Two seperate links Two agregated links

I How should a link pool be shared?

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 27: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

A little bit of history:

I Packet switching pools circuitsI Multipath pools links

Two circuits A link Two seperate links Two agregated links

I How should a link pool be shared?

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 28: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

MPTCP Congestion Control Design Goals

I MPTCP should be fair to regular TCP at shared linksTo this end, MPTCP should take as much capacity as regular TCPon a bottleneck link, no matter how may subflows are present.

I MPTCP should use efficient paths1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

I MPTCP should get at least as much throughput as TCP on the best pathTo this end, MPTCP should take congestion as well as RTTsinto account

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 29: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

How does MPTCP congestion control work? (simplified)

I Maintain a congestion window wr, for each subflow, where r ∈ R rangesover the set of available paths.

I Increase wr for each ACK on path r by

α∑r wr

I Decrease wr for each packet drop in subflow r by wr/2

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 30: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

MPTCP ...I uses all available pathsI moves data to least congested paths

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 31: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

MultiPath TCP - Congestion Control

MPTCP ...I uses all available pathsI moves data to least congested paths

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 32: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OpenFlow Link-Layer MultiPath Switching

OpenFlow Link-Layer MultiPath Switching

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 33: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Link-layer MultiPath Switching

OLiMPS - OpenFlow Link-layer MultiPath SwitchingI Addresses the problem of topology limitations in large-scale layer 2

networksI Remove the necessity of a tree structure in the topology achieved

though the use of Spanning Tree ProtocolI Allow for per-flow multipath switching and increase the robustness and

efficiency of layer 2 network resourcesI Integrate dynamic circuit provisioning systems like OSCARS and

OpenFlow

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 34: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - Use Case

Multipathing based on OpenFlowI Full control, thus, paths can be chosen deterministicallyI Applicable to a variety of flow definitions.I Works also for a small number of flows

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 35: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - Use Case

Multipathing based on OpenFlowI Full control, thus, paths can be chosen deterministicallyI Applicable to a variety of flow definitions.I Works also for a small number of flows

Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch Top-Rack-Switch

SwitchSwitchSwitch SwitchSwitch

Switch Switch Switch

Switch

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 36: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

OLiMPS OpenFlow ControllerI Based on Floodlight [4]

I Written in JavaI Supports OpenFlow 1.0

I Implements a set of OpenFlow applicationsI ProxyARPI PathfinderI Multipath Forwarding

I Allows for multiple paths between OpenFlow islands

OpenFlow Island 1 OpenFlow Island 2Non OpenFlow Island

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 37: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Floodlight/OLiMPS controller architecture

R

LinkDiscovery

ThreadPool

UnitTest

PacketStreamer

R

DeviceManager

R

ModuleManager

PythonServer

R

WebUI

R

CounterStore

R

Trace

OpenFlow ServicesR

Switches

R

ControllerMemory

R

PerformanceMonitor

Floodlight Controller

R

StaticFlowEntry

Pusher

R

VNF

R

Firewall

R

Hub

R

PortDownRecon-ciliation

Module Applications

Java A

PI

REST API

REST ApplicationsR

CircuitPusher

(Python)

R

OpenStackQuantum Plugin

(Python)

FlowCache

R

Storage

Memory

NoSQL

RTopologyManager/Routing

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 38: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Floodlight/OLiMPS controller architecture

R

LinkDiscovery

ThreadPool

UnitTest

PacketStreamer

R

DeviceManager

R

ModuleManager

PythonServer

R

WebUI

R

CounterStore

R

Trace

OpenFlow ServicesR

Switches

R

ControllerMemory

R

PerformanceMonitor

Floodlight Controller

R

StaticFlowEntry

Pusher

R

VNF

R

Firewall

R

Hub

R

PortDownRecon-ciliation

Module Applications

Java A

PI

REST API

REST ApplicationsR

CircuitPusher

(Python)

R

OpenStackQuantum Plugin

(Python)

R

TopologyManager

R

PathFinder

R

Storage

Memory

NoSQL

R

CLI

FlowCache

R

MultipathForwarding

R

ProxyARP

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 39: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

OLiMPS Pathfinder and Multipath ForwardingI Two modules (in contrast to the original Floodlight) implementing

IRoutingService and extending ForwardingBaseI Calculate multiple link-disjoint paths from source to destinationI Per flow multi-pathingI Reactive flow handling

I New paths are calculated whenever a new flow appears at an edge switchI Flows are mapped to paths in a (capacity weighted) round robin mannerI Flow rules are pushed to all switches of a paths

OpenFlow Island 1 OpenFlow Island 2Non OpenFlow Island

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 40: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 41: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

(1)

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 42: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

(2)

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 43: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

(3) (3) (3) (3)

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 44: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

(3) (3) (3) (3)

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 45: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 46: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - OpenFlow Controller

Path setup

(1) First packet of a new flow arrives at OpenFlow switch

(2) Packet is forwarded to OpenFlow controller

(3a) The controller calculates all paths between source and destination switch

(3b) The controller installs the flow mods for one path for the new flow

(4) Packets are forwarded on the newly installed path

OpenFlow Island

OLiMPSOpenFlow Controller

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 47: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - International Multipath OpenFlow Network

StarLight, ChicagoNetherLight, Amsterdam

CERN, Geneva

Open Flow

Open Flow

Open Flow

Open Flow

Open Flow

Open Flow

I The Floodlight OpenFlowcontroller uses LLDP todiscover the topology.

I OpenFlow is used to configuremultiple paths between the servers.

I Pathfinder and Multipath Forwarding installflow forwarding entries for multiple paths betweenthe servers to the Pronto 3290 OpenFlow switches.

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 48: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - International Multipath OpenFlow Network

SuperComputing 2012: Streaming from GVA to CHI

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 49: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

OLiMPS - New ideas and next steps

OLiMPS RoadmapI Implement intelligent path selection, e.g. based on measurementsI Implement in-network load balancingI Integrate QoS policies, e.g. rate limits per pathI Extend the error handling, e.g. seamless flow redirectionI Move to OpenFlow version 1.2/1.3

Some open (research) questions remainI Where to do traffic load balancing: In the end hosts or in the network?I Is the system still stable or can it oscillate?I What is the overall performance of such a system in terms of resource

efficiency, throughput, fairness, etc.

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 50: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

Summary & Conclusion

MultiPath TCPI ... is an evolution of TCP that uses multiple paths between a single

transport connectionI ... supports unmodified applications and works in today’s networksI ... implementations work fine for moderate fast datacenter networksI There is room for improvement on high speed networks, i.e. ≥ 10 Gb/s

and WANs

OpenFlow Link-Layer MultiPath SwitchingI ... removes some limitations in large-scale layer 2 networksI ... allows for an effective calculation of multiple paths between source

and destinationI There is room for improvement towards a production ready system

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Page 51: MultiPath TCP in OpenFlow Networks · 2013-06-05 · = exp 1 2 ˙2 C H + 2(H+ ) ... I Produce approx. 15-25 petabytes data per year I The LHC Computing Grid connects 170 computer

References

[1] M. Al-Fares, A. Loukissas, and A. Vahdat. A Scalable, Commodity DataCenter Network Architecture, In Proc. of SIGCOMM 2008

[2] C. Guo, G. Lu, D. Li, H. Wu, X. Zhang, Y. Shi, C. Tian, Y. Zhang, and S.Lu. Bcube: A high Performance, Server-Centric Network Architecture forModular Data Centers, In Proc. of SIGCOMM 2009

[3] C. Raiciu and C. Paasch. MultiPath TCP, Google TechTalk, Apr. 2012

[4] BigSwitch. Floodlight OpenFlow Controller,http://floodlight.openflowhub.org

[5] A. Rizk and M. Fidler. Sample Path Bounds for Long Memory FBMTraffic, In Proc. of INFOCOM 2010

c© Dr. Michael Bredel | USLHCNET@CERN | March 08th, 2013

Caltechwww.caltech.edu

Recommended