Dynamic Scheduling of Network Updates Xin Jin Hongqiang - - PowerPoint PPT Presentation

dynamic scheduling of network updates
SMART_READER_LITE
LIVE PREVIEW

Dynamic Scheduling of Network Updates Xin Jin Hongqiang - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Dynamic ¡Scheduling ¡of ¡ Network ¡Updates ¡

Xin ¡Jin ¡

Hongqiang ¡Harry ¡Liu, ¡Rohan ¡Gandhi, ¡Srikanth ¡Kandula, ¡Ratul ¡Mahajan, ¡ Ming ¡Zhang, ¡Jennifer ¡Rexford, ¡Roger ¡WaHenhofer ¡

slide-2
SLIDE 2

SDN: ¡Paradigm ¡ShiK ¡in ¡Networking ¡

  • Many ¡benefits ¡

– Traffic ¡engineering ¡[B4, ¡SWAN] ¡ – Flow ¡scheduling ¡[Hedera, ¡DevoFlow] ¡ – Access ¡control ¡[Ethane, ¡vCRIB] ¡ – Device ¡power ¡management ¡[ElasZcTree] ¡

1 ¡ Controller ¡

  • Direct, ¡centralized ¡updates ¡of ¡

forwarding ¡rules ¡in ¡switches ¡

slide-3
SLIDE 3

Network ¡Update ¡is ¡Challenging ¡

  • Requirement ¡1: ¡fast ¡

– The ¡agility ¡of ¡control ¡loop ¡

  • Requirement ¡2: ¡consistent ¡

– No ¡congesZon, ¡no ¡blackhole, ¡no ¡loop, ¡etc. ¡

2 ¡

Network ¡ Controller ¡

slide-4
SLIDE 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 ¡

slide-5
SLIDE 5

What ¡is ¡Consistent ¡Network ¡Update ¡

  • Asynchronous ¡updates ¡can ¡cause ¡congesZon ¡
  • Need ¡to ¡carefully ¡order ¡update ¡operaZons ¡

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 ¡

slide-6
SLIDE 6

ExisZng ¡SoluZons ¡are ¡Slow ¡

  • ExisZng ¡soluZons ¡are ¡staZc ¡[ConsistentUpdate’12, ¡SWAN’13, ¡zUpdate’13] ¡

– Pre-­‑compute ¡an ¡order ¡for ¡update ¡operaZons ¡

5 ¡

F3 ¡ F4 ¡ F2 ¡ F1 ¡ StaZc ¡ 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 ¡

slide-7
SLIDE 7

ExisZng ¡SoluZons ¡are ¡Slow ¡

  • ExisZng ¡soluZons ¡are ¡staZc ¡[ConsistentUpdate’12, ¡SWAN’13, ¡zUpdate’13] ¡

– Pre-­‑compute ¡an ¡order ¡for ¡update ¡operaZons ¡ ¡

  • Downside: ¡Do ¡not ¡adapt ¡to ¡runZme ¡condiZons ¡

– Slow ¡in ¡face ¡of ¡highly ¡variable ¡operaZon ¡compleZon ¡Zme ¡

6 ¡

F3 ¡ F4 ¡ F2 ¡ F1 ¡ StaZc ¡ Plan ¡A ¡

slide-8
SLIDE 8

OperaZon ¡CompleZon ¡Times ¡are ¡Highly ¡Variable ¡

7 ¡

>10x ¡

  • Measurement ¡on ¡commodity ¡switches ¡
slide-9
SLIDE 9

OperaZon ¡CompleZon ¡Times ¡are ¡Highly ¡Variable ¡

8 ¡

  • Measurement ¡on ¡commodity ¡switches ¡

¡

  • ContribuZng ¡factors ¡

– Control-­‑plane ¡load ¡ – Number ¡of ¡rules ¡ – Priority ¡of ¡rules ¡ – Type ¡of ¡operaZons ¡(insert ¡vs. ¡modify) ¡

slide-10
SLIDE 10

StaZc ¡Schedules ¡can ¡be ¡Slow ¡

9 ¡

F3 ¡ F4 ¡ F2 ¡ F1 ¡ StaZc ¡ Plan ¡B ¡ F3 ¡ F4 ¡ F2 ¡ F1 ¡ StaZc ¡ Plan ¡A ¡ F1 ¡ F2 ¡ F3 ¡ F4 ¡ Time ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ F1 ¡ F2 ¡ F3 ¡ F4 ¡ Time ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ F1 ¡ F2 ¡ F3 ¡ F4 ¡ Time ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ F1 ¡ F2 ¡ F3 ¡ F4 ¡ Time ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡

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 ¡staZc ¡schedule ¡is ¡a ¡clear ¡winner ¡under ¡all ¡condiZons! ¡

