1. 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
1
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
2
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
3
6. DESIGN AND
IMPLEMENTATION
Design objectives
• Goals
• must be compatible with OpenFlow
• automatically distributes control applications without any
manual intervention
5
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
8
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
10
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
11
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
12
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
13
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%)
15
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
18
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
19
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
20
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
21