kandoo : a framework for efficient and scalable offloading of control applications
DESCRIPTION
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. INTRODUCTION. - PowerPoint PPT PresentationTRANSCRIPT
KANDOO: A FRAMEWORK FOR EFFICIENT AND SCALABLE OFFLOADING OF CONTROL APPLICATIONS
AUTHOR : SOHEIL HASSAS YEGANEH, YASHAR GANJALIPUBLISHER : HOTSDN 2012PRESENTER : PEI-HUA HUANGDATE : 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