KANDOO A FRAMEWORK FOR EFFICIENT & SCALABLE OFFLOADING OF - - PowerPoint PPT Presentation

kandoo
SMART_READER_LITE
LIVE PREVIEW

KANDOO A FRAMEWORK FOR EFFICIENT & SCALABLE OFFLOADING OF - - PowerPoint PPT Presentation

KANDOO A FRAMEWORK FOR EFFICIENT & SCALABLE OFFLOADING OF CONTROL APPLICATIONS Soheil Hassas Yeganeh Yashar Ganjali soheil@cs.toronto.edu yganjali@cs.toronto.edu EVENTS. Rare Control Plane Link state changes Frequent and


slide-1
SLIDE 1
slide-2
SLIDE 2

A FRAMEWORK FOR EFFICIENT & SCALABLE OFFLOADING OF CONTROL APPLICATIONS

KANDOO

Soheil Hassas Yeganeh

soheil@cs.toronto.edu

Yashar Ganjali

yganjali@cs.toronto.edu

slide-3
SLIDE 3

EVENTS.

2

Control Plane Data Plane

  • Rare
  • Link state changes
  • Frequent and Exhaustive
  • Network-wide stat collection
  • Packet-ins (if flow-entries are not

installed proactively)

slide-4
SLIDE 4

SCALABILITY ISSUES.

3

Control Plane Data Plane

Frequent events stress the control plane.

Stress the control channels. Stress controller’s resources.

slide-5
SLIDE 5

EXISTING SOLUTIONS.

4

Distributed Controllers: Data Plane Extensions:

Control Plane Control Plane

  • Consider this as an intrinsic limitation.
  • HyperFlow, Onyx, Devolved Controllers, ...
  • Delegate more responsibilities to the data

plane.

  • DIFANE, DevoFlow, ...

Control Plane Data Plane Control Plane Data Plane

slide-6
SLIDE 6

EXISTING SOLUTIONS.

5

Control Plane Control Plane Control Plane Data Plane Control Plane Data Plane

Still, high control channel consumption. N e e d t

  • m
  • d

i f y t h e d a t a p l a n e . C

  • m

e s a t t h e c

  • s

t

  • f

v i s i b i l i t y .

slide-7
SLIDE 7

PROBLEM STATEMENT.

6

Control Plane Control Plane Control Plane Data Plane Control Plane Data Plane

How to handle frequent events close to the metal without modifying OpenFlow?

slide-8
SLIDE 8

THE IDEA.

7

OFFLOADING LOCAL CONTROL APPS TO LOCAL RESOURCES.

Applications that do not need the network-wide state. Resources close to switches.

slide-9
SLIDE 9
  • But, there are many apps

that are local in scope:

  • Applications that require only

local switch state.

Local Apps.

  • An assumption in

distributed controllers:

  • All control apps require the

network-wide state.

8

Controller Controller Controller App App App Switch Switch Switches Local App Switch Local App Switch

slide-10
SLIDE 10
  • Local applications:
  • Learning Switch
  • Local Policy Enforcer
  • Link Discovery
  • Local components in

control applications:

  • Elephant Flow Detection in

an Elephant Flow Rerouting application.

LOCAL APPS.

9

Local App Switch Local App Switch Local App Switch Local App Switch

slide-11
SLIDE 11
  • Local applications:
  • Learning Switch
  • Local Policy Enforcer
  • Link Discovery
  • Local components in

control applications:

  • Elephant Flow Detection in

an Elephant Flow Rerouting application.

LOCAL APPS.

9

Local apps have implicit parallelism.

Local App Switch Local App Switch Local App Switch Local App Switch

slide-12
SLIDE 12

End-Host

LOCAL RESOURCES.

10

Switch Programmable Switch

We can offload local apps to computing resources next to switches.

Local App

  • Soft. Switch

End-Host Local App Switch Local App

slide-13
SLIDE 13

End-Host

LOCAL RESOURCES.

10

Switch Programmable Switch

On the same hosts running software switches. Inside programmable switches.

We can offload local apps to computing resources next to switches.

Local App

  • Soft. Switch

End-Host

Hosts close to switches.

Local App Switch Local App

slide-14
SLIDE 14

KANDOO.

  • Two layers of controllers:
  • A logically centralized Root Controller.
  • Local Controllers.

11

Root Controller Root Controller Switch Local Controller Switch Switch Switch Switch Local Controller Local Controller Root Controller

Rare Events

Frequent Events

slide-15
SLIDE 15

KANDOO.

  • Two layers of controllers:
  • A logically centralized Root Controller.
  • Local Controllers.

11

Local controllers run local apps.

