Simplifying Network Optimization for SDN Deployment Victor Heorhiadi Michael K. Reiter Vyas Sekar UNC Chapel Hill UNC Chapel Hill Carnegie Mellon University
Overview: SDN SDN applications A A A A A A A Network routes Network data Control Platform (e.g., ONOS, OpenDaylight) Data plane 2
Network Optimizations are Common • Maxflow, Traffic engineering • SIMPLE (SIGCOMM 2013) • ElasticTree (NSDI 2010) • Panopticon (Usenix ATC 2014) • SWAN (SIGCOMM 2013) 3
Current Process Not fast Take theory & Formulate the Solve with a enough optimization problem solver courses • NP hard? Develop Deploy Parse solution heuristic 4
Our Vision SDN applications • No custom heuristics A A A A A A A • Focus on high-level network goals Optimization layer Network routes Network data • Rapid prototyping • App = 20 lines of Control Platform (e.g., ONOS, OpenDaylight) code 5
Challenge: Generality + Efficiency Approach Generality Efficiency ✓ ✗ Frameworks ✗ ✓ Custom solutions ✓ ✓ SOL
SOL: S DN O ptimization L ayer SDN applications Diverse set A A A A A A A SOL API Optimization solver SOL (e.g., CPLEX) Logically centralized Network data Network routes Control Platform (e.g., ONOS, OpenDaylight) 7
Insight: Path Abstraction • Problems are recast to be path-based • Policies are path predicates 8
Path-based Recasting Edge-based Path-based 1 3 𝑔 : amount of flow 𝑔 s t 𝑞1 1 𝑔 𝑔 s t 𝑓3 𝑔 𝑔 𝑞2 1 3 𝑓7 𝑓1 𝑔 4 𝑓4 s t 𝑔 𝑓5 … 𝑔 𝑔 4 2 𝑓2 𝑓8 1 3 𝑔 𝑓6 s t 𝑔 𝑞𝑙 4 2 𝑔 𝑓1 = 𝑔 𝑓3 + 𝑔 𝑓4 𝑙 𝑗=1 𝑔 𝑞𝑗 = demand 9
Policies as Path Predicates IPS Valid paths : • N1-N4-N5 N1 N3 N1 →N5 N5 • N1-N3-N4-N5 Web, 100 Mbps Invalid paths : FW→Proxy Proxy • N1-N3-N5 N2 N4 IPS FW Generality 10
Path Challenge Exponential number of paths Large optimization size Long run time = Bad efficiency 11
SOL Process Path Rule Path generation Optimization selection generation 1. Enumerate all simple paths Pick a subset of paths 1. Model resource usage 2. Keep valid paths Use a controller to and constraints (according to a predicate) configure data plane paths This acts as a heuristic 2. Solve Offline step Efficiency 12
Implementation • Python library; interfaces with CPLEX solver and ONOS controller • Prototyped applications • MaxFlow, Traffic engineering, latency minimization • ElasticTree ( Heller et al. ), Panopticon ( Levin et al. ), SIMPLE ( Qazi et al. ) 13
Example: MaxFlow Topology input Path generation + selection opt, pptc = initOptimization(topo, trafficClasses, nullPredicate, 'shortest', 5) 1. Traffic flows opt.allocateFlow(pptc) 2. linkcapfunc = lambda link, tc, path, resource: tc.volBytes Resource 3. consumption opt.capLinks(pptc, 'bandwidth', linkConstrCaps, linkcapfunc) 4. opt.maxFlow(pptc) Global goal (objective function) 5. opt.solve() 6. 14
Example: Traffic Engineering opt, pptc = initOptimization(topo, trafficClasses, nullPredicate, 'shortest', 5) 1. opt.allocateFlow(pptc) 2. linkcapfunc = lambda link, tc, path, resource: tc.volBytes 3. opt.capLinks(pptc, 'bandwidth', linkConstrCaps, linkcapfunc) 4. opt.routeAll(pptc) 5. Route all traffic opt.minLinkLoad('bandwidth') 6. Minimize bandwidth load opt.solve() 7. 15
Key Questions • Does it reduce development effort for more complex applications? • Is it faster than the original optimization? • Is it any worse than optimal? 16
Development effort Application SOL lines of code Estimated improvement 21.8× ElasticTree ( Heller et al. ) 16 25.7× Panoption ( Levin et al. ) 13 SIMPLE ( Qazi et al. ) 21 18.6× 17
Optimization Runtime Log Scale • Orders of magnitude Shaded: No solution faster by the original within • Less than 1% away 30 minutes from optimal Topology (number of switches) 18
Potential Future Directions • Analytically show why path selection is effective • Path selection that honors bounds on optimality 19
Summary • Getting SDN benefits requires a lot of optimization knowledge • SOL lowers barrier of entry for developers • Leverages the path abstraction: generation + selection • Efficient: deploy in seconds! • Creates many new opportunities for future work victor@cs.unc.edu https://github.com/progwriter/SOL http://cs.unc.edu/~victor/papers/sol.pdf 20
Mininet Tests Time to deploy Setup: • Traffic engineering application • Mininet + ONOS 0 → functioning network in 15 seconds Topology (number of switches) 21
Runtime as Function of Number of Paths 22
Comparison to Merlin ( Soulé et al. ) Log Scale Shaded: No solution by Merlin within 30 minutes Topology (number of switches) 23
“ Mindiff ” Across Optimizations Original • Minimize network churn • Minimize reconfiguration time Re-optimization • Application agnostic Re-optimization with mindiff 24
Results: reconfiguration Traffic engineering application; Change in traffic demands triggers re-computation Lower is better 25
Path Generation Time 26
Limitations • Mediocre performance on large networks with no chaining policies • Limited theoretical insight into good path selection strategies 27
Recommend
More recommend