dream: dynamic resource allocation for software-defined

37
DREAM: Dynamic Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin Vahdat 1 (SIGCOMM’14)

Upload: others

Post on 10-Dec-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DREAM: Dynamic Resource Allocation for Software-defined

DREAM:

Dynamic Resource Allocation for

Software-defined Measurement

Masoud Moshref, Minlan Yu,

Ramesh Govindan, Amin Vahdat1

(SIGCOMM’14)

Page 2: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Measurement is Crucial for Network Management

2

Heavy Hitter detection Change detection

Netflix Expedia Reddit

AccountingAnomaly

Detection

Traffic

Engineering

Heavy Hitter detectionHeavy Hitter detection Change detectionChange detection

Failure

DetectionAccounting

Traffic

Engineering

Tenant:

Management:

Measurement:

Network:

Page 3: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

High Level Contribution: Flexible Measurement

3

Management:

Measurement:

Users dynamically instantiate complex measurements

on network state

DREAM supports the largest number of measurement

tasks while maintaining measurement accuracy,

by dynamically leveraging tradeoffs between switch

resource consumption and measurement accuracy

We leverage unmodified hardware

and existing switch interfaces

Network:

Page 4: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Prior Work: Software Defined Measurement (SDM)

4

Controller

Install rules1 Fetch counters2Update rules3

Source IP: 10.0.1.128/30 #Bytes=1MSource IP: 10.0.1.130/31

Heavy Hitter detection Change detection

#Bytes=5MSource IP: 55.3.4.34/31Source IP: 55.3.4.32/30

Page 5: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Our Focus: Measurement Using TCAMs

5

Focus on TCAMs enables immediate deployability

Prior work has explored other primitives

such as hash-based counters

Existing OpenFlow switches use TCAMs which permit

counting traffic for a prefix

Page 6: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Challenge: Limited TCAM Memory

6

Controller

Install rules1 Fetch counters2

00 13MB

Heavy Hitter detection

01

10

11

13MB

2MB

3MB

Problem: Requires too many TCAMs

64K IPs to monitor a /16 prefix >> ~4K TCAMs at switches

Find source IPs sending > 10Mbps

26

13 13

5

2 3

31

11100100

Page 7: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Reducing TCAM Usage

7

26

13 13

5

2 3

31

11100100

Monitor internal nodes to reduce TCAM usage

Monitoring 1* is enough

because a node with size 5

cannot have leaves >10

26

13 13

5

2 3

31

11100100

Page 8: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Challenge: Loss of Accuracy

8

Fixed configuration misses heavy hitters as traffic changes

9

4 5

30

15 15

39

26

13 13

5

2 3

31

Missed heavy hitters

Page 9: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

9

4 5

30

15 15

39

Dynamic Configuration to Avoid Loss of Accuracy

9

Find leaves >10Mbps using 3 TCAMs

DivideMerge

30

15 15

39

9

4 5

Monitor parent to save a TCAM

Monitor children to detect HHs

but using 2 TCAMs

Page 10: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Reducing TCAM Usage: Temporal Multiplexing

10

# T

CA

Ms

Re

qu

ire

d

Time

Task 1

Task 2

Required TCAM changes over time

Page 11: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Reducing TCAM Usage: Spatial Multiplexing

11

# T

CA

Ms

Re

qu

ire

d

Time

Switch A

Switch B

Required TCAMs varies across switches

Only needs more TCAMs at switch A

Page 12: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

256 512 1024 20480

0.2

0.4

0.6

0.8

1A

ccur

acy

TCAMs

Reducing TCAM Usage: Diminishing Returns

12

Accuracy Bound12%

7%

Can accept an accuracy bound <100% to save TCAMs

Page 13: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

Key Insight

13

Leverage spatial and temporal multiplexing and

diminishing returns

to dynamically adapt the configuration and allocation

of TCAM entries per task

to achieve sufficient accuracy

Page 14: DREAM: Dynamic Resource Allocation for Software-defined

Motivation System Algorithm EvaluationMotivation

DREAM Contributions

14

Dynamically adapts tasks TCAM allocations and