slide-11
SLIDE 11

Dynamic ¡Schedules ¡are ¡AdapZve ¡and ¡Fast ¡

10 ¡

F3 ¡ F4 ¡ F2 ¡ F1 ¡ StaZc ¡ Plan ¡B ¡ F3 ¡ F4 ¡ F2 ¡ F1 ¡ StaZc ¡ 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 ¡staZc ¡schedule ¡is ¡a ¡clear ¡winner ¡under ¡all ¡condiZons! ¡

F3 ¡ F4 ¡ F2 ¡ F1 ¡ Dynamic ¡ Plan ¡

Adapts ¡to ¡actual ¡condiZons! ¡

slide-12
SLIDE 12

Challenges ¡of ¡Dynamic ¡Update ¡Scheduling ¡

  • ExponenZal ¡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 ¡

slide-13
SLIDE 13

Challenges ¡of ¡Dynamic ¡Update ¡Scheduling ¡

  • ExponenZal ¡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: ¡5 ¡

F2 ¡

Deadlock ¡

slide-14
SLIDE 14

Challenges ¡of ¡Dynamic ¡Update ¡Scheduling ¡

  • ExponenZal ¡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 ¡

slide-15
SLIDE 15

Challenges ¡of ¡Dynamic ¡Update ¡Scheduling ¡

  • ExponenZal ¡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 ¡

F1 ¡ F3 ¡

F1: ¡5 ¡ F3: ¡5 ¡

slide-16
SLIDE 16

Challenges ¡of ¡Dynamic ¡Update ¡Scheduling ¡

  • ExponenZal ¡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 ¡

F1 ¡ F3 ¡ F2 ¡

Consistent ¡update ¡plan ¡

F2: ¡5 ¡ F1: ¡5 ¡ F3: ¡5 ¡

slide-17
SLIDE 17

Dionysus ¡Pipeline ¡

16 ¡

Dependency ¡Graph ¡Generator ¡ Update ¡Scheduler ¡ Network ¡ Current ¡ State ¡ Target ¡ State ¡ Consistency ¡ Property ¡ Encode ¡valid ¡orderings ¡ Determine ¡a ¡fast ¡order ¡

slide-18
SLIDE 18

Dependency ¡Graph ¡GeneraZon ¡

17 ¡

Dependency ¡Graph ¡Elements ¡

OperaZon ¡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 ¡

slide-19
SLIDE 19

Dependency ¡Graph ¡GeneraZon ¡

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 ¡

slide-20
SLIDE 20

Dependency ¡Graph ¡GeneraZon ¡

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 ¡

slide-21
SLIDE 21

Dependency ¡Graph ¡GeneraZon ¡

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 ¡

slide-22
SLIDE 22

Dependency ¡Graph ¡GeneraZon ¡

21 ¡

A-­‑E: ¡5 ¡ 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 ¡

Current ¡State ¡

A ¡ D ¡ C ¡ B ¡ E ¡ F3: ¡5 ¡ F2: ¡5 ¡ F1: ¡5 ¡ F4: ¡5 ¡ F5: ¡10 ¡

slide-23
SLIDE 23

Dependency ¡Graph ¡GeneraZon ¡

22 ¡

A-­‑E: ¡5 ¡ 5 ¡ 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 ¡

Current ¡State ¡

A ¡ D ¡ C ¡ B ¡ E ¡ F3: ¡5 ¡ F2: ¡5 ¡ F1: ¡5 ¡ F4: ¡5 ¡ F5: ¡10 ¡

slide-24
SLIDE 24

Dependency ¡Graph ¡GeneraZon ¡

23 ¡

A-­‑E: ¡5 ¡ 5 ¡ D-­‑E: ¡0 ¡ 5 ¡ 5 ¡ 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 ¡

Current ¡State ¡

A ¡ D ¡ C ¡ B ¡ E ¡ F3: ¡5 ¡ F2: ¡5 ¡ F1: ¡5 ¡ F4: ¡5 ¡ F5: ¡10 ¡

slide-25
SLIDE 25

Dependency ¡Graph ¡GeneraZon ¡

  • Supported ¡scenarios ¡

– Tunnel-­‑based ¡forwarding: ¡WANs ¡ – WCMP ¡forwarding: ¡data ¡center ¡networks ¡

  • Supported ¡consistency ¡properZes ¡

