Date post: | 17-Dec-2015 |
Category: |
Documents |
Upload: | lindsey-carpenter |
View: | 221 times |
Download: | 0 times |
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