configuration over time and across switches,

while maintaining sufficient accuracy

Supports concurrent instances of three task types:

Heavy Hitter, Hierarchical HH and Change Detection

Significantly outperforms fixed allocation and

scales well to larger networks

Algorithm

System

Evaluation

Page 15: DREAM: Dynamic Resource Allocation for Software-defined

Motivation ArchitectureSystem Algorithm Evaluation

DREAM Tasks

15

Heavy Hitter detection

Hierarchical HH detection

Change detection

Anomaly detection Traffic engineering

AccountingNetwork provisioning

DREAM

DDoS detectionNetwork visualizationMa

na

ge

me

nt

Me

asu

rem

en

tN

etw

ork

Page 16: DREAM: Dynamic Resource Allocation for Software-defined

Motivation ArchitectureSystem Algorithm Evaluation

DREAM Workflow

16

Task Instance 1

Task Instance nDREAM

SDN Controller

ReportInstantiate task

Configure counters Fetch counters

• Task type

• Task parameters

• Task filter

• Accuracy bound

TCAM Allocation

and Configuration

Page 17: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Algorithmic Challenges

17

How to allocate TCAMs for

sufficient accuracy?

Which switches to allocate?

How to adapt TCAM configuration

on multiple switches?

Dynamically adapts tasks TCAM allocations and

configuration over time and across switches,

while maintaining sufficient accuracy

Dynamically adapts tasks TCAM allocations and

configuration over time and across switches,

while maintaining sufficient accuracy

Dynamically adapts tasks TCAM allocations and

configuration over time and across switches,

while maintaining sufficient accuracy

Dynamically adapts tasks TCAM allocations and

configuration over time and across switches,

while maintaining sufficient accuracy

allocations

Diminishing Return

Temporal Multiplexing

Spatial Multiplexing

Page 18: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Dynamic TCAM Allocation

Allocate TCAM Estimate accuracy

Measure

Enough TCAMs � High accuracy � Satisfied

Not enough TCAMs � Low accuracy � Unsatisfied

Page 19: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Dynamic TCAM Allocation

19

Allocate TCAM Estimate accuracy

Measure

We cannot know the curve for every traffic and task instance

Thus we cannot formulate a one-shot optimization

Why iterative approach?

256 512 1024 20480

0.2

0.4

0.6

0.8

1

Acc

ura

cy

TCAMs

Page 20: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Dynamic TCAM Allocation

20

Allocate TCAM Estimate accuracy

Measure

We cannot know the curve for every traffic and task instance

Thus we cannot formulate a one-shot optimization

We don’t have ground-truth

Thus we must estimate accuracy

Why iterative approach?

Why estimating accuracy?

Page 21: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Estimate Accuracy: Heavy Hitter Detection

21

True detected HH

Detected HHsPrecision =

True detected HH

True detected + Missed HHsRecall =

Is 1 because any detected HH is a true HH

Estimate missed HHs

Page 22: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Estimate Recall for Heavy Hitter Detection

22

76

26

12 14

5 7 12 2

With size 26:

missed <=2 HHs

50

15 35

20 150 15

At level 2:

missed <=2 HH

Threshold=10Mbps

True detected HH

True detected + Missed HHsRecall =

Find an upper bound of missed HHs

using size and level of internal nodes

Page 23: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Allocate TCAM

23

Goal: maintain high task satisfaction

Fraction of task’s lifetime with sufficient accuracy

Page 24: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Allocate TCAM

24

Goal: maintain high task satisfaction

Small � Slow convergence Large � Oscillations

Time

Acc

ura

cy

Time

Acc

ura

cy

How many TCAMs to exchange?

Page 25: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Avoid Overloading

25

Not enough TCAMs to satisfy all tasks

Reject new tasks

Drop existing tasks

Solutions

Page 26: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Algorithmic Challenges

26

How to allocate TCAMs for

sufficient accuracy?

How to adapt TCAM configuration

on multiple switches?

Dynamically adapts tasks TCAM allocations and

configuration over time and across switches,

while maintaining sufficient accuracy

