Dynamic Scheduling of Network Updates

44
Dynamic Scheduling of Network Updates Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer Rexford, Roger Wattenhofer

description

Dynamic Scheduling of Network Updates. Xin Jin Hongqiang Harry Liu , Rohan Gandhi, Srikanth Kandula , Ratul Mahajan , Ming Zhang, Jennifer Rexford, Roger Wattenhofer. SDN: Paradigm Shift in Networking. Controller. Many benefits Traffic engineering [B4, SWAN] - PowerPoint PPT Presentation

Transcript of Dynamic Scheduling of Network Updates

Page 1: Dynamic Scheduling of Network Updates

Dynamic Scheduling ofNetwork Updates

Xin JinHongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan,

Ming Zhang, Jennifer Rexford, Roger Wattenhofer

Page 2: Dynamic Scheduling of Network Updates

2

SDN: Paradigm Shift in Networking

• Many benefits– Traffic engineering [B4, SWAN]

– Flow scheduling [Hedera, DevoFlow]

– Access control [Ethane, vCRIB]

– Device power management [ElasticTree]

Controller• Direct, centralized updates of forwarding rules in switches

Page 3: Dynamic Scheduling of Network Updates

3

Network Update is Challenging

• Requirement 1: fast– The agility of control loop

• Requirement 2: consistent– No congestion, no blackhole, no loop, etc.

Network

Controller

Page 4: Dynamic Scheduling of Network Updates

4

What is Consistent Network Update

Current State

A

D

CB

EF1: 5 F4: 5

F2: 5 F3: 10

Target State

A

D

CB

E

F1: 5

F4: 5

F2: 5 F3: 10

Page 5: Dynamic Scheduling of Network Updates

5

What is Consistent Network Update

• Asynchronous updates can cause congestion• Need to carefully order update operations

Current State

A

D

CB

EF1: 5 F4: 5

F2: 5 F3: 10

Target State

A

D

CB

E

F1: 5

F4: 5

F2: 5 F3: 10

A

D

CB

EF4: 5F1: 5

F3: 10F2: 5

Transient State

Page 6: Dynamic Scheduling of Network Updates

6

Existing Solutions are Slow

• Existing solutions are static [ConsistentUpdate’12, SWAN’13, zUpdate’13]

– Pre-compute an order for update operations

F3

F4

F2

F1

StaticPlan A

Target StateCurrent State

A

D

CB

EF4: 5

F2: 5

F1: 5

F3: 10A

D

CB

E

F1: 5

F4: 5

F2: 5 F3: 10

Page 7: Dynamic Scheduling of Network Updates

7

Existing Solutions are Slow

• Existing solutions are static [ConsistentUpdate’12, SWAN’13, zUpdate’13]

– Pre-compute an order for update operations

• Downside: Do not adapt to runtime conditions– Slow in face of highly variable operation completion time

F3

F4

F2

F1

StaticPlan A

Page 8: Dynamic Scheduling of Network Updates

8

Operation Completion Times are Highly Variable

>10x

• Measurement on commodity switches

Page 9: Dynamic Scheduling of Network Updates

9

Operation Completion Times are Highly Variable

• Measurement on commodity switches

• Contributing factors– Control-plane load– Number of rules– Priority of rules– Type of operations (insert vs. modify)

Page 10: Dynamic Scheduling of Network Updates

10

Static Schedules can be Slow

F3

F4

F2 F1StaticPlan B

F3

F4

F2

F1

StaticPlan A

F1F2F3F4

Time1 2 3 4 5

F1F2F3F4

Time1 2 3 4 5

F1F2F3F4

Time1 2 3 4 5

F1F2F3F4

Time1 2 3 4 5

Target StateCurrent State

A

D

CB

EF4: 5

F2: 5

F1: 5

F3: 10A

D

CB

E

F1: 5

F4: 5

F2: 5 F3: 10

No static schedule is a clear winner under all conditions!

Page 11: Dynamic Scheduling of Network Updates

11

Dynamic Schedules are Adaptive and Fast

F3

F4

F2 F1StaticPlan B

F3

F4

F2

F1

StaticPlan A

Target StateCurrent State

A

D

CB

EF4: 5

F2: 5

F1: 5

F3: 10A

D

CB

E

F1: 5

F4: 5

F2: 5 F3: 10

No static schedule is a clear winner under all conditions!

F3

F4

F2F1

DynamicPlan

Adapts to actual conditions!

Page 12: Dynamic Scheduling of Network Updates

12

Challenges of Dynamic Update Scheduling

