Presentation is loading. Please wait.

Presentation is loading. Please wait.

ETH Zurich – Distributed Computing – www.disco.ethz.ch Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined.

Similar presentations


Presentation on theme: "ETH Zurich – Distributed Computing – www.disco.ethz.ch Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined."— Presentation transcript:

1 ETH Zurich – Distributed Computing – www.disco.ethz.ch Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined Networks: On Dependencies, Loop Freedom, and Blackholes

2 Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined Networks: On Dependencies, Loop Freedom, and Blackholes network updates d vu d vu d vu

3 By Xin Jin

4

5

6

7 <

8

9

10

11

12

13

14

15

16

17 Appears in Practice “some switches can ‘straggle,’ taking substantially more time than average (e.g., 10-100x) to apply an update” Jin et al., SIGCOMM 2014

18 By Xin Jin

19 “Tree Ordering”

20 By Xin Jin “Tree Ordering”

21 By Xin Jin “Tree Ordering”

22 By Xin Jin “Tree Ordering”

23 Software-Defined Networking Centralized controller updates networks rules for optimization Controller (control plane) updates the switches/routers (data plane)

24 old network rules new network rules network updates

25 old network rules new network rules network updates

26 old network rules new network rules network updates possible solution: be fast! e.g., B4 [Jain et al., 2013]

27 old network rules new network rules network updates possible solution: be consistent! e.g., per-router ordering [Vanbever et al., 2012] two phase commit [Reitblatt et al., 2012] SWAN [Hong et al., 2013] Dionysus [Jin et al., 2014] ….

28 old network rules new network rules network updates possible solution: be consistent!

29

30 Dynamic Updates Idea: Update as many routers as you can

31 … a b d … a b d network updates Dynamic Updates

32 … a b d … a b d network updates … a b d Dynamic Updates

33 … a b d … a b d network updates … a b d Dynamic Updates

34 … a b d … a b d network updates … a b d Dynamic Updates

35 … a b d … a b d network updates … a b d Dynamic Updates

36 … a b d … a b d network updates … a b d greedy maximum update a & b update → all others wait 2 nodes update Dynamic Updates

37 … a b d … a b d network updates … a b d greedy maximum update a & b update → all others wait 2 nodes update … a b d maximal update a waits→ all others update all but 1 update Dynamic Updates

38

39 But how long until all routers updated? Dynamic Updates

40 Dynamic Updates vs Tree Ordering Worst case? Identical to Tree Ordering … d

41 Dynamic Updates vs Tree Ordering But in practice?

42 Dynamic updates vs. Tree Ordering ?

43 Dynamic Updates

44 Beyond a Single Destination But what about prefix routing rules?  d1d1 d2d2 d3d3 d1d1 d2d2 d3d3

45 Beyond a Single Destination Split into single destination rules? (Memory…) d1d1 d2d2 d3d3 d1d1 d2d2 d3d3

46 Beyond a Single Destination Fewest #updates: NP-hard to approximate

47 Beyond a Single Destination Reduction from 3-Satisfiability 1.Maximizing #rules per update is NP-hard 2.Fewest #updates NP-hard to approximate

48 3-Satisfiability XiXi YiYi XiXi Y 

49 3-Satisfiability X2X2 Y2Y2 X2X2 Y  X1X1 Y1Y1 X1X1 Y X3X3 Y3Y3 X3X3 Y

50 3-Satisfiability X2X2 Y2Y2 X2X2 Y  X1X1 Y1Y1 X1X1 Y X3X3 Y3Y3 X3X3 Y C = X 1 V X 2 V  X 3 C C C

51 3-Satisfiability X2X2 Y2Y2 X2X2 Y  X1X1 Y1Y1 X1X1 Y X3X3 Y3Y3 X3X3 Y C = X 1 V X 2 V  X 3 C C C X 1 ”false” X 2 ”false” X 3 ”true”

52 3-Satisfiability 3-Satisfiable  Update each variable* *(and all rules outside the variables)

53 Shortest Sequence Also: Shortest sequence NP-hard to approximate

54 Shortest Sequence Also: Shortest sequence NP-hard to approximate XiXi YiYi XiXi Y 

55 Shortest Sequence Also: Shortest sequence NP-hard to approximate XiXi YiYi XiXi Y  G=(V,E) Z Z Z Z

56 Blackholes

57 dd d d

58 dd d d d

59 dd d d

60 dd d d

61 ?? dd d No rule? Drop packet

62 Blackholes dd d d d Idea 1: Keep old rule in memory

63 Blackholes ?? dd d Idea 2: Send somewhere else?

64 Blackholes Respect memory limits and no loops?

65 Blackholes Fastest method: NP-hard to approximate!

66 Proof Idea A cycle can be used for loop-free routing d2d2 d1d1 d3d3 d1d1 d2d2 d3d3

67 Proof Idea With cycle: fast change; else slow… d2d2 d1d1 d3d3 d1d1 d2d2 d3d3

68 Proof Idea But Hamiltonian Cycle problem is NP-complete!

69 Conclusion

70 ETH Zurich – Distributed Computing – www.disco.ethz.ch Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined Networks: On Dependencies, Loop Freedom, and Blackholes

71 Appears in Practice “Data plane updates may fall behind the control plane acknowledgments and may be even reordered.” Kuzniar et al., PAM 2015 “some switches can ‘straggle,’ taking substantially more time than average (e.g., 10-100x) to apply an update” Jin et al., SIGCOMM 2014 “…the inbound latency is quite variable with a […] standard deviation of 31.34ms…” He et al., SOSR 2015

72 How to proceed in practice?

73 ETH Zurich – Distributed Computing – www.disco.ethz.ch Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined Networks: On Dependencies, Loop Freedom, and Blackholes


Download ppt "ETH Zurich – Distributed Computing – www.disco.ethz.ch Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined."

Similar presentations


Ads by Google