CAB: A Reactive Wildcard Rule Caching System for Software-Defined - - PowerPoint PPT Presentation

cab a reactive wildcard rule caching system for software
SMART_READER_LITE
LIVE PREVIEW

CAB: A Reactive Wildcard Rule Caching System for Software-Defined - - PowerPoint PPT Presentation

CAB: A Reactive Wildcard Rule Caching System for Software-Defined Networks Bo Yan, Yang Xu, Hongya Xing Kang Xi, H. Jonathan Chao August 22, 2014 HotSDN Workshop Reactively Caching Rules on Demand Controller Rule Set Switch 8/24/2014


slide-1
SLIDE 1

CAB: A Reactive Wildcard Rule Caching System for Software-Defined Networks

Bo Yan, Yang Xu, Hongya Xing Kang Xi, H. Jonathan Chao August 22, 2014

HotSDN Workshop

slide-2
SLIDE 2

Reactively Caching Rules on Demand

8/24/2014 2

… Controller Switch

Rule Set

slide-3
SLIDE 3

Reactively Caching Rules on Demand

8/24/2014 2

… Controller Switch

Rule Set

Install at a time

slide-4
SLIDE 4

TCAM

Reactively Caching Rules on Demand

8/24/2014 2

… Controller Switch

Rule Set

Install at a time

slide-5
SLIDE 5

TCAM

Reactively Caching Rules on Demand

8/24/2014 2

… Controller Switch

Rule Set

slide-6
SLIDE 6

TCAM

Reactively Caching Rules on Demand

8/24/2014 2

… Controller Switch

Rule Set

Install on demand

slide-7
SLIDE 7

TCAM

Reactively Caching Rules on Demand

8/24/2014 2

… Controller Switch

Rule Set

Install on demand

slide-8
SLIDE 8

Caching Wildcard Rules

8/24/2014 3

NYC Dept.Edu (DoE) Data Center Traces

Wildcard rules enables:

  • Natural intention of

managing flows aggregately

  • Higher reusability for

each rule

  • Easy update of policies
slide-9
SLIDE 9

Caching Wildcard Rules

8/24/2014 3

Locality of Traffic

NYC Dept.Edu (DoE) Data Center Traces

Wildcard rules enables:

  • Natural intention of

managing flows aggregately

  • Higher reusability for

each rule

  • Easy update of policies
slide-10
SLIDE 10

Caching Wildcard Rules

8/24/2014 3

Locality of Traffic

NYC Dept.Edu (DoE) Data Center Traces

Wildcard rules enables:

  • Natural intention of

managing flows aggregately

  • Higher reusability for

each rule

  • Easy update of policies
slide-11
SLIDE 11

Challenge: Wildcard Rule Dependency

8/24/2014 4

Rule set 3 2 Switch Mem

F2 (Dst IP) F1 (Src IP)

1

slide-12
SLIDE 12

Challenge: Wildcard Rule Dependency

8/24/2014 4

Rule set

f1

3 2 Switch Mem 3

f1 F2 (Dst IP) F1 (Src IP)

1

f1

slide-13
SLIDE 13

Challenge: Wildcard Rule Dependency

8/24/2014 4

Rule set

f1 f2

3 2 Switch Mem 3

f1 f2 F2 (Dst IP) F1 (Src IP) f2

Wrong matching! 1

f1

slide-14
SLIDE 14

Challenge: Wildcard Rule Dependency

8/24/2014 4

f3

Rule set

f1 f2

3 2 Switch Mem 3

f1

2

f2 F2 (Dst IP) F1 (Src IP) f2

Wrong matching! 1 f3

f3

Dependency has chain reaction

f1

slide-15
SLIDE 15

Challenge: Wildcard Rule Dependency

8/24/2014 4

f3

Rule set

f1 f2

3 2 Switch Mem 3

f1

2

F2 (Dst IP) F1 (Src IP)

Wrong matching! 1 f3 1 f3

Dependency has chain reaction

f1

slide-16
SLIDE 16

Challenge: Wildcard Rule Dependency

8/24/2014 4

f3

Rule set

f1 f2

3 2 Switch Mem 3

f1

2

F2 (Dst IP) F1 (Src IP)

1 f3 1 f3 Hypothetical

Dependency has chain reaction

f1

slide-17
SLIDE 17