Diminishing Returns

Temporal Multiplexing

Spatial Multiplexing

Which switches to allocate?

Page 27: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Allocate TCAM: Multiple Switches

27

A B

Controller

Heavy Hitter detection

20 HHs 10 HHs

30 HHs

A task can have traffic from multiple switches

Page 28: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Allocate TCAM: Multiple Switches

28

A B

Controller

Heavy Hitter detection

Global accuracy is important

If a task is globally satisfied, no need to increase A’s TCAMs

A task can have traffic from multiple switches

Page 29: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Allocate TCAM: Multiple Switches

29

A B

Controller

Heavy Hitter detection

Local accuracy is important

If a task is globally unsatisfied, increasing B’s TCAMs is expensive

(diminishing returns)

A task can have traffic from multiple switches

Page 30: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

Allocate TCAM: Multiple Switches

30

A B

Controller

Heavy Hitter detection

Use both local and global accuracy

A task can have traffic from multiple switches

Page 31: DREAM: Dynamic Resource Allocation for Software-defined

Motivation AlgorithmSystem Evaluation

DREAM Modularity

31

Task DependentTask Independent

TCAM Allocation

TCAM Configuration:

Divide & Merge

DREAM

Accuracy Estimation

Page 32: DREAM: Dynamic Resource Allocation for Software-defined

EvaluationMotivation System Algorithm

Evaluation: Accuracy and Overhead

32

Overhead

How fast is the DREAM control loop?

Accuracy

Satisfaction of a task: Fraction of task’s lifetime

with sufficient accuracy

% of rejected/dropped tasks

Page 33: DREAM: Dynamic Resource Allocation for Software-defined

EvaluationMotivation System Algorithm

Evaluation: Alternatives

33

Equal: divide TCAMs equally at each switch, no reject

Fixed: fixed fraction of TCAMs, reject extra tasks

Page 34: DREAM: Dynamic Resource Allocation for Software-defined

EvaluationMotivation System Algorithm

Evaluation Setting

34

Prototype on 8 Open vSwitches

• 256 tasks (HH, HHH, CD, combination)

• 5 min tasks arriving in 20 mins

• Accuracy bound=80%

• 5 hours CAIDA trace

• Validate simulator using prototype

Large scale simulation (4096 tasks on 32 switches)

• accuracy bounds

• task loads (arrival rate, duration, switch size)

• tasks (task types, task parameters e.g., threshold)

• # switches per tasks

Page 35: DREAM: Dynamic Resource Allocation for Software-defined

EvaluationMotivation System Algorithm

Prototype Results: Average Satisfaction

35

512 1024 2048 40960

0.2

0.4

0.6

0.8

1

Switch capacity

Sat

isfa

ctio

n

DreamEqualFixed

512 1024 2048 40960

20

40

60

80

100

Switch capacity%

of t

asks

DREAM-rejectFixed-rejectDREAM-drop

DREAM: High satisfaction of tasks

at the expense of more rejection for small switches

Ave

rage

Sat

isfa

ctio

n

# TCAMs in Switch # TCAMs in Switch

Fixed: High rejection as over-provisions for small tasks

Page 36: DREAM: Dynamic Resource Allocation for Software-defined

EvaluationMotivation System Algorithm

Prototype Results: 95th Percentile Satisfaction

36

512 1024 2048 40960

0.2

0.4

0.6

0.8

1

Switch capacity

Sat

isfa

ctio

n

DreamEqualFixed

DREAM: High 95th percentile satisfaction

Equal and Fixed only keep small tasks satisfied

95th

Per

cent

ile S

atis

fact

ion

# TCAMs in Switch

Page 37: DREAM: Dynamic Resource Allocation for Software-defined

Conclusion

37

Dynamic TCAM allocation across measurement tasks

• Diminishing returns in accuracy

• Spatial and temporal multiplexing

Future work

• More TCAM-based measurement tasks (quintiles for

load balancing, entropy detection)

• Hash-based measurements

DREAM is available at

github.com/USC-NSL/DREAM

Measurement is crucial for SDN management

in a resource-constrained environment