Xin Jin Hongqiang Harry Liu Rohan Gandhi Srikanth Kandula Ratul Mahajan Ming Zhang Jennifer Rexford Roger Wattenhofer SDN Paradigm Shift in Networking Many benefits ID: 1031295
Download Presentation The PPT/PDF document "Dynamic Scheduling of Network Updates" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. Dynamic Scheduling ofNetwork UpdatesXin JinHongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan,Ming Zhang, Jennifer Rexford, Roger Wattenhofer
2. SDN: Paradigm Shift in NetworkingMany benefitsTraffic engineering [B4, SWAN]Flow scheduling [Hedera, DevoFlow]Access control [Ethane, vCRIB]Device power management [ElasticTree]1ControllerDirect, centralized updates of forwarding rules in switches
3. Network Update is ChallengingRequirement 1: fastThe agility of control loopRequirement 2: consistentNo congestion, no blackhole, no loop, etc.2NetworkController
4. What is Consistent Network Update3Current StateADCBEF1: 5F4: 5F2: 5F3: 10Target StateADCBEF1: 5F4: 5F2: 5F3: 10
5. What is Consistent Network UpdateAsynchronous updates can cause congestionNeed to carefully order update operations4Current StateADCBEF1: 5F4: 5F2: 5F3: 10Target StateADCBEF1: 5F4: 5F2: 5F3: 10ADCBEF4: 5F1: 5F3: 10F2: 5Transient State
6. Existing Solutions are SlowExisting solutions are static [ConsistentUpdate’12, SWAN’13, zUpdate’13]Pre-compute an order for update operations5F3F4F2F1StaticPlan ATarget StateCurrent StateADCBEF4: 5F2: 5F1: 5F3: 10ADCBEF1: 5F4: 5F2: 5F3: 10
7. Existing Solutions are SlowExisting solutions are static [ConsistentUpdate’12, SWAN’13, zUpdate’13]Pre-compute an order for update operationsDownside: Do not adapt to runtime conditionsSlow in face of highly variable operation completion time6F3F4F2F1StaticPlan A
8. Operation Completion Times are Highly Variable7>10xMeasurement on commodity switches
9. Operation Completion Times are Highly Variable8Measurement on commodity switchesContributing factorsControl-plane loadNumber of rulesPriority of rulesType of operations (insert vs. modify)
10. Static Schedules can be Slow9F3F4F2F1StaticPlan BF3F4F2F1StaticPlan AF1F2F3F4Time12345F1F2F3F4Time12345F1F2F3F4Time12345F1F2F3F4Time12345Target StateCurrent StateADCBEF4: 5F2: 5F1: 5F3: 10ADCBEF1: 5F4: 5F2: 5F3: 10No static schedule is a clear winner under all conditions!
11. Dynamic Schedules are Adaptive and Fast10F3F4F2F1StaticPlan BF3F4F2F1StaticPlan ATarget StateCurrent StateADCBEF4: 5F2: 5F1: 5F3: 10ADCBEF1: 5F4: 5F2: 5F3: 10No static schedule is a clear winner under all conditions!F3F4F2F1DynamicPlanAdapts to actual conditions!
12. Challenges of Dynamic Update SchedulingExponential number of orderingsCannot completely avoid planning11Current StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5
13. Challenges of Dynamic Update SchedulingExponential number of orderingsCannot completely avoid planning12Current StateADCBEF3: 5F1: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5F2: 5F2Deadlock
14. Challenges of Dynamic Update SchedulingExponential number of orderingsCannot completely avoid planning13Current StateADCBEF3: 5F2: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5F1F1: 5
15. Challenges of Dynamic Update SchedulingExponential number of orderingsCannot completely avoid planning14Current StateADCBEF2: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5F1F3F1: 5F3: 5
16. Challenges of Dynamic Update SchedulingExponential number of orderingsCannot completely avoid planning15Current StateADCBEF4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5F1F3F2Consistent update planF2: 5F1: 5F3: 5
17. Dionysus Pipeline16Dependency Graph GeneratorUpdate SchedulerNetworkCurrentStateTargetStateConsistencyPropertyEncode valid orderingsDetermine a fast order
18. Dependency Graph Generation17Dependency Graph ElementsOperation nodeResource node (link capacity, switch table size)NodeEdgeDependencies between nodesPath nodeCurrent StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5
19. Dependency Graph Generation18Current StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5MoveF3MoveF1MoveF2
20. Dependency Graph Generation19Current StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5A-E: 5MoveF3MoveF1MoveF2
21. Dependency Graph Generation20Current StateADCBEF1: 5F4: 5F5: 10A-E: 55MoveF3MoveF1MoveF2Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5F3: 5F2: 5
22. Dependency Graph Generation21A-E: 555MoveF3MoveF1MoveF2Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5Current StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10
23. Dependency Graph Generation22A-E: 5555MoveF3MoveF1MoveF2Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5Current StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10
24. Dependency Graph Generation23A-E: 55D-E: 05555MoveF3MoveF1MoveF2Target StateADCBEF1: 5F3: 5F4: 5F5: 10F2: 5Current StateADCBEF3: 5F2: 5F1: 5F4: 5F5: 10
25. Dependency Graph GenerationSupported scenariosTunnel-based forwarding: WANsWCMP forwarding: data center networksSupported consistency propertiesLoop freedomBlackhole freedomPacket coherenceCongestion freedomCheck paper for details24
26. Dionysus Pipeline25Dependency Graph GeneratorUpdate SchedulerNetworkCurrentStateTargetStateConsistencyPropertyEncode valid orderingsDetermine a fast order
27. Dionysus SchedulingScheduling as a resource allocation problem26A-E: 55D-E: 05555MoveF3MoveF1MoveF2
28. Dionysus SchedulingScheduling as a resource allocation problem27A-E: 0D-E: 05555MoveF3MoveF1MoveF2Deadlock!
29. Dionysus SchedulingScheduling as a resource allocation problem28A-E: 05D-E: 0555MoveF3MoveF1MoveF2
30. Dionysus SchedulingScheduling as a resource allocation problem29A-E: 05D-E: 555MoveF3MoveF2
31. Dionysus SchedulingScheduling as a resource allocation problem30A-E: 055MoveF3MoveF2
32. Dionysus SchedulingScheduling as a resource allocation problem31A-E: 55MoveF2
33. Dionysus SchedulingScheduling as a resource allocation problem32MoveF2Done!
34. Dionysus SchedulingScheduling as a resource allocation problemNP-complete problems under link capacity and switch table size constraintsApproachDAG: always feasible, critical-path schedulingGeneral case: covert to a virtual DAGRate limit flows to resolve deadlocks33
35. Critical-Path SchedulingCalculate critical-path length (CPL) for each nodeExtension: assign larger weight to operation nodes if we know in advance the switch is slowResource allocated to operation nodes with larger CPLs34A-B:5CPL=3C-D:05CPL=15555CPL=1CPL=2CPL=2CPL=1MoveF4MoveF3MoveF2MoveF1
36. Critical-Path SchedulingCalculate critical-path length (CPL) for each nodeExtension: assign larger weight to operation nodes if we know in advance the switch is slowResource allocated to operation nodes with larger CPLs35A-B:0CPL=3C-D:05CPL=1555CPL=1CPL=2CPL=2CPL=1MoveF4MoveF3MoveF2MoveF1
37. Handling CyclesConvert to virtual DAGConsider each strongly connected component (SCC) as a virtual node36CPL=1CPL=3weight = 1weight = 2Critical-path scheduling on virtual DAGWeight wi of SCC: number of operation nodesA-E: 55D-E: 05555MoveF3MoveF1MoveF2MoveF2
38. Handling CyclesConvert to virtual DAGConsider each strongly connected component (SCC) as a virtual node37CPL=1CPL=3weight = 1weight = 2Critical-path scheduling on virtual DAGWeight wi of SCC: number of operation nodesA-E: 05D-E: 0555MoveF3MoveF1MoveF2MoveF2
39. Evaluation: Traffic Engineering38Not congestion-freeCongestion-freeCongestion-free
40. Evaluation: Traffic Engineering39Improve 50th percentile update speed by 80%compared to static scheduling (SWAN), close to OneShotNot congestion-freeCongestion-freeCongestion-free
41. Evaluation: Failure Recovery40
42. Evaluation: Failure Recovery41Reduce 99th percentile link oversubscription by 40% compared to static scheduling (SWAN)Improve 99th percentile update speed by 80% compared to static scheduling (SWAN)
43. ConclusionDionysus provides fast, consistent network updates through dynamic schedulingDependency graph: compactly encode orderingsScheduling: dynamically schedule operations42Dionysus enables more agile SDN control loops
44. Thanks!43