Top Banner
Simplifying Network Optimization for SDN Deployment Victor Heorhiadi Michael K. Reiter Vyas Sekar UNC Chapel Hill UNC Chapel Hill Carnegie Mellon University
27

Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Mar 06, 2019

Download

Documents

vankien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Simplifying Network Optimization for SDN Deployment

Victor Heorhiadi Michael K. Reiter Vyas Sekar

UNC Chapel Hill UNC Chapel Hill Carnegie Mellon University

Page 2: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Overview: SDN

2

Control Platform (e.g., ONOS, OpenDaylight)

SDN applications

Network data Network routes

A A A A A A A

Data plane

Page 3: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Network Optimizations are Common

• Maxflow, Traffic engineering

• SIMPLE (SIGCOMM 2013)

• ElasticTree (NSDI 2010)

• Panopticon (Usenix ATC 2014)

• SWAN (SIGCOMM 2013)

3

Page 4: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Current Process

Take theory & optimization

courses

Formulate the problem

Solve with a solver

Not fast enough

• NP hard?

Developheuristic

Parse solutionDeploy

4

Page 5: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

SDN applications

Control Platform (e.g., ONOS, OpenDaylight)

Network data Network routesOptimization 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

Page 6: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Challenge: Generality + Efficiency

Approach Generality Efficiency

Frameworks ✓ ✗

Custom solutions ✗ ✓

SOL ✓ ✓

Page 7: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

SO

L A

PI

SOL: SDN Optimization Layer

7

Logically centralized

Diverse set

SOLOptimization solver

(e.g., CPLEX)

Control Platform (e.g., ONOS, OpenDaylight)

SDN applications

Network data Network routes

A A A A A A A

Page 8: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Insight: Path Abstraction

• Problems are recast to be path-based

• Policies are path predicates

8

Page 9: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

s t1 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 t1 3

2 4

𝑓: amount of flow

𝑓𝑒1 = 𝑓𝑒3 + 𝑓𝑒4 𝑖=1𝑘 𝑓𝑝𝑖 = demand

Page 10: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Policies as Path Predicates

10

Valid paths:

• N1-N4-N5

• N1-N3-N4-N5

Invalid paths:

• N1-N3-N5

IPS

N1 N3

N4N2

N5

IPSFW

Proxy

N1→N5

Web, 100 Mbps

FW→Proxy

Generality

Page 11: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Path Challenge

11

Exponential number of paths

Large optimization size

Long run time = Bad efficiency

Page 12: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

SOL Process

12

Path generationPath

selectionOptimization

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

Page 13: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

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

Page 14: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Example: MaxFlow

1. opt, pptc = initOptimization(topo, trafficClasses, nullPredicate, 'shortest', 5)

2. opt.allocateFlow(pptc)

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

4. opt.capLinks(pptc, 'bandwidth', linkConstrCaps, linkcapfunc)

5. opt.maxFlow(pptc)

6. opt.solve()

14

Topology input Path generation + selection

Traffic flows

Resource

consumption

Global goal (objective function)

Page 15: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Example: Traffic Engineering

1. opt, pptc = initOptimization(topo, trafficClasses, nullPredicate, 'shortest', 5)

2. opt.allocateFlow(pptc)

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

4. opt.capLinks(pptc, 'bandwidth', linkConstrCaps, linkcapfunc)

5. opt.routeAll(pptc)

6. opt.minLinkLoad('bandwidth')

7. opt.solve()

15

Route all traffic

Minimize bandwidth load

Page 16: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

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

Page 17: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

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

Page 18: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

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

Page 19: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Potential Future Directions

• Analytically show why path selection is effective

• Path selection that honors bounds on optimality

19

Page 20: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

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

[email protected] https://github.com/progwriter/SOL

http://cs.unc.edu/~victor/papers/sol.pdf

Page 21: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Mininet Tests

21

Setup:

• Traffic engineering

application

• Mininet + ONOS

Time to deploy

Topology (number of switches)

0 → functioning network

in 15 seconds

Page 22: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Runtime as Function of Number of Paths

22

Page 23: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Comparison to Merlin (Soulé et al.)

23

Log Scale

Shaded: No

solution by Merlin

within 30 minutes

Topology (number of switches)

Page 24: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

“Mindiff ” Across Optimizations

• Minimize network churn

• Minimize reconfiguration time

• Application agnostic

24

Original

Re-optimization

Re-optimization with mindiff

Page 25: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Results: reconfiguration

25

Lower is better

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

Page 26: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Path Generation Time

26

Page 27: Simplifying Network Optimization for SDN Deploymentdimacs.rutgers.edu/archive/Workshops/SDNAlgorithms/.../heorhiadi.pdf · Simplifying Network Optimization for SDN Deployment Victor

Limitations

• Mediocre performance on large networks with no chaining policies

• Limited theoretical insight into good path selection strategies

27