KANDOO A FRAMEWORK FOR EFFICIENT & SCALABLE OFFLOADING OF CONTROL APPLICATIONS Soheil Hassas Yeganeh Yashar Ganjali soheil@cs.toronto.edu yganjali@cs.toronto.edu
EVENTS. • Rare Control Plane • Link state changes • Frequent and Exhaustive • Network-wide stat collection Data Plane • Packet-ins (if flow-entries are not installed proactively) 2
SCALABILITY ISSUES. Frequent events stress the control plane. Stress controller’s resources. Control Plane Stress the Data Plane control channels. 3
EXISTING SOLUTIONS. Distributed Controllers : Data Plane Extensions : Control Plane Control Plane Control Plane Control Plane Data Plane Data Plane • Consider this as an intrinsic limitation . • Delegate more responsibilities to the data • HyperFlow , Onyx , Devolved Controllers , ... plane . • DIFANE , DevoFlow , ... 4
EXISTING SOLUTIONS. e h t t a s e m o C Still, high control f o t s o c channel consumption. . y t i l i b i s i v Control Plane Control Plane Control Plane Control Plane Data Plane Data Plane o t d e e N e h t y f i d o m . e n a l p a t a d 5
PROBLEM STATEMENT. How to handle frequent events close to the metal without modifying OpenFlow? Control Plane Control Plane Control Plane Control Plane Data Plane Data Plane 6
THE IDEA. OFFLOADING LOCAL CONTROL APPS TO Applications that do LOCAL RESOURCES. not need the network-wide state. Resources close to switches. 7
Local Apps. • An assumption in • But, there are many apps distributed controllers : that are local in scope : • • All control apps require the Applications that require only network-wide state . local switch state . App Controller App Controller Controller Local App Local App App Switch Switch Switch Switch Switches 8
LOCAL APPS. • Local applications : • Local components in control applications : • Learning Switch • Elephant Flow Detection in • Local Policy Enforcer an Elephant Flow • Rerouting application. Link Discovery Local App Local App Local App Local App Switch Switch Switch Switch 9
LOCAL APPS. • Local applications : • Local components in control applications : • Learning Switch • Elephant Flow Detection in • Local Policy Enforcer an Elephant Flow • Rerouting application. Link Discovery Local apps have implicit parallelism. Local App Local App Local App Local App Switch Switch Switch Switch 9
LOCAL RESOURCES. We can offload local apps to computing resources next to switches . End-Host Switch End-Host Local App Local App Local App Programmable Soft. Switch Switch Switch 10
LOCAL RESOURCES. We can offload local apps to computing resources next to switches . Inside programmable On the same hosts running switches. Hosts close to software switches. switches. End-Host Switch End-Host Local App Local App Local App Programmable Soft. Switch Switch Switch 10
KANDOO. • Two layers of controllers : • A logically centralized Root Controller . • Local Controllers . Root Controller Root Controller Root Controller Rare Events Local Local Local Controller Controller Controller Frequent Events Switch Switch Switch Switch Switch 11
KANDOO. • Two layers of controllers : • A logically centralized Root Controller . • Local Controllers . The root controller runs non-local apps. Root Controller Root Controller Root Controller Local controllers run local apps. Rare Events Local Local Local Lightweight and Controller Controller Controller easy to implement. Frequent Events Local controllers Switch Switch Switch Switch Switch shield the root controller. 11
AN EXAMPLE: ELEPHANT FLOW REROUTEING. OF Controller Stat Request Stat Reply Appreroute Appdetect Switch Switch Switch 12
AN EXAMPLE: ELEPHANT FLOW REROUTEING. Root Controller Appreroute Appdetect Appdetect Appdetect Local Controller Local Controller Local Controller Switch Switch Switch 13
AN EXAMPLE: ELEPHANT FLOW REROUTEING. Root Controller Kandoo’s event channels. Eelephant Application-specific Appreroute events. Flow-Entry Flow-Entry Appdetect Appdetect Appdetect Local Controller Local Controller Local Controller Scales linearly with the Switch Switch Switch number of switches. 13
SIMPLE, YET FLEXIBLE, ARCHITECTURE. Root Ctrl Local Ctrl Local Ctrl Local Ctrl Local Ctrl Local Ctrl Switch Switch Soft. Switch Soft. Switch Switch Root Ctrl Local Ctrl Local Ctrl Local Ctrl Root Ctrl Switch Switch Soft. Switch Soft. Switch Switch Local Ctrl Switch Switch Switch 14
SIMPLE, YET FLEXIBLE, ARCHITECTURE. Root Ctrl Local Ctrl Local Ctrl Local Ctrl Local Ctrl Local Ctrl Scale at the edge. Switch Switch Soft. Switch Soft. Switch Switch Root Ctrl Local Ctrl One local controller Local Ctrl Local Ctrl per switch! Root Ctrl Switch Switch Soft. Switch Soft. Switch Switch Local Ctrl Switch Switch Switch Normal OpenFlow. 14
EVALUATION SUMMARY. • Implemented Kandoo : Appreroute Appreroute • Handles 1.3 Mp/s on a single Learning Learning Switch Switch Root Controller Root Controller core of Xeon E7-4807. Appdetect Appdetect Local Controller 0 Local Controller 0 Learning Learning Learning Learning • Elephant Flow Rerouting : Switch Switch Switch Switch Appdetect Appdetect Appdetect Appdetect Core Switch Core Switch • In an emulated environment. Local Controller 1 Local Controller 1 Local Controller N Local Controller N • More than 5x less channel ToR Switch 1 ToR Switch 1 ToR Switch N ToR Switch N consumption. • Significantly better scalability in Host Host Host Host Host Host Host Host regards to the network size. 15
EVALUATION SUMMARY. • Implemented Kandoo : • Handles 1.3 Mp/s on a single core of Xeon E7-4807. Normal OpenFlow Controller Normal OpenFlow Controller Kandoo's Root Controller Kandoo's Root Controller 3000 3000 • Elephant Flow Rerouting : Messages Per Second Messages Per Second 2500 2500 2000 2000 • In an emulated environment. 1500 1500 1000 1000 • More than 5x less channel 500 500 0 0 consumption. 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Ratio of Elephant to Mouse Flows Ratio of Elephant to Mouse Flows • Significantly better scalability in regards to the network size. 15
EVALUATION SUMMARY. • Implemented Kandoo : • Handles 1.3 Mp/s on a single core of Xeon E7-4807. 6000 6000 Messages Per Second Messages Per Second Normal Open fl ow Normal Open fl ow • Elephant Flow Rerouting : 5000 5000 Root Controller Root Controller 4000 4000 3000 3000 • In an emulated environment. 2000 2000 1000 1000 • More than 5x less channel 0 0 2 2 3 3 4 4 5 5 6 6 7 7 consumption. Fanout Fanout • Significantly better scalability in regards to the network size. 15
FUTURE DIRECTIONS. • A Generalized Hierarchy • Filling the gap between local and non-local apps . • Finding the right scope is quite challenging . • Finding the right scope is quite challenging . • Porting Kandoo to Programmable Switches • Highly efficient and better resource utilization . 16
THANKS. QUESTIONS? 17
Recommend
More recommend