Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications
description
Transcript of Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications
![Page 1: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/1.jpg)
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
![Page 2: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/2.jpg)
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
![Page 3: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/3.jpg)
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
![Page 4: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/4.jpg)
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
![Page 5: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/5.jpg)
5
INTRODUCTION
![Page 6: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/6.jpg)
6
DESIGN AND IMPLEMENTATION Design objectives• Goals
• must be compatible with OpenFlow• automatically distributes control applications without any
manual intervention
![Page 7: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/7.jpg)
7
DESIGN AND IMPLEMENTATION
![Page 8: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/8.jpg)
8
DESIGN AND IMPLEMENTATION Kandoo Controller
![Page 9: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/9.jpg)
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
![Page 10: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/10.jpg)
10
DESIGN AND IMPLEMENTATION
![Page 11: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/11.jpg)
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
![Page 12: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/12.jpg)
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
![Page 13: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/13.jpg)
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
![Page 14: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/14.jpg)
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
![Page 15: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/15.jpg)
15
EVALUATION
![Page 16: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/16.jpg)
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%)
![Page 17: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/17.jpg)
17
![Page 18: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/18.jpg)
18
![Page 19: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/19.jpg)
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
![Page 20: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/20.jpg)
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
![Page 21: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/21.jpg)
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
![Page 22: Kandoo : A Framework for Efficient and Scalable Offloading of Control Applications](https://reader035.fdocuments.us/reader035/viewer/2022062218/568166b9550346895ddac056/html5/thumbnails/22.jpg)
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