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

Dynamic Scheduling of Network Updates

  • Upload
    herve

  • View
    21

  • Download
    0

Embed Size (px)

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

Citation preview

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!