90%

Challenge: Wildcard Rule Dependency

8/24/2014 4

Rule set

f1

3 2 Switch Mem 3

f1

2

F2 (Dst IP) F1 (Src IP)

1 1 … …

Caching 100s dependent rules

Dependency has chain reaction

slide-18
SLIDE 18

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Switch Mem

F2 (Dst IP) F1 (Src IP)

5

slide-19
SLIDE 19

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Switch Mem

f1 F2 (Dst IP) F1 (Src IP)

5

slide-20
SLIDE 20

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Switch Mem

f1

F2 (Dst IP) F1 (Src IP)

5

slide-21
SLIDE 21

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Switch Mem

F2 (Dst IP) F1 (Src IP)

5

slide-22
SLIDE 22

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Switch Mem

F2 (Dst IP) F1 (Src IP) f2 f3 f1

5

slide-23
SLIDE 23

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Split rule set and cache micro rules

[Smart Rule Cache][DIFANE]

  • Significantly larger rule set

Switch Mem

F2 (Dst IP) F1 (Src IP)

5

slide-24
SLIDE 24

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Split rule set and cache micro rules

[Smart Rule Cache][DIFANE]

  • Significantly larger rule set

Switch Mem

F2 (Dst IP) F1 (Src IP)

5

slide-25
SLIDE 25

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Split rule set and cache micro rules

[Smart Rule Cache][DIFANE]

  • Significantly larger rule set

Switch Mem

F2 (Dst IP) F1 (Src IP)

5

slide-26
SLIDE 26

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Split rule set and cache micro rules

[Smart Rule Cache][DIFANE]

  • Significantly larger rule set

Switch Mem

F2 (Dst IP) F1 (Src IP)

Lack of efficiency in switch memory use

  • more cache miss at switch
  • higher controller load, control bandwidth
  • longer flow setup delay

5

slide-27
SLIDE 27

Methods to Accommodate Rule Dependency

8/24/2014

Cache all dependent rules

  • Memory explosion

Cache exact match rules [DevoFlow][Ethane]

  • Frequent rule installations

Split rule set and cache micro rules

[Smart Rule Cache][DIFANE]

  • Significantly larger rule set

Switch Mem

F2 (Dst IP) F1 (Src IP)

Problem: how to accommodate rule dependency with efficient mem use?

5

slide-28
SLIDE 28

4 3 2

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller F2 F1

Rule set (Controller) 1 6 8 7 9 5

slide-29
SLIDE 29

4 3 2

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller

Buckets

F2 F1

Rule set (Controller) 1 6 8 7 9 5

F A B D E G H I C

slide-30
SLIDE 30

4 3 2

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table

Buckets

F2 F1

Rule set (Controller) 1 6 8 7 9 5

F A B D E G H I C

slide-31
SLIDE 31

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table

Buckets

F2 F1

Switch Mem

slide-32
SLIDE 32

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table

Buckets

f1

F2 F1 f1 Cache Miss

Cache Miss at Bucket Filter

Switch Mem

slide-33
SLIDE 33

4 3

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket F Rule 4 Buckets

Buckets

f1

Associate Rules Rule 3 F2 F1 f1 Cache Miss

Install bucket F and rule 3 & 4 Cache Miss at Bucket Filter

F

Switch Mem

slide-34
SLIDE 34

4 3

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket F Rule 4

Buckets

f1

Rule 3 F2 F1 f1

Install bucket F and rule 3 & 4 Cache Miss at Bucket Filter f1 is set up

F

Switch Mem

slide-35
SLIDE 35

4 3

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket F Rule 4

Buckets

f1 f2

Rule 3 F2 F1 f1

Matched Bucket F, and Rule 3

F

f2

Switch Mem

slide-36
SLIDE 36

4 3

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket F Rule 4

Buckets

f1 f2

Rule 3 F2 F1 f1

Matched Bucket F, and Rule 3 f2 is set up

F

f2

Switch Mem

slide-37
SLIDE 37

4 3

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket F Rule 4

Buckets

f1 f2

Rule 3 F2 F1 f1

f3

f3

F

f2

Switch Mem

slide-38
SLIDE 38

4 3 2

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket C Bucket F Rule 2 Rule 4 Buckets

Buckets

f1

Associate Rules