• Exponential number of orderings• Cannot completely avoid planning

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

Page 13: Dynamic Scheduling of Network Updates

13

Challenges of Dynamic Update Scheduling

• Exponential number of orderings• Cannot completely avoid planning

Current State

A

D

CB

EF3: 5F1: 5

F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5F2: 5

F2

Deadlock

Page 14: Dynamic Scheduling of Network Updates

14

Challenges of Dynamic Update Scheduling

• Exponential number of orderings• Cannot completely avoid planning

Current State

A

D

CB

EF3: 5

F2: 5

F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

F1

F1: 5

Page 15: Dynamic Scheduling of Network Updates

15

Challenges of Dynamic Update Scheduling

• Exponential number of orderings• Cannot completely avoid planning

Current State

A

D

CB

E

F2: 5

F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

F1 F3

F1: 5

F3: 5

Page 16: Dynamic Scheduling of Network Updates

16

Challenges of Dynamic Update Scheduling

• Exponential number of orderings• Cannot completely avoid planning

Current State

A

D

CB

E F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

F1 F3 F2

Consistent update plan

F2: 5

F1: 5

F3: 5

Page 17: Dynamic Scheduling of Network Updates

17

Dionysus Pipeline

Dependency Graph Generator

Update Scheduler

Network

CurrentState

TargetState

ConsistencyProperty

Encode valid orderings

Determine a fast order

Page 18: Dynamic Scheduling of Network Updates

18

Dependency Graph Generation

Dependency Graph Elements

Operation node

Resource node (link capacity, switch table size)Node

Edge Dependencies between nodes

Path node

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

Page 19: Dynamic Scheduling of Network Updates

19

Dependency Graph Generation

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

MoveF3

MoveF1

MoveF2

Page 20: Dynamic Scheduling of Network Updates

20

Dependency Graph Generation

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

A-E: 5

MoveF3

MoveF1

MoveF2

Page 21: Dynamic Scheduling of Network Updates

21

Dependency Graph Generation

Current State

A

D

CB

EF1: 5

F4: 5

F5: 10

A-E: 5

5

MoveF3

MoveF1

MoveF2

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

F3: 5

F2: 5

Page 22: Dynamic Scheduling of Network Updates

22

Dependency Graph Generation

A-E: 55

5

MoveF3

MoveF1

MoveF2

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Page 23: Dynamic Scheduling of Network Updates

23

Dependency Graph Generation

A-E: 55

55

MoveF3

MoveF1

MoveF2

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Page 24: Dynamic Scheduling of Network Updates

24

Dependency Graph Generation

A-E: 55

D-E: 0

5

5 5

5

MoveF3

MoveF1

MoveF2

Target State

A

D

CB

E

F1: 5

F3: 5F4: 5

F5: 10

F2: 5

Current State

A

D

CB

EF3: 5

F2: 5

F1: 5F4: 5

F5: 10

Page 25: Dynamic Scheduling of Network Updates

25

Dependency Graph Generation

• Supported scenarios– Tunnel-based forwarding: WANs– WCMP forwarding: data center networks

• Supported consistency properties– Loop freedom– Blackhole freedom– Packet coherence– Congestion freedom

• Check paper for details

Page 26: Dynamic Scheduling of Network Updates

26

Dionysus Pipeline

Dependency Graph Generator

Update Scheduler

Network

CurrentState

TargetState

ConsistencyProperty

Encode valid orderings

Determine a fast order

Page 27: Dynamic Scheduling of Network Updates

27

Dionysus Scheduling

• Scheduling as a resource allocation problem

A-E: 55

D-E: 0

5

5 5

5

MoveF3

MoveF1

MoveF2

Page 28: Dynamic Scheduling of Network Updates

28

Dionysus Scheduling

• Scheduling as a resource allocation problem

A-E: 0

D-E: 0

5

5 5

5

MoveF3

MoveF1

MoveF2

Deadlock!

Page 29: Dynamic Scheduling of Network Updates

29

Dionysus Scheduling

• Scheduling as a resource allocation problem

A-E: 05

D-E: 05 5

5

MoveF3

MoveF1

MoveF2

Page 30: Dynamic Scheduling of Network Updates

30

Dionysus Scheduling

• Scheduling as a resource allocation problem

A-E: 05

D-E: 55

5

MoveF3

MoveF2

Page 31: Dynamic Scheduling of Network Updates

31

Dionysus Scheduling

• Scheduling as a resource allocation problem

A-E: 05

5

MoveF3

MoveF2

Page 32: Dynamic Scheduling of Network Updates

