Presentation is loading. Please wait.

Presentation is loading. Please wait.

NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast.

Similar presentations


Presentation on theme: "NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast."— Presentation transcript:

1 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast

2 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) You are Here Network Encoder Sender Middlebox Receiver Decoder

3 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast Router A B C S A

4 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast Router A B C S C B

5 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Overlay Network S A BC

6 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Penalty: Delay Router A B C S S A BC

7 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Penalty: Network Resource Router A B C S S A BC

8 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Link Stress Router A B C S

9 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Questions How to construct overlay multicast tree? How to maintain overlay multicast tree?

10 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) A Case for End-System Multicast Y. Chu, S. Rao, S. Seshan, H. Zhang JSAC 2002

11 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Narada’s Idea Build a mesh, then build a tree S A BC S A BC

12 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Why Build Mesh?

13 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Desirable Property of Mesh Path between any two nodes must be “good” Cannot be too sparse or too dense

14 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to build Mesh? Node join Randomly choose some existing members as neighbor S A BC

15 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to maintain Mesh? Everybody knows everybody Each node maintains a table AddressLast Seq NoLast Update 151210:00am 260310:03am 334110:02am 470409:59am

16 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to update table? Refresh message to neighbors Receive message 604 from node 2 AddressLast Seq NoLast Update 151210:00am 260410:16am 334110:02am 470409:59am

17 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to update table? Exchange Table AddressLast Seq NoLast Update 151210:00am 260410:16am 334110:02am 470409:59am AddressLast Seq NoLast Update 151310:07am 260410:19am 334310:10am 47029:51am

18 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to maintain Mesh? Neighbor failure Probes if no refresh messages for a while S A BC

19 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to maintain Mesh? Mesh Partition Probes if no updates for a while, add random edges if alive S A BC

20 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to Optimize Mesh? Mesh needs to periodically updated because: Nodes join and leave Network condition changes Partition repair add unneeded edges Initial constructions are random

21 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Adding a Link Node i periodically probe randomly selected members j Ask “what if I add a link (i,j)?”

22 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Adding a Link (i,j) for each node m d curr (i,m) = current latency from i to m d new (i,m) = new latency from i to m if d new (i,m) < d curr (i,m) utility += 1 - d new (i,m)/d curr (i,m) add link (i,j) if utility is high

23 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Adding a Link S A BC S A BC

24 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Removing a Link Harder to ask “what if I remove link (i,j)?” Compute cost(i,j) instead: number of nodes for which i uses j as next hop

25 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) cost(i,j) S A BC cost(S,A) = 2

26 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) cost(i,j) S A BC cost(S,A) = 3 cost(A,S) = 1 D E

27 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Removing a Link If max(cost(i,j), cost(j,i)) < Threshold drop link (i,j) (Threshold should depend on group size)

28 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Narada’s Idea Build a mesh, then build a tree S A BC S A BC

29 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How to build tree? Modify DVMRP Cost definition Pick widest path Break ties by latency

30 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Evaluation: Bandwidth

31 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Evaluation: RTT

32 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Evaluation: Link Stress

33 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) SUM(Delay x Stress)

34 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Problem Narada does not scale State maintenance Message overhead

35 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Scalable Application Layer Multicast S. Banerjee, B. Bhattacharjee, and C. Kommareddy SIGCOMM 2002

36 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) NICE NICE is scalable State maintenance Message overhead

37 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Members

38 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Clusters

39 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Leader

40 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Layer

41 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Nodes per Cluster [k, 3k-1]

42 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Control Topology

43 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Tree

44 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis height =

45 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis height = O(log N)

46 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis Let L i be the highest layer of a node Number of neighbours = Number of nodes at layer L i =

47 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis Let L i be the highest layer of a node Number of neighbors = L 0 : N L 1 : ~N/2k L 2 : ~N/(2k) 2 Number of nodes at layer L i : O(N/k i )

48 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis Worst Case Control Message Overhead = Average Case Control Message Overhead =

49 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis Worst Case Control Message Overhead = O(k log N) Average Case Control Message Overhead = O(k)

50 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis Number of hops between 2 nodes = O(log N)

51 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Analysis Maximum Degree of a Node =

52 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Tree (Improved)

53 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Node Join RP

54 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Other operations Node leave Node failure Cluster merge/split

55 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Evaluation: Control Overhead

56 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Evaluation: Link Stress

57 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Evaluation: Path Length


Download ppt "NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast."

Similar presentations


Ads by Google