Root Controller Root Controller Switch Local Controller Switch Switch Switch Switch Local Controller Local Controller Root Controller

Rare Events

Frequent Events

The root controller runs non-local apps. Local controllers shield the root controller. Lightweight and easy to implement.

slide-16
SLIDE 16

AN EXAMPLE:

ELEPHANT FLOW REROUTEING.

12

Switch Switch Switch

OF Controller

Appreroute Appdetect

Stat Reply Stat Request

slide-17
SLIDE 17

Root Controller

Appreroute

AN EXAMPLE:

ELEPHANT FLOW REROUTEING.

13

Switch Switch Switch

Local Controller

Appdetect

Local Controller

Appdetect

Local Controller

Appdetect

slide-18
SLIDE 18

Root Controller

Appreroute

Flow-Entry Flow-Entry

AN EXAMPLE:

ELEPHANT FLOW REROUTEING.

13

Switch Switch Switch

Local Controller

Appdetect

Local Controller

Appdetect

Local Controller

Appdetect

Application-specific events. Kandoo’s event channels. Scales linearly with the number of switches.

Eelephant

slide-19
SLIDE 19

SIMPLE, YET FLEXIBLE, ARCHITECTURE.

14

Root Ctrl Switch Switch Switch Local Ctrl Root Ctrl Switch Switch Switch Local Ctrl

  • Soft. Switch
  • Soft. Switch

Local Ctrl Local Ctrl Root Ctrl Switch Switch Switch

  • Soft. Switch
  • Soft. Switch

Local Ctrl Local Ctrl Local Ctrl Local Ctrl Local Ctrl

slide-20
SLIDE 20

SIMPLE, YET FLEXIBLE, ARCHITECTURE.

14

Root Ctrl Switch Switch Switch Local Ctrl Root Ctrl Switch Switch Switch Local Ctrl

  • Soft. Switch
  • Soft. Switch

Local Ctrl Local Ctrl Root Ctrl Switch Switch Switch

  • Soft. Switch
  • Soft. Switch

Local Ctrl Local Ctrl Local Ctrl Local Ctrl Local Ctrl

Scale at the edge. Normal OpenFlow. One local controller per switch!

slide-21
SLIDE 21

EVALUATION SUMMARY.

  • Implemented Kandoo:
  • Handles 1.3 Mp/s on a single

core of Xeon E7-4807.

  • Elephant Flow Rerouting:
  • In an emulated environment.
  • More than 5x less channel

consumption.

  • Significantly better scalability in

regards to the network size.

15

Host Host Host Host

Local Controller 0 Local Controller 1 Local Controller N

Root Controller Appreroute Appdetect Appdetect Appdetect Learning Switch Learning Switch Learning Switch Core Switch ToR Switch 1 ToR Switch N Host Host Host Host

Local Controller 0 Local Controller 1 Local Controller N

Root Controller Appreroute Appdetect Appdetect Appdetect Learning Switch Learning Switch Learning Switch Core Switch ToR Switch 1 ToR Switch N

slide-22
SLIDE 22

EVALUATION SUMMARY.

  • Implemented Kandoo:
  • Handles 1.3 Mp/s on a single

core of Xeon E7-4807.

  • Elephant Flow Rerouting:
  • In an emulated environment.
  • More than 5x less channel

consumption.

  • Significantly better scalability in

regards to the network size.

15

500 1000 1500 2000 2500 3000 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Messages Per Second

Ratio of Elephant to Mouse Flows

Normal OpenFlow Controller Kandoo's Root Controller 500 1000 1500 2000 2500 3000 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Messages Per Second

Ratio of Elephant to Mouse Flows

Normal OpenFlow Controller Kandoo's Root Controller

slide-23
SLIDE 23

EVALUATION SUMMARY.

  • Implemented Kandoo:
  • Handles 1.3 Mp/s on a single

core of Xeon E7-4807.

  • Elephant Flow Rerouting:
  • In an emulated environment.
  • More than 5x less channel

consumption.

  • Significantly better scalability in

regards to the network size.

15

1000 2000 3000 4000 5000 6000 2 3 4 5 6 7 Messages Per Second Fanout

Normal Openflow Root Controller

1000 2000 3000 4000 5000 6000 2 3 4 5 6 7 Messages Per Second Fanout

Normal Openflow Root Controller

slide-24
SLIDE 24

FUTURE DIRECTIONS.

  • A Generalized Hierarchy
  • Filling the gap between local and non-local apps.
  • Finding the right scope is quite challenging.
  • Finding the right scope is quite challenging.
  • Porting Kandoo to Programmable Switches
  • Highly efficient and better resource utilization.

16

slide-25
SLIDE 25

THANKS. QUESTIONS?

17