– Loop ¡freedom ¡ – Blackhole ¡freedom ¡ – Packet ¡coherence ¡ – CongesZon ¡freedom ¡

  • Check ¡paper ¡for ¡details ¡

24 ¡

slide-26
SLIDE 26

Dionysus ¡Pipeline ¡

25 ¡

Dependency ¡Graph ¡Generator ¡ Update ¡Scheduler ¡ Network ¡ Current ¡ State ¡ Target ¡ State ¡ Consistency ¡ Property ¡ Encode ¡valid ¡orderings ¡ Determine ¡a ¡fast ¡order ¡

slide-27
SLIDE 27

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

26 ¡

A-­‑E: ¡5 ¡ 5 ¡ D-­‑E: ¡0 ¡ 5 ¡ 5 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F1 ¡ Move ¡ F2 ¡

slide-28
SLIDE 28

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

27 ¡

A-­‑E: ¡0 ¡ D-­‑E: ¡0 ¡ 5 ¡ 5 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F1 ¡ Move ¡ F2 ¡

Deadlock! ¡

slide-29
SLIDE 29

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

28 ¡

A-­‑E: ¡0 ¡ 5 ¡ D-­‑E: ¡0 ¡ 5 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F1 ¡ Move ¡ F2 ¡

slide-30
SLIDE 30

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

29 ¡

A-­‑E: ¡0 ¡ 5 ¡ D-­‑E: ¡5 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F2 ¡

slide-31
SLIDE 31

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

30 ¡

A-­‑E: ¡0 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F2 ¡

slide-32
SLIDE 32

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

31 ¡

A-­‑E: ¡5 ¡ 5 ¡ Move ¡ F2 ¡

slide-33
SLIDE 33

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡

32 ¡

Move ¡ F2 ¡

Done! ¡

slide-34
SLIDE 34

Dionysus ¡Scheduling ¡

  • Scheduling ¡as ¡a ¡resource ¡allocaZon ¡problem ¡
  • NP-­‑complete ¡problems ¡under ¡link ¡capacity ¡and ¡switch ¡table ¡

size ¡constraints ¡

  • Approach ¡

– DAG: ¡always ¡feasible, ¡criZcal-­‑path ¡scheduling ¡ – General ¡case: ¡covert ¡to ¡a ¡virtual ¡DAG ¡ – Rate ¡limit ¡flows ¡to ¡resolve ¡deadlocks ¡

33 ¡

slide-35
SLIDE 35

CriZcal-­‑Path ¡Scheduling ¡

  • Calculate ¡criZcal-­‑path ¡length ¡(CPL) ¡for ¡

each ¡node ¡

– Extension: ¡assign ¡larger ¡weight ¡to ¡operaZon ¡nodes ¡if ¡ we ¡know ¡in ¡advance ¡the ¡switch ¡is ¡slow ¡

  • Resource ¡allocated ¡to ¡operaZon ¡nodes ¡

with ¡larger ¡CPLs ¡

34 ¡

A-­‑B:5 ¡ CPL=3 ¡ C-­‑D:0 ¡ 5 ¡ CPL=1 ¡ 5 ¡ 5 ¡ 5 ¡ 5 ¡ CPL=1 ¡ CPL=2 ¡ CPL=2 ¡ CPL=1 ¡

Move ¡ F4 ¡ Move ¡ F3 ¡ Move ¡ F2 ¡ Move ¡ F1 ¡

slide-36
SLIDE 36

CriZcal-­‑Path ¡Scheduling ¡

  • Calculate ¡criZcal-­‑path ¡length ¡(CPL) ¡for ¡

each ¡node ¡

– Extension: ¡assign ¡larger ¡weight ¡to ¡operaZon ¡nodes ¡if ¡ we ¡know ¡in ¡advance ¡the ¡switch ¡is ¡slow ¡

  • Resource ¡allocated ¡to ¡operaZon ¡nodes ¡

with ¡larger ¡CPLs ¡

35 ¡

A-­‑B:0 ¡ CPL=3 ¡ C-­‑D:0 ¡ 5 ¡ CPL=1 ¡ 5 ¡ 5 ¡ 5 ¡ CPL=1 ¡ CPL=2 ¡ CPL=2 ¡ CPL=1 ¡

Move ¡ F4 ¡ Move ¡ F3 ¡ Move ¡ F2 ¡ Move ¡ F1 ¡

slide-37
SLIDE 37

Handling ¡Cycles ¡

  • Convert ¡to ¡virtual ¡DAG ¡

– Consider ¡each ¡strongly ¡connected ¡ component ¡(SCC) ¡as ¡a ¡virtual ¡node ¡

