for SDN Deployment Victor Heorhiadi Michael K. Reiter Vyas Sekar - - PowerPoint PPT Presentation

for sdn deployment
SMART_READER_LITE
LIVE PREVIEW

for SDN Deployment Victor Heorhiadi Michael K. Reiter Vyas Sekar - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Simplifying Network Optimization for SDN Deployment

Victor Heorhiadi Michael K. Reiter Vyas Sekar

UNC Chapel Hill UNC Chapel Hill Carnegie Mellon University

slide-2
SLIDE 2

Overview: SDN

2

Control Platform (e.g., ONOS, OpenDaylight) SDN applications Network data Network routes

A A A A A A A

Data plane

slide-3
SLIDE 3

Network Optimizations are Common

  • Maxflow, Traffic engineering
  • SIMPLE (SIGCOMM 2013)
  • ElasticTree (NSDI 2010)
  • Panopticon (Usenix ATC 2014)
  • SWAN (SIGCOMM 2013)

3

slide-4
SLIDE 4

Current Process

Take theory &

  • ptimization

courses Formulate the problem Solve with a solver Not fast enough

  • NP hard?

Develop heuristic Parse solution Deploy

4

slide-5
SLIDE 5

SDN applications Control Platform (e.g., ONOS, OpenDaylight) Network data Network routes

Optimization layer

  • No custom heuristics
  • Focus on high-level

network goals

  • Rapid prototyping
  • App = 20 lines of

code

Our Vision

5

A A A A A A A

slide-6
SLIDE 6

Challenge: Generality + Efficiency

Approach Generality Efficiency Frameworks

✓ ✗

Custom solutions

✗ ✓

SOL

✓ ✓

slide-7
SLIDE 7

SOL API

SOL: SDN Optimization Layer

7

Logically centralized Diverse set SOL Optimization solver (e.g., CPLEX) Control Platform (e.g., ONOS, OpenDaylight) SDN applications Network data Network routes

A A A A A A A

slide-8
SLIDE 8

Insight: Path Abstraction

  • Problems are recast to be path-based
  • Policies are path predicates

8

slide-9
SLIDE 9

s t 1 3 2 4

Path-based Recasting

Edge-based Path-based

9

𝑔

𝑞1

𝑔

𝑞2

𝑔

𝑞𝑙

𝑔

𝑓1

𝑔

𝑓3

𝑔

𝑓2

𝑔

𝑓4

𝑔

𝑓5

𝑔

𝑓6

𝑔

𝑓8

𝑔

𝑓7

s t 1 3 s t 1 4

s t 1 3 2 4

𝑔: amount of flow

𝑔

𝑓1 = 𝑔 𝑓3 + 𝑔 𝑓4

𝑗=1

𝑙

𝑔

𝑞𝑗 = demand

slide-10
SLIDE 10

Policies as Path Predicates

10

Valid paths:

  • N1-N4-N5
  • N1-N3-N4-N5

Invalid paths:

  • N1-N3-N5

IPS N1 N3 N4 N2 N5 IPS FW Proxy

N1→N5 Web, 100 Mbps FW→Proxy

Generality

slide-11
SLIDE 11

Path Challenge

11

Exponential number of paths Large optimization size Long run time = Bad efficiency

slide-12
SLIDE 12

SOL Process

12

Path generation Path selection Optimization Rule generation

  • 1. Enumerate all simple paths
  • 2. Keep valid paths

(according to a predicate) Offline step Pick a subset of paths This acts as a heuristic

  • 1. Model resource usage

and constraints

  • 2. Solve

Use a controller to configure data plane paths

Efficiency

slide-13
SLIDE 13

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

slide-14
SLIDE 14

Example: MaxFlow

1.

  • pt, pptc = initOptimization(topo, trafficClasses, nullPredicate, 'shortest', 5)

2.

  • pt.allocateFlow(pptc)

3.

linkcapfunc = lambda link, tc, path, resource: tc.volBytes

4.

  • pt.capLinks(pptc, 'bandwidth', linkConstrCaps, linkcapfunc)

5.

  • pt.maxFlow(pptc)

6.

  • pt.solve()

14

Topology input Path generation + selection Traffic flows Resource consumption Global goal (objective function)

slide-15
SLIDE 15

Example: Traffic Engineering

1.

  • pt, pptc = initOptimization(topo, trafficClasses, nullPredicate, 'shortest', 5)

2.

  • pt.allocateFlow(pptc)

3.

linkcapfunc = lambda link, tc, path, resource: tc.volBytes

4.

  • pt.capLinks(pptc, 'bandwidth', linkConstrCaps, linkcapfunc)

5.

  • pt.routeAll(pptc)

6.

  • pt.minLinkLoad('bandwidth')

7.

  • pt.solve()

15

Route all traffic Minimize bandwidth load

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Development effort

Application SOL lines of code Estimated improvement ElasticTree (Heller et al.) 16 21.8× Panoption (Levin et al.) 13 25.7× SIMPLE (Qazi et al.) 21 18.6×

17

slide-18
SLIDE 18

Optimization Runtime

18

Log Scale

Shaded: No solution by the original within 30 minutes

Topology (number of switches)

  • Orders of magnitude

faster

  • Less than 1% away

from optimal

slide-19
SLIDE 19

Potential Future Directions

  • Analytically show why path selection is effective
  • Path selection that honors bounds on optimality

19

slide-20
SLIDE 20

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

20

victor@cs.unc.edu https://github.com/progwriter/SOL http://cs.unc.edu/~victor/papers/sol.pdf

slide-21
SLIDE 21

Mininet Tests

21

Setup:

  • Traffic engineering

application

  • Mininet + ONOS

Time to deploy

Topology (number of switches) 0 → functioning network in 15 seconds

slide-22
SLIDE 22

Runtime as Function of Number of Paths

22

slide-23
SLIDE 23

Comparison to Merlin (Soulé et al.)

23

Log Scale

Shaded: No solution by Merlin within 30 minutes

Topology (number of switches)

slide-24
SLIDE 24

“Mindiff” Across Optimizations

  • Minimize network churn
  • Minimize reconfiguration time
  • Application agnostic

24

Original Re-optimization Re-optimization with mindiff

slide-25
SLIDE 25

Results: reconfiguration

25

Lower is better

Traffic engineering application; Change in traffic demands triggers re-computation

slide-26
SLIDE 26

Path Generation Time

26

slide-27
SLIDE 27

Limitations

  • Mediocre performance on large networks with no chaining policies
  • Limited theoretical insight into good path selection strategies

27