f2

Rule 3 F2 F1 f1 Cache Miss

f3

f3

Cache Miss at Bucket Filter Install bucket C and rule 2 (&3) f3 is set up

F C

f2

Switch Mem

slide-39
SLIDE 39

4 3 2

Solution: CAching rules in Buckets (CAB)

8/24/2014 6

Rules CAB Controller OpenFlow Switch Bucket Filter Flow Table Bucket C Bucket F Rule 2 Rule 4 Buckets

Buckets

f1

Associate Rules

f2

Rule 3 F2 F1 f1 Cache Miss

f3

f3

Now no more 100s dependent rules Only rules within requested bucket

F C

f2

slide-40
SLIDE 40

Bucket size affects memory efficiency

8/24/2014 7

4 3 2

F2 F1

1 6 8 7 9 5

slide-41
SLIDE 41

Bucket size affects memory efficiency

8/24/2014 7

Larger buckets (2x2)

4 3 2

F2 F1

1 6 8 7 9 5

slide-42
SLIDE 42

Bucket size affects memory efficiency

8/24/2014 7

Larger buckets (2x2)

F2 F1

slide-43
SLIDE 43

Bucket size affects memory efficiency

8/24/2014 7

Larger buckets (2x2)

  • More rules cached each time
  • Unmatched rules cached

4 3 2

F2 F1

1 9 5

f1 f3 f2

D B

slide-44
SLIDE 44

Bucket size affects memory efficiency

8/24/2014 7

Larger buckets (2x2)

  • More rules cached each time
  • Unmatched rules cached

Smaller buckets (4x4)

4 3 2

F2 F1

1 6 8 7 9 5

slide-45
SLIDE 45

Bucket size affects memory efficiency

8/24/2014 7

Larger buckets (2x2)

  • More rules cached each time
  • Unmatched rules cached

Smaller buckets (4x4)

F2 F1

slide-46
SLIDE 46

Bucket size affects memory efficiency

8/24/2014 7

Larger buckets (2x2)

  • More rules cached each time
  • Unmatched rules cached

Smaller buckets (4x4)

  • More buckets cached

4 3 2

F2 F1 f1 f3 f2

D I M

slide-47
SLIDE 47

Bucket size affects memory efficiency

8/24/2014 7

Choosing bucket size affects switch memory efficiency

Larger buckets (2x2)

  • More rules cached each time
  • Unmatched rules cached

Smaller buckets (4x4)

  • More buckets cached

4 3 2

F2 F1 f1 f3 f2

D I M

slide-48
SLIDE 48

Bucket Generation Decision Tree

8/24/2014 8

Decision tree based generation algorithm [HyperCut]

Whole Field Space

Technical problems: How to select the fields to partition? [see paper]

Partition on F1 1 Bucket B R1 R3 Partition on F2 2 Bucket A R2 R3 Bucket C R3 R4

C

4 3

B

2 1

F2 F1

A 1 2

  • No. of associate rules in each bucket is bounded

Bucket size

slide-49
SLIDE 49

Preliminary Simulation Setup

8/24/2014 9

Performance Evaluation

  • Cache miss rate
  • Bandwidth Consumption
  • Flow setup latency (see paper)

Parameter Setting

  • Effects of Tuning bucket size

Comparison

  • CAching rules in Buckets (CAB)
  • Caching exact match rules (CEM)
  • Caching micro rules (CMR)
  • Caching dependent rules (CDR)
slide-50
SLIDE 50

Cache Miss and Control Bandwidth Performance

8/24/2014 10

CEM: Exact Match CMR: Micro Rules CAB: Bucket + Rules CDR: Dependent Rules

> 10x less cache miss

slide-51
SLIDE 51

Cache Miss and Control Bandwidth Performance

8/24/2014 10

> half less control bandwidth use

slide-52
SLIDE 52

Effect of tuning bucket size

8/24/2014 11

Small bucket Large bucket

Memory overflow

slide-53
SLIDE 53

Summary

8/24/2014

CAB is a novel wildcard rule caching system which Resolves rule dependency in wildcard rule caching Achieves efficient switch memory use helps reducing control network bandwidth flow setup latency controller load Is fully compatible with the latest OpenFlow standards

12

slide-54
SLIDE 54

Thank you! Q&A

8/24/2014 13