Practical Foundations for Software-Defined Network Optimization - - PowerPoint PPT Presentation

practical foundations for software defined network
SMART_READER_LITE
LIVE PREVIEW

Practical Foundations for Software-Defined Network Optimization - - PowerPoint PPT Presentation

Practical Foundations for Software-Defined Network Optimization CCF-1535917, 1536002 https://users.ece.cmu.edu/~vsekar/aitf_sol.html Anupam Gupta Michael K. Reiter Vyas Sekar Carnegie Mellon University UNC Chapel Hill Carnegie Mellon


slide-1
SLIDE 1

Practical Foundations for Software-Defined Network Optimization

CCF-1535917, 1536002 https://users.ece.cmu.edu/~vsekar/aitf_sol.html

Anupam Gupta Michael K. Reiter Vyas Sekar

Carnegie Mellon University UNC Chapel Hill Carnegie Mellon University

slide-2
SLIDE 2

2

Centralized management + Open config APIs

Controller

“Flow”

FwdAction

… …

“Flow”

FwdAction

… …

“Flow”

FwdAction

… …

OpenFlow: Pkt header, Interface  Forwarding interface

A 20000 feet view of Software-Defined Networking (SDN)

slide-3
SLIDE 3

What SDN looks like functionally?

3

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

A A A A A A A

Data plane

slide-4
SLIDE 4

Network Optimizations are Common

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

4

slide-5
SLIDE 5

Current Process

Take theory &

  • ptimization

courses Formulate the problem Solve with a solver Not fast enough

  • NP hard?

Develop heuristic Parse solution Deploy

5

slide-6
SLIDE 6

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

Optimization layer

  • Focus on high-level

network goals

  • Rapid prototyping
  • App = 20 lines of

code

Our Vision: Practical Foundations for SDN optimization

6

A A A A A A A

slide-7
SLIDE 7

Project scope and goals

  • Completed: Framework to simplify basic SDN app development
  • New abstractions and rule synthesis tools
  • [NSDI’16] paper and open source tool https://github.com/progwriter/SOL
  • Future
  • Support composition of applications
  • Advanced abstractions beyond basic apps
  • Support for stochastic/adversarial demands

7

slide-8
SLIDE 8

SOL Framework to simplify workflow

Approach Generality Efficiency Frameworks

✓ ✗

Custom solutions

✗ ✓

SOL

✓ ✓

slide-9
SLIDE 9

SOL API

SOL: SDN Optimization Layer

9

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-10
SLIDE 10

Insight: Path Abstraction

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

10

slide-11
SLIDE 11

s t 1 3 2 4

Path-based Recasting: MaxFlow

Edge-based Path-based

11

𝑔

𝑞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-12
SLIDE 12

Policies as Path Predicates

12

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-13
SLIDE 13

Path Challenge

13

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

slide-14
SLIDE 14

SOL Process

14

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-15
SLIDE 15

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.)

15

slide-16
SLIDE 16

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()

16

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

slide-17
SLIDE 17

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()

17

Route all traffic Minimize bandwidth load

slide-18
SLIDE 18

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×

18

slide-19
SLIDE 19

Optimization Runtime

19

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-20
SLIDE 20

Open questions and next steps?

  • When/why does path pruning work?
  • What is a good pruning strategy for a given objective/topology?
  • Robustness to varying demands?
  • Enabling composition of apps?
  • Are paths sufficient or do we need richer abstractions?

20

slide-21
SLIDE 21

Broader efforts in this space ..

AitF-funded workshop on Algorithms for Software-Defined Networking Thanks to Mike Dinitz,Thyaga, Tracy, Rebecca Wright! At DIMACS, Jun 2-3 2016 Program: http://dimacs.rutgers.edu/Workshops/SDNAlgorithms/program.html Videos! https://www.youtube.com/playlist?list=PLqxsGMRlY6u7BhnI6JxShJHj_tYg- i1Qh

21

slide-22
SLIDE 22

Conclusions

  • SDN benefits in the field requires optimization
  • Vision: Practical foundations for SDN optimization

Lower barrier of entry for developers

  • Initial work on SOL:
  • Leverages the path abstraction: generation + selection
  • Efficient: deploy in seconds!
  • Enabler for new directions
  • E.g., seamless composition
  • Many open theoretical questions with practical implications in SDN space

22