32

Dionysus Scheduling

• Scheduling as a resource allocation problem

A-E: 55 Move

F2

Page 33: Dynamic Scheduling of Network Updates

33

Dionysus Scheduling

• Scheduling as a resource allocation problem

MoveF2

Done!

Page 34: Dynamic Scheduling of Network Updates

34

Dionysus Scheduling

• Scheduling as a resource allocation problem

• NP-complete problems under link capacity and switch table size constraints

• Approach– DAG: always feasible, critical-path scheduling– General case: covert to a virtual DAG– Rate limit flows to resolve deadlocks

Page 35: Dynamic Scheduling of Network Updates

35

Critical-Path Scheduling

• Calculate critical-path length (CPL) for each node

– Extension: assign larger weight to operation nodes if we know in advance the switch is slow

• Resource allocated to operation nodes with larger CPLs

A-B:5

CPL=3

C-D:0

5

CPL=1

5

5 5

5

CPL=1

CPL=2

CPL=2

CPL=1

MoveF4

MoveF3

MoveF2

MoveF1

Page 36: Dynamic Scheduling of Network Updates

36

Critical-Path Scheduling

• Calculate critical-path length (CPL) for each node

– Extension: assign larger weight to operation nodes if we know in advance the switch is slow

• Resource allocated to operation nodes with larger CPLs

A-B:0

CPL=3

C-D:0

5

CPL=1

5

5

5

CPL=1

CPL=2

CPL=2

CPL=1

MoveF4

MoveF3

MoveF2

MoveF1

Page 37: Dynamic Scheduling of Network Updates

37

Handling Cycles

• Convert to virtual DAG– Consider each strongly connected

component (SCC) as a virtual node

CPL=1CPL=3

weight = 1weight = 2

• Critical-path scheduling on virtual DAG– Weight wi of SCC: number of operation nodes

A-E: 55

D-E: 0

5

5 5

5

MoveF3

MoveF1

MoveF2

MoveF2

Page 38: Dynamic Scheduling of Network Updates

38

Handling Cycles

• Convert to virtual DAG– Consider each strongly connected

component (SCC) as a virtual node

CPL=1CPL=3

weight = 1weight = 2

• Critical-path scheduling on virtual DAG– Weight wi of SCC: number of operation nodes

A-E: 05

D-E: 05 5

5

MoveF3

MoveF1

MoveF2

MoveF2

Page 39: Dynamic Scheduling of Network Updates

39

Evaluation: Traffic Engineering

WAN TE Data Center TE0

0.5

1

1.5

2

2.5

3

3.5

50th Percentile Update Time

OneShotDionysusSWAN

Upd

ate

Tim

e (s

econ

d)

Not congestion-free

Congestion-free

Congestion-free

Page 40: Dynamic Scheduling of Network Updates

40

Evaluation: Traffic Engineering

Improve 50th percentile update speed by 80%compared to static scheduling (SWAN), close to OneShot

WAN TE Data Center TE0

0.5

1

1.5

2

2.5

3

3.5

50th Percentile Update Time

OneShotDionysusSWAN

Upd

ate

Tim

e (s

econ

d)

Not congestion-free

Congestion-free

Congestion-free

Page 41: Dynamic Scheduling of Network Updates

41

Evaluation: Failure Recovery

OneShot Dionysus SWAN0

1

2

3

4

5

99th PercentileLink Oversubscription

Link

Ove

rsub

scrip

tion

(GB)

OneShot Dionysus SWAN0

0.5

1

1.5

2

2.5

3

99th PercentileUpdate Time

Upd

ate

Tim

e (s

econ

d)

Page 42: Dynamic Scheduling of Network Updates

42

Evaluation: Failure Recovery

Reduce 99th percentile link oversubscription by 40% compared to static scheduling (SWAN)

Improve 99th percentile update speed by 80% compared to static scheduling (SWAN)

OneShot Dionysus SWAN0

1

2

3

4

5

99th PercentileLink Oversubscription

Link

Ove

rsub

scrip

tion

(GB)

OneShot Dionysus SWAN0

0.5

1

1.5

2

2.5

3

99th PercentileUpdate Time

Upd

ate

Tim

e (s

econ

d)

Page 43: Dynamic Scheduling of Network Updates

43

Conclusion

• Dionysus provides fast, consistent network updates through dynamic scheduling– Dependency graph: compactly encode orderings– Scheduling: dynamically schedule operations

Dionysus enables more agile SDN control loops

Page 44: Dynamic Scheduling of Network Updates

44

Thanks!