infinite cacheflow in software-defined networkingjrex/talks/cacheflow14.pdf · 2015-01-09 ·...

35
Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer Rexford, David Walker Princeton University

Upload: others

Post on 07-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Infinite CacheFlow in Software-Defined Networking

Naga Katta Omid Alipourfard, Jennifer Rexford, David Walker

Princeton University

Page 2: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Recent News

2

Page 3: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

3

Controller

Switch

TCAM

Page 4: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

4

Controller

Switch

TCAM

Lot of fine-grained rules

Page 5: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

5

Controller

Lot of fine-grained rules

Page 6: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

6

Controller

Lot of fine-grained rules

Page 7: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

7

Controller

Lot of fine-grained rules

Page 8: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

8

Controller

Limited rule space!

Page 9: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

SDN Promises Flexible Policies

9

Controller

Limited rule space!

What now?

Page 10: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

State of the Art

10

Hardware Switch Software Switch Rule Capacity Low (~2K-4K) High Lookup Throughput High (>400Gbps) Low (~40Gbps) Port Density High Low Cost Expensive Relatively cheap

Page 11: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

TCAM as cache

11

CacheFlow

TCAM

Controller

S2 S1

Software Switches

Page 12: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

TCAM as cache

12

CacheFlow

TCAM

Controller

S2 S1

<5% rules cached

Page 13: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

TCAM as cache

13

CacheFlow

TCAM

Controller

S2 S1

low expected cache-misses

Page 14: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

•  High throughput + high rule space

TCAM as cache

14

CacheFlow

TCAM

Controller

S2 S1

Page 15: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

•  High throughput + high rule space

TCAM as cache

15

CacheFlow

TCAM

Controller

S2 S1

Flexible Deployment

Page 16: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

•  Abstraction of an “infinite” switch Ø  Correct: realizes the policy Ø  Efficient: high throughput & large tables Ø  Transparent: unmodified applications/switches

16

A Correct, Efficient and Transparent Caching System

Page 17: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

1. Correct Caching

Page 18: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Caching under constraints

18

Easy: Cache rules greedily

Rule Match Action Priority Traffic

R1 110 Fwd 1 3 10

R2 100 Fwd 2 2 60

R3 101 Fwd 3 1 30

Page 19: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Caching Ternary Rules

19

Rule Match Action Priority Traffic

R1 11* Fwd 1 3 10

R2 1*0 Fwd 2 2 60

R3 10* Fwd 3 1 30

•  Greedy strategy breaks rule-table semantics

Page 20: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Caching Ternary Rules

20

Rule Match Action Priority Traffic

R1 11* Fwd 1 3 10

R2 1*0 Fwd 2 2 60

R3 10* Fwd 3 1 30

•  Greedy strategy breaks rule-table semantics

Rules Overlap!

Page 21: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Caching Ternary Rules

21

Rule Match Action Priority Traffic

R1 11* Fwd 1 3 10

R2 1*0 Fwd 2 2 60

R3 10* Fwd 3 1 30

•  Greedy strategy breaks rule-table semantics •  Beware of switches that claim large rule tables

Rules Overlap!

Page 22: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Dependency Graph

22

R3

R2

R1

R6

R5

R4

(*)

Rule Match Action Priority Traffic

R1 0000 Fwd 1 6 10

R2 000* Fwd 2 5 20

R3 00** Fwd 3 4 90

R4 111* Fwd 4 3 5

R5 11** Fwd 5 2 10

R6 1*** Fwd 6 1 120

Page 23: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Dependent-Set Caching

23

R3

R2

R1

R6

R5

R4

(*)

•  All descendants in DAG are dependents •  Cache dependent rules for correctness

Page 24: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

2. Efficient Caching

Page 25: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Dependent-Set Overhead

25

R3

R2

R1

R6

R5

R4

(*)

Too Costly?

Page 26: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Cover-Set

26

Rule Match Action R1 000 Fwd 1

R2 00* Fwd 2

R3 0** Fwd 3

R4 11* Fwd 4

R5 1*0 Fwd 5

R5^ 1*0 To_SW

R6 10* Fwd 6

(*) *** To_SW

R6

R5

R4

(*)

R5^

R3

R2

R1

Cover rule

Page 27: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Dependency Splicing reduces rule cost!

27

Dependent-Set Cover-Set

Rule Space Cost

Page 28: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Deep Dependency Chains – Clear Gain

28

•  ClassBench Generated ACL

0

20

40

60

80

100

0.5 1 2 5 10 25 50

% C

ach

e-h

it tr

aff

ic

% TCAM Cache Size (Log scale)

Cover-Set AlgoDependent-Set Algo

Page 29: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Shallow Dependency Chains – Marginal Gain

29

0

20

40

60

80

100

1 2 5 10 25 50

% C

ach

e-h

it tr

affic

% TCAM Cache Size (Log scale)

Dependent-Set AlgoCover-Set Algo

•  Stanford Backbone Routing table

Page 30: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

3. Transparent Caching

Page 31: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

31

CacheFlow

HW_Cache (TCAM)

Controller

S4 S1 S2 S3

OpenFlow Datapath

3. Transparent Design

Page 32: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

32

CacheFlow

HW_Cache (TCAM)

Controller

S4 S1 S2 S3

Virtual switch

OpenFlow Datapath

3. Transparent Design

Page 33: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

33

CacheFlow

HW_Cache (TCAM)

Controller

S4 S1 S2 S3

OpenFlow Datapath

Emulates counters, barriers, timeouts etc.

3. Transparent Design

Virtual switch

Page 34: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

•  Rule caching for OpenFlow rules

Ø  Dependency analysis for correctness Ø  Splicing dependency chains for efficiency Ø  Transparent design

Conclusion

34

Page 35: Infinite CacheFlow in Software-Defined Networkingjrex/talks/cacheflow14.pdf · 2015-01-09 · Infinite CacheFlow in Software-Defined Networking Naga Katta Omid Alipourfard, Jennifer

Infinite Ca$heFlow in SDN

Questions?