KANDOO: A FRAMEWORK FOR EFFICIENT AND SCALABLE OFFLOADING OF CONTROL APPLICATIONS AUTHOR : SOHEIL...

Post on 17-Dec-2015

221 views 0 download

Tags:

transcript

KANDOO: A FRAMEWORK FOR EFFICIENT AND SCALABLE OFFLOADING OF CONTROL APPLICATIONS

AUTHOR : SOHEIL HASSAS YEGANEH, YASHAR GANJALI

PUBLISHER : HOTSDN 2012

PRESENTER : PEI-HUA HUANG

DATE : 2013/10/16

2

INTRODUCTION• Frequent and resource-exhaustive events, such as flow

arrivals and network-wide statistics collection events, stress the control plane and consequently limit the scalability of OpenFlow networks

• To limit the load on the controller, frequent events should be handled in the closest vicinity of datapaths, preferably without modifying switches

3

INTRODUCTION• How can we move control functionalities toward

datapaths, without introducing new datapath mechanisms in switches?

• environments where processing power is readily available close to switches or can be easily added

• applications that are local in scope

4

INTRODUCTION Kandoo

• two-level hierarchy for controllers

• local controllers : execute local applications• root controller : run non-local control applications

• local controllers can linearly scale with the number of switches in a network

• completely compliant with the OpenFlow specifications

• gives network operators the freedom to configure the deployment model of control plane functionalities based on the characteristics of control applications

5

INTRODUCTION

6

DESIGN AND IMPLEMENTATION Design objectives

• Goals

• must be compatible with OpenFlow• automatically distributes control applications without any

manual intervention

7

DESIGN AND IMPLEMENTATION

8

DESIGN AND IMPLEMENTATION Kandoo Controller

9

DESIGN AND IMPLEMENTATION Deployment Model

• The deployment model of Kandoo controllers depends on the characteristics of a network

• provision the number of local controllers based on the workload and available processing resources

10

DESIGN AND IMPLEMENTATION

11

DESIGN AND IMPLEMENTATION Control Applications

• Control applications function using the abstraction provided by the controller and are not aware of Kandoo internals

• Control applications are loaded in local name spaces and can communicate using only Kandoo events

• local controller can run an application only if the application is local

12

DESIGN AND IMPLEMENTATION Event Propagation

• The root controller can subscribe to specific events in the local controllers using a simple messaging channel plus a filtering component

Reactive vs. Proactive

• pushing network state proactively

13

DESIGN AND IMPLEMENTATION Implementation Details

• in a mixture of C, C++, and Python• provide an RPC API• extremely modular• support OpenFlow 1.0• create a " central application repository" and a simple

package management system Single-node Performance

• A single Kandoo controller can reach a throughput of more than 1M pkt-in per second from 512 switches using a single thread on a Xeon E7-4807

14

EVALUATION Setup

• Physical server equipped with 64G of RAM and 4 Intel Xeon(R) E7-4807 CPUs

• use OpenVSwitch 1.4 as kernel-level software switch

15

EVALUATION

16

EVALUATION Methodology

• measure the number of requests processed by each controller and their bandwidth consumption

• the number of elephant flows in the network

(use a tree topology of depth 2 and fanout 6)• the number of nodes in the network

(fix ratio of the elephant flows at 20%)

17

18

19

RELATED WORK Datapath Extensions

• DIFANE tries to partly offload forwarding decisions from the controller to special switches, called authority switches

• DevoFlow introduces new mechanisms in switches to dispatch far fewer " important" events to the control plane

20

RELATED WORK Distributed Controllers

• HyperFlow [18], Onix [8], SiBF [10], and Devolved Controllers [17] try to distribute the control plane while maintaining logically centralized, eventually consistent network state

Middleboxes

• Flow-Stream [7], SideCar [15] and CoMb [13], provide scalable programmability in data plane by intercepting flows using processing nodes in which network applications are deployed

21

RELATED WORK Active Networks

• Ans allow programmability in networking elements at packet transport granularity by running code encapsulated in the packet or installed on the switches

• Kandoo differs from active networks in two ways

• Do not provide in-bound packet processing• not an all-or-nothing solution

22

CONCLUSION• Kandoo is a highly configurable and scalable control

plane

• Kandoo local controllers do not propagate an OpenFlow event unless the root controller subscribes to that event