36 ¡

CPL=1 ¡ CPL=3 ¡ weight ¡= ¡1 ¡ weight ¡= ¡2 ¡

  • CriZcal-­‑path ¡scheduling ¡on ¡virtual ¡DAG ¡

– Weight ¡wi ¡of ¡SCC: ¡number ¡of ¡operaZon ¡nodes ¡

A-­‑E: ¡5 ¡ 5 ¡ D-­‑E: ¡0 ¡ 5 ¡ 5 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F1 ¡ Move ¡ F2 ¡ Move ¡ F2 ¡

slide-38
SLIDE 38

Handling ¡Cycles ¡

  • Convert ¡to ¡virtual ¡DAG ¡

– Consider ¡each ¡strongly ¡connected ¡ component ¡(SCC) ¡as ¡a ¡virtual ¡node ¡

37 ¡

CPL=1 ¡ CPL=3 ¡ weight ¡= ¡1 ¡ weight ¡= ¡2 ¡

  • CriZcal-­‑path ¡scheduling ¡on ¡virtual ¡DAG ¡

– Weight ¡wi ¡of ¡SCC: ¡number ¡of ¡operaZon ¡nodes ¡

A-­‑E: ¡0 ¡ 5 ¡ D-­‑E: ¡0 ¡ 5 ¡ 5 ¡ 5 ¡ Move ¡ F3 ¡ Move ¡ F1 ¡ Move ¡ F2 ¡ Move ¡ F2 ¡

slide-39
SLIDE 39

EvaluaZon: ¡Traffic ¡Engineering ¡

38 ¡

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ 3.5 ¡ WAN ¡TE ¡ Data ¡Center ¡TE ¡ Update ¡Time ¡(second) ¡

50th ¡PercenZle ¡Update ¡Time ¡

OneShot ¡ Dionysus ¡ SWAN ¡

Not ¡congesZon-­‑free ¡ CongesZon-­‑free ¡ CongesZon-­‑free ¡

slide-40
SLIDE 40

EvaluaZon: ¡Traffic ¡Engineering ¡

39 ¡

Improve ¡50th ¡percenZle ¡update ¡speed ¡by ¡80% ¡ compared ¡to ¡staZc ¡scheduling ¡(SWAN), ¡close ¡to ¡OneShot ¡ 0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ 3.5 ¡ WAN ¡TE ¡ Data ¡Center ¡TE ¡ Update ¡Time ¡(second) ¡

50th ¡PercenZle ¡Update ¡Time ¡

OneShot ¡ Dionysus ¡ SWAN ¡

Not ¡congesZon-­‑free ¡ CongesZon-­‑free ¡ CongesZon-­‑free ¡

slide-41
SLIDE 41

EvaluaZon: ¡Failure ¡Recovery ¡

40 ¡

0 ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ OneShot ¡ Dionysus ¡ SWAN ¡ Link ¡OversubscripZon ¡(GB) ¡

99th ¡PercenZle ¡ Link ¡OversubscripZon ¡

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ OneShot ¡ Dionysus ¡ SWAN ¡ Update ¡Time ¡(second) ¡

99th ¡PercenZle ¡ Update ¡Time ¡

slide-42
SLIDE 42

EvaluaZon: ¡Failure ¡Recovery ¡

41 ¡

Reduce ¡99th ¡percenZle ¡link ¡oversubscripZon ¡by ¡ 40% ¡compared ¡to ¡staZc ¡scheduling ¡(SWAN) ¡ Improve ¡99th ¡percenZle ¡update ¡speed ¡by ¡ 80% ¡compared ¡to ¡staZc ¡scheduling ¡(SWAN) ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ OneShot ¡ Dionysus ¡ SWAN ¡ Link ¡OversubscripZon ¡(GB) ¡

99th ¡PercenZle ¡ Link ¡OversubscripZon ¡

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ OneShot ¡ Dionysus ¡ SWAN ¡ Update ¡Time ¡(second) ¡

99th ¡PercenZle ¡ Update ¡Time ¡

slide-43
SLIDE 43

Conclusion ¡

  • Dionysus ¡provides ¡fast, ¡consistent ¡network ¡updates ¡

through ¡dynamic ¡scheduling ¡

– Dependency ¡graph: ¡compactly ¡encode ¡orderings ¡ – Scheduling: ¡dynamically ¡schedule ¡operaZons ¡

¡

42 ¡

Dionysus ¡enables ¡more ¡agile ¡SDN ¡control ¡loops ¡

slide-44
SLIDE 44

Thanks! ¡ ¡ ¡

43 ¡