/
Dynamic Scheduling of Network Updates Dynamic Scheduling of Network Updates

Dynamic Scheduling of Network Updates - PowerPoint Presentation

lam
lam . @lam
Follow
72 views
Uploaded On 2023-11-11

Dynamic Scheduling of Network Updates - PPT Presentation

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

5f3 5f4 5f2 5f5 5f4 5f3 5f5 5f2 stateadcbef1 10f2 5f1 graph update dionysus 10target operation stateadcbef3 schedulingscheduling dynamic

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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