dynamic scheduling of network updates
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 PresentationTRANSCRIPT
![Page 1: Dynamic Scheduling of Network Updates](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/8.jpg)
8
Operation Completion Times are Highly Variable
>10x
• Measurement on commodity switches
![Page 9: Dynamic Scheduling of Network Updates](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/31.jpg)
31
Dionysus Scheduling
• Scheduling as a resource allocation problem
A-E: 05
5
MoveF3
MoveF2
![Page 32: Dynamic Scheduling of Network Updates](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/32.jpg)
32
Dionysus Scheduling
• Scheduling as a resource allocation problem
A-E: 55 Move
F2
![Page 33: Dynamic Scheduling of Network Updates](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/33.jpg)
33
Dionysus Scheduling
• Scheduling as a resource allocation problem
MoveF2
Done!
![Page 34: Dynamic Scheduling of Network Updates](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070416/56815255550346895dc08865/html5/thumbnails/44.jpg)
44
Thanks!