Download presentation

Presentation is loading. Please wait.

Published byMckayla Weatherly Modified about 1 year ago

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

2
SDN: Paradigm Shift in Networking Many benefits – Traffic engineering [B4, SWAN] – Flow scheduling [Hedera, DevoFlow] – Access control [Ethane, vCRIB] – Device power management [ElasticTree] 1 Controller Direct, centralized updates of forwarding rules in switches

3
Network Update is Challenging Requirement 1: fast – The agility of control loop Requirement 2: consistent – No congestion, no blackhole, no loop, etc. 2 Network Controller

4
What is Consistent Network Update 3 Current State A D C B E F1: 5 F4: 5 F2: 5 F3: 10 Target State A D C B E F1: 5 F4: 5 F2: 5 F3: 10

5
What is Consistent Network Update Asynchronous updates can cause congestion Need to carefully order update operations 4 Current State A D C B E F1: 5 F4: 5 F2: 5 F3: 10 Target State A D C B E F1: 5 F4: 5 F2: 5 F3: 10 A D C B E F4: 5 F1: 5 F3: 10 F2: 5 Transient State

6
Existing Solutions are Slow Existing solutions are static [ConsistentUpdate’12, SWAN’13, zUpdate’13] – Pre-compute an order for update operations 5 F3 F4 F2 F1 Static Plan A Target State Current State A D C B E F4: 5 F2: 5 F1: 5 F3: 10 A D C B E F1: 5 F4: 5 F2: 5 F3: 10

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 6 F3 F4 F2 F1 Static Plan A

8
Operation Completion Times are Highly Variable 7 >10x Measurement on commodity switches

9
Operation Completion Times are Highly Variable 8 Measurement on commodity switches Contributing factors – Control-plane load – Number of rules – Priority of rules – Type of operations (insert vs. modify)

10
Static Schedules can be Slow 9 F3 F4 F2 F1 Static Plan B F3 F4 F2 F1 Static Plan A F1 F2 F3 F4 Time F1 F2 F3 F4 Time F1 F2 F3 F4 Time F1 F2 F3 F4 Time Target State Current State A D C B E F4: 5 F2: 5 F1: 5 F3: 10 A D C B E F1: 5 F4: 5 F2: 5 F3: 10 No static schedule is a clear winner under all conditions!

11
Dynamic Schedules are Adaptive and Fast 10 F3 F4 F2 F1 Static Plan B F3 F4 F2 F1 Static Plan A Target State Current State A D C B E F4: 5 F2: 5 F1: 5 F3: 10 A D C B E F1: 5 F4: 5 F2: 5 F3: 10 No static schedule is a clear winner under all conditions! F3 F4 F2 F1 Dynamic Plan Adapts to actual conditions!

12
Challenges of Dynamic Update Scheduling Exponential number of orderings Cannot completely avoid planning 11 Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5

13
Challenges of Dynamic Update Scheduling Exponential number of orderings Cannot completely avoid planning 12 Current State A D C B E F3: 5 F1: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 F2 Deadlock

14
Challenges of Dynamic Update Scheduling Exponential number of orderings Cannot completely avoid planning 13 Current State A D C B E F3: 5 F2: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 F1 F1: 5

15
Challenges of Dynamic Update Scheduling Exponential number of orderings Cannot completely avoid planning 14 Current State A D C B E F2: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 F1F3 F1: 5 F3: 5

16
Challenges of Dynamic Update Scheduling Exponential number of orderings Cannot completely avoid planning 15 Current State A D C B E F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 F1F3F2 Consistent update plan F2: 5 F1: 5 F3: 5

17
Dionysus Pipeline 16 Dependency Graph Generator Update Scheduler Network Current State Target State Consistency Property Encode valid orderings Determine a fast order

18
Dependency Graph Generation 17 Dependency Graph Elements Operation node Resource node (link capacity, switch table size) Node Edge Dependencies between nodes Path node Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5

19
Dependency Graph Generation 18 Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 Move F3 Move F1 Move F2

20
Dependency Graph Generation 19 Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 A-E: 5 Move F3 Move F1 Move F2

21
Dependency Graph Generation 20 Current State A D C B E F1: 5 F4: 5 F5: 10 A-E: 5 5 Move F3 Move F1 Move F2 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 F3: 5 F2: 5

22
Dependency Graph Generation 21 A-E: Move F3 Move F1 Move F2 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10

23
Dependency Graph Generation 22 A-E: Move F3 Move F1 Move F2 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10

24
Dependency Graph Generation 23 A-E: 5 5 D-E: Move F3 Move F1 Move F2 Target State A D C B E F1: 5 F3: 5 F4: 5 F5: 10 F2: 5 Current State A D C B E F3: 5 F2: 5 F1: 5 F4: 5 F5: 10

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 24

26
Dionysus Pipeline 25 Dependency Graph Generator Update Scheduler Network Current State Target State Consistency Property Encode valid orderings Determine a fast order

27
Dionysus Scheduling Scheduling as a resource allocation problem 26 A-E: 5 5 D-E: Move F3 Move F1 Move F2

28
Dionysus Scheduling Scheduling as a resource allocation problem 27 A-E: 0 D-E: Move F3 Move F1 Move F2 Deadlock!

29
Dionysus Scheduling Scheduling as a resource allocation problem 28 A-E: 0 5 D-E: Move F3 Move F1 Move F2

30
Dionysus Scheduling Scheduling as a resource allocation problem 29 A-E: 0 5 D-E: Move F3 Move F2

31
Dionysus Scheduling Scheduling as a resource allocation problem 30 A-E: Move F3 Move F2

32
Dionysus Scheduling Scheduling as a resource allocation problem 31 A-E: 5 5 Move F2

33
Dionysus Scheduling Scheduling as a resource allocation problem 32 Move F2 Done!

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 33

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 34 A-B:5 CPL=3 C-D:0 5 CPL= CPL=2 CPL=1 Move F4 Move F3 Move F2 Move F1

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 35 A-B:0 CPL=3 C-D:0 5 CPL= CPL=2 CPL=1 Move F4 Move F3 Move F2 Move F1

37
Handling Cycles Convert to virtual DAG – Consider each strongly connected component (SCC) as a virtual node 36 CPL=1 CPL=3 weight = 1weight = 2 Critical-path scheduling on virtual DAG – Weight w i of SCC: number of operation nodes A-E: 5 5 D-E: Move F3 Move F1 Move F2 Move F2

38
Handling Cycles Convert to virtual DAG – Consider each strongly connected component (SCC) as a virtual node 37 CPL=1 CPL=3 weight = 1weight = 2 Critical-path scheduling on virtual DAG – Weight w i of SCC: number of operation nodes A-E: 0 5 D-E: Move F3 Move F1 Move F2 Move F2

39
Evaluation: Traffic Engineering 38 Not congestion-free Congestion-free

40
Evaluation: Traffic Engineering 39 Improve 50 th percentile update speed by 80% compared to static scheduling (SWAN), close to OneShot Not congestion-free Congestion-free

41
Evaluation: Failure Recovery 40

42
Evaluation: Failure Recovery 41 Reduce 99 th percentile link oversubscription by 40% compared to static scheduling (SWAN) Improve 99 th percentile update speed by 80% compared to static scheduling (SWAN)

43
Conclusion Dionysus provides fast, consistent network updates through dynamic scheduling – Dependency graph: compactly encode orderings – Scheduling: dynamically schedule operations 42 Dionysus enables more agile SDN control loops

44
Thanks! 43

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google