Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of...
Transcript of Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of...
Dynamic Controller Provisioning in Software Defined Networks Presented By Md. Faizul Bari David R. Cheriton School of Computer science University of Waterloo with Arup Raton Roy, Shihabur Rahman Chowdhury, Qi Zhang, Mohamed Faten Zhani, Reaz Ahmed, and Raouf Boutaba,
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 2/25
Traditional vs. Software Define Networking
09/27/2013 3/25
Distributed Control
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
switch
Data Plane
switch
Data Plane
switch
Data Plane
switch
Data Plane
switch
Control Plane (SDN Controller)
Centralized Control
Traditional Networking Software Defined Networking
OpenFlow
SDN and OpenFlow
09/27/2013 4/25
OpenFlow Controller
Flow Table MAC src MAC dst IP Src IP Dst TCP
sport TCP dport Action
OpenFlow Firmware
…
OpenFlow Protocol (SSL/TCP)
Flow Table MAC src MAC dst IP Src IP Dst TCP
sport TCP dport Action
OpenFlow Firmware
…
Software Layer
Hardware Layer
port 3 port 2 port 1 port 3 port 2 port 1
x y
1 No matching rule
2 Flow setup request 3 Install flow rules
* * y * * * port 4
port 4
port 4
* * y * * * port 2
Flow setup time: time needed to set up the rules associated with a new flow in switches involved in the routing path.
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 5/25
Traditional SDN with a Single Controller • A single controller controls all switches in the network • Advantages:
• Centralized control • Ease of management • Network-wide view
• Disadvantages: • High switch-to-controller latency • Limited processing capacity of controller Higher flow setup time
09/27/2013 6/25
Multiple Controller • Each controller controls a subset of the switches • A switch communicates with just one controller • Advantages:
• Less processing capacity is required for each controller • Lower switch-to-controller latency
• Disadvantages: • Require state synchronization between controllers Large control traffic overhead • Static switch-to-controller assignment Overloaded controllers
09/27/2013 7/25
Zone 1 Zone 2 Zone 3
Ctrl 1 Ctrl 2 Ctrl 3
Dynamic Controller Provisioning Problem (DCPP)
• Dynamically provision controllers based on • Changing network conditions (traffic dynamics) • Switch-to-controller latency requirement
• Goals • Dynamically decide the number of controllers and their locations • Minimize flow setup time and control traffic • Minimize switch-to-controller reassignments
09/27/2013 8/25
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 9/25
Management Framework
09/27/2013 10/25
• Monitoring Module • Monitors controllers and collects
statistics about the traffic
• Reassignment Module • Decides the number of
controllers, their locations and the switch-to-controller assignment based on network conditions
• Provisioning Module • Provisions controllers and
assigns switches to them
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 11/25
Minimize 𝜶𝜶𝑪𝑪𝒍𝒍 + 𝜷𝜷𝑪𝑪𝒑𝒑 + 𝜸𝜸𝑪𝑪𝒔𝒔 + 𝝀𝝀𝑪𝑪𝒓𝒓
Problem Formulation • DCPP can be formulated as an ILP • Objective function
• Where
• 𝑪𝑪𝒍𝒍 = Statistics collection cost • 𝑪𝑪𝒑𝒑 = Flow setup cost • 𝑪𝑪𝒔𝒔 = Synchronization cost • 𝑪𝑪𝒓𝒓 = Switch reassignment cost
• Constraints • Controller capacity constraint • Switch-to-controller delay constraint
09/27/2013 12/25
DCPP is NP-hard.
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 13/25
Proposed Heuristics • We propose two heuristics to solve DCPP
• Greedy Knapsack based (DCP-GK) • Simulated Annealing based (DCP-SA)
• DCP-GK provides quick but inferior solutions • DCP-SA provides good solutions, but requires longer time
to find solutions
09/27/2013 14/25
Greedy Knapsack Based (DCP-GK) • Each controller is modeled as a knapsack
• Capacity of the knapsack = number of flow-setups/sec
• Each switch is an object to be included in a knapsack • Weight = number of flow setup requests/sec • Profit = Inverse of switch to current controller’s distance
• Procedure 1. Repeat the following steps until either all switches are assigned
to a controller or the controller set is exhausts • Step 1: Pick the controller with minimum total distance from all
switches • Step 2: Use Greedy Knapsack approach to assign unassigned
switches to the controller (subject to delay constraint) 2. Randomly assign the remaining switches
09/27/2013 15/25
Simulated Annealing Based (DCP-SA) • DCPP is solved in two phases:
• Phase 1: find a feasible assignment from the current one • For each overloaded controller
• Select the switch sending maximum requests to it • Assign the switch to the most underused controller if the delay and capacity
constraint are satisfied • Otherwise provision a new controller
• Repeat until capacity and delay constraints are satisfied for all controllers
• Phase 2: optimize the assignment by local search moves • Relocate switch • Swap switches • Activate a new controller • Merge controllers
09/27/2013 16/25
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 17/25
Simulation Results • We consider 3 scenarios
• 1-CTRL: A single controller for all switches • N-CTRL: One controller for each switch • DCP: Dynamic controller provisioning
• Topology • 108 nodes, 306 links (from RocketFuel [1])
• Traffic • Based on a realistic traffic trace [2] • End-to-end TCP flows
09/27/2013 18/25
[1] N. Spring, R. Mahajan, and D. Wetherall. Measuring ISP topologies with rocketfuel. In SIGCOMM 2002, pages 133–145. [2] S. Gebert, R. Pries, D. Schlosser, and K. Heck. Internet access traffic measurement and analysis. In Traffic Monitoring and Analysis, volume 7189 of LNCS, pages 29–42. 2012.
1-C
TRL
N-C
TRL
DC
P
Flow-setup Time CDF
09/27/2013 19/25
• N-CTRL provides minimal flow-setup time • DCP-GK and DCP-SA both are better than 1-CTRL • DCP-SA performs better than DCP-GK
Number of Controllers and Flow-setup Time
09/27/2013 20/25
• DCP-SA required less controllers than DCP-GK • In case of 1-CTRL flow-setup time varies with traffic • DCP-GK and DCP-SA adapt to traffic changes
Summary of Overhead and Flow Setup Time
09/27/2013 21/25
• N-CTRL has lowest flow-setup time, but largest overhead • 1-CTRL has lowest overhead, but highest flow-setup time • DCP-SA performs much better than DCP-GK
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 22/25
Conclusion • We identified the Dynamic Controller Provisioning
Problem (DCPP) • Proposed a management framework for dynamically
deploying multiple controllers • Provided a mathematical formulation of DCPP as an ILP • Proposed two heuristic algorithms to solve DCPP • Identified the trade-off between flow-setup time and
communication overhead
09/27/2013 23/25
Future Work • Improve the convergence time of DCP-SA
• Generate quick solutions using DCP-GK and then optimizing them using DCP-SA.
• Explore other heuristic algorithms • Perform experiments on a real testbed
• Distributed OpenFlow Testbed (DOT) [dothub.org]
09/27/2013 24/25
Questions?
09/27/2013
Background Slides
09/27/2013
Path Setup Model
09/27/2013
• Directed graph G(V,E) • Capacity on edges c : E → R+
4.1
2.3
1.6 2.9
2.6 1.7
1.0 1.5
2.2
2.1
2.6 8.5
3.4
3.2
Single-source Unsplittable Flow Problem
4.1
2.3
1.6 2.9
2.6 1.7
1.0 1.5
2.2
2.1
2.6 8.5
3.4
3.2
• A single source s and k terminals ti with demands di ∈ R+ • A vertex may contain an arbitrary number of terminals
s
t 1
1.2
t 2
t 3 0.9
3.1
t 4
3.1 t 5
1.5
t 6 2.1
Single-source Unsplittable Flow Problem
4.1
2.3
1.6 2.9
2.6 1.7
1.0 1.5
2.2
2.1
2.6 8.5
3.4
3.2
s
t 1
1.2
t 2
t 3 0.9
3.1
t 4
3.1 t 5
1.5
t 6 2.1
• Each commodity flows along a single path from s to ti (unsplittable) • Must satisfy edge capacity • There are many variabltions of this problem • In our case, we minimize the sum of edge weights
Single-source Unsplittable Flow Problem
DCPP SSUFP
09/27/2013
S
Switches
Controllers
Terminals
Controller capacity used as edge capacity
Flow-setup & stat. collection costs are used as edge weights
Edges are allowed only when they satisfy latency constraint