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

SIGCOMM14 Dionysus slides

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SIGCOMM14 Dionysus slides

Dynamic  Scheduling  of  Network  Updates  

Xin  Jin  Hongqiang  Harry  Liu,  Rohan  Gandhi,  Srikanth  Kandula,  Ratul  Mahajan,  

Ming  Zhang,  Jennifer  Rexford,  Roger  WaHenhofer  

Page 2: SIGCOMM14 Dionysus slides

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  

Page 3: SIGCOMM14 Dionysus slides

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  

Page 4: SIGCOMM14 Dionysus slides

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  

Page 5: SIGCOMM14 Dionysus slides

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  

Page 6: SIGCOMM14 Dionysus slides

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  

Page 7: SIGCOMM14 Dionysus slides

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  

Page 8: SIGCOMM14 Dionysus slides

OperaZon  CompleZon  Times  are  Highly  Variable  

7  

>10x  

•  Measurement  on  commodity  switches  

Page 9: SIGCOMM14 Dionysus slides

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)  

Page 10: SIGCOMM14 Dionysus slides

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!  

Page 11: SIGCOMM14 Dionysus slides

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!  

Page 12: SIGCOMM14 Dionysus slides

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  

Page 13: SIGCOMM14 Dionysus slides

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  

Page 14: SIGCOMM14 Dionysus slides

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  

Page 15: SIGCOMM14 Dionysus slides

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  

Page 16: SIGCOMM14 Dionysus slides

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  

Page 17: SIGCOMM14 Dionysus slides

Dionysus  Pipeline  

16  

Dependency  Graph  Generator  

Update  Scheduler  

Network  

Current  State  

Target  State  

Consistency  Property  

Encode  valid  orderings  

Determine  a  fast  order  

Page 18: SIGCOMM14 Dionysus slides

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  

Page 19: SIGCOMM14 Dionysus slides

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  

Page 20: SIGCOMM14 Dionysus slides

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  

Page 21: SIGCOMM14 Dionysus slides

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  

Page 22: SIGCOMM14 Dionysus slides

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  

Page 23: SIGCOMM14 Dionysus slides

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  

Page 24: SIGCOMM14 Dionysus slides

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  

Page 25: SIGCOMM14 Dionysus slides

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  

Page 26: SIGCOMM14 Dionysus slides

Dionysus  Pipeline  

25  

Dependency  Graph  Generator  

Update  Scheduler  

Network  

Current  State  

Target  State  

Consistency  Property  

Encode  valid  orderings  

Determine  a  fast  order  

Page 27: SIGCOMM14 Dionysus slides

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  

Page 28: SIGCOMM14 Dionysus slides

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!  

Page 29: SIGCOMM14 Dionysus slides

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  

Page 30: SIGCOMM14 Dionysus slides

Dionysus  Scheduling  •  Scheduling  as  a  resource  allocaZon  problem  

29  

A-­‐E:  0  5  

D-­‐E:  5  5  

5  

Move  F3  

Move  F2  

Page 31: SIGCOMM14 Dionysus slides

Dionysus  Scheduling  •  Scheduling  as  a  resource  allocaZon  problem  

30  

A-­‐E:  0  5  

5  

Move  F3  

Move  F2  

Page 32: SIGCOMM14 Dionysus slides

Dionysus  Scheduling  •  Scheduling  as  a  resource  allocaZon  problem  

31  

A-­‐E:  5  5   Move  

F2  

Page 33: SIGCOMM14 Dionysus slides

Dionysus  Scheduling  •  Scheduling  as  a  resource  allocaZon  problem  

32  

Move  F2  

Done!  

Page 34: SIGCOMM14 Dionysus slides

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  

Page 35: SIGCOMM14 Dionysus slides

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  

Page 36: SIGCOMM14 Dionysus slides

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  

Page 37: SIGCOMM14 Dionysus slides

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  

Page 38: SIGCOMM14 Dionysus slides

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  

Page 39: SIGCOMM14 Dionysus slides

EvaluaZon:  Traffic  Engineering  

38  

0  

0.5  

1  

1.5  

2  

2.5  

3  

3.5  

WAN  TE   Data  Center  TE  

Upd

ate  Time  (secon

d)  

50th  PercenZle  Update  Time  

OneShot  

Dionysus  

SWAN  

Not  congesZon-­‐free  

CongesZon-­‐free  

CongesZon-­‐free  

Page 40: SIGCOMM14 Dionysus slides

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  

Upd

ate  Time  (secon

d)  

50th  PercenZle  Update  Time  

OneShot  

Dionysus  

SWAN  

Not  congesZon-­‐free  

CongesZon-­‐free  

CongesZon-­‐free  

Page 41: SIGCOMM14 Dionysus slides

EvaluaZon:  Failure  Recovery  

40  

0  

1  

2  

3  

4  

5  

OneShot   Dionysus   SWAN  

Link  Oversub

scrip

Zon  (GB)  

99th  PercenZle  Link  OversubscripZon  

0  

0.5  

1  

1.5  

2  

2.5  

3  

OneShot   Dionysus   SWAN  

Upd

ate  Time  (secon

d)  

99th  PercenZle  Update  Time  

Page 42: SIGCOMM14 Dionysus slides

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  Oversub

scrip

Zon  (GB)  

99th  PercenZle  Link  OversubscripZon  

0  

0.5  

1  

1.5  

2  

2.5  

3  

OneShot   Dionysus   SWAN  

Upd

ate  Time  (secon

d)  

99th  PercenZle  Update  Time  

Page 43: SIGCOMM14 Dionysus slides

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  

Page 44: SIGCOMM14 Dionysus slides

Thanks!      

43