1 / 78

HyperCast - Support of Many-To-Many Multicast Communications

HyperCast - Support of Many-To-Many Multicast Communications. Jörg Liebeherr University of Virginia. Acknowledgements. Collaborators: Bhupinder Sethi Tyler Beam Burton Filstrup Mike Nahas Dongwen Wang Konrad Lorincz Neelima Putreeva

zion
Download Presentation

HyperCast - Support of Many-To-Many Multicast Communications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HyperCast - Support of Many-To-Many Multicast Communications Jörg LiebeherrUniversity of Virginia

  2. Acknowledgements • Collaborators: • Bhupinder Sethi • Tyler Beam • Burton Filstrup • Mike Nahas • Dongwen Wang • Konrad Lorincz • Neelima Putreeva • This work is supported in part by the National Science Foundation

  3. Many-to-Many Multicast Applications Number of Senders Peer-to-PeerApplications 1,000,000 Distributed Systems 1,000 Games 10 Streaming CollaborationTools ContentDistribution 1 10 1,000 1,000,000 Group Size

  4. Need for Multicasting ? • Maintaining unicast connections is not feasible • Infrastructure or services needs to support a “send to group”

  5. Problem with Multicasting • Feedback Implosion: A node is overwhelmed with traffic or state • One-to-many multicast with feedback (e.g., reliable multicast) • Many-to-one multicast (Incast) NAK NAK NAK NAK NAK

  6. Multicast support in the network infrastructure (IP Multicast) • Reality Check (after 10 years of IP Multicast): • Deployment has encountered severe scalability limitations in both the size and number of groups that can be supported • IP Multicast is still plagued with concerns pertaining to scalability, network management, deployment and support for error, flow and congestion control

  7. Host-based Multicasting • Logical overlay resides on top of the Layer-3 network • Data is transmitted between neighbors in the overlay • No IP Multicast support needed • Overlay topology should match the Layer-3 infrastructure

  8. Host-based multicast approaches (all after 1998) • Build an overlay mesh network and embed trees into the mesh: • Narada (CMU) • RMX/Gossamer (UCB) • Build a shared tree: • Yallcast/Yoid (NTT) • Banana Tree Protocol(UMich) • AMRoute (Telcordia, UMD – College Park) • Overcast (MIT) • Other: Gnutella

  9. Our Approach • Build virtual overlay is built as a graph with known properties • N-dimensional (incomplete) hypercube • Delaunay triangulation • Advantages: • Routing in the overlay is implicit • Achieve good load-balancing • Exploit symmetry • Claim: Can improve scalability of multicast applications by orders of magnitude over existing solutions

  10. Multicasting with Overlay Network Approach: • Organize group members into a virtual overlay network. • Transmit data using trees embedded in the virtual network.

  11. Introducing the Hypercube • An n-dimensional hypercube has N=2n nodes, where • Each node is labeled kn kn-1 … k1(kn =0,1) • Two nodes are connected by an edge only if their labels differ in one position.

  12. 110 111 100 101 010 011 001 Nodes are added in a Gray order 000

  13. Tree Embedding Algorithm Input: G (i) := I = In …I2 I1, G (r) := R =Rn … R2 R1 Output:Parent of node I in the embedded tree rooted at R. ProcedureParent (I,R) If (G-1(I) < G-1(R)) Parent := In In-1…Ik+1(1 - Ik)Ik-1 …I2 I1 with k = mini(Ii!= RI). Else Parent := In I{n-1}…I{k+1} (1 - Ik) Ik-1…I2 I1 with k = maxi(Ii!= Ri). Endif

  14. Tree Embedding Node 000 is root: 110 111 000 101 010 001 010 011 101 011 110 000 001 111

  15. Another Tree Embedding Node 111 is root: 110 111 111 110 101 011 101 010 011 001 010 000 001 000

  16. Performance Comparison (Part 1) • Compare tree embeddings of: • Shared Tree • Hypercube

  17. Comparison of Hypercubes with Shared Trees(Infocom 98) • Tl, is a control tree with root l • wk(Tl) : The number of children at a node k in tree Tl, • vk(Tl) : The number of descendants in the sub-tree below a node k in tree Tl, • pk(Tl) : The path length from a node k in tree Tl to the root of the tree

  18. Average number of descendants in a tree

  19. HyperCast Protocol • Goal:The goal of the protocol is to organize a members of a multicast group in a logical hypercube. • Design criteria for scalability: • Soft-State (state is not permanent) • Decentralized (every node is aware only of its neighbors in the cube) • Must handle dynamic group membership efficiently

  20. HyperCast Protocol • The HyperCast protocols maintains a stable hypercube: • Consistent: No two nodes have the same logical address • Compact: The dimension of the hypercube is as small as possible • Connected: Each node knows the physical address of each of its neighbors in the hypercube

  21. Hypercast Protocol 1. A new node joins 2. A node fails

  22. 110 010 011 000 001 The node with the highest logical address (HRoot) sends out beacons The beacon message is received by all nodes Other nodes use the beacon to determine if they are missing neighbors beacon

  23. ping ping ping ping ping ping ping ping ping ping 110 Each node sends ping messages to its neighbors periodically 010 011 000 001

  24. 110 010 011 000 001 New A node that wants to join the hypercube will send a beacon message announcing its presence

  25. 110 ping (as 111) 010 011 000 001 New The HRoot receives the beacon and responds with a ping, containing the new logical address

  26. 110 ping (as 111) 010 011 000 001 111 The joining node takes on the logical address given to it and adds “110” as its neighbor

  27. 110 ping (as 111) ping 010 011 000 001 111 The new node responds with a ping.

  28. 110 111 010 011 000 001 The new node is now the new HRoot, and so it will beacon

  29. 110 111 ping 010 011 000 001 Upon receiving the beacon, some nodes realize that they have a new neighbor and ping in response

  30. 110 111 ping ping 010 011 000 001 The new node responds to a ping from each new neighbor

  31. 110 111 010 011 000 001 The join operation is now complete, and the hypercube is once again in a stable state

  32. Hypercast Protocol 1. A new node joins 2. A node fails

  33. 110 111 A node may fail unexpectedly 010 011 000 001

  34. 110 111 ping ping ping ping 010 011 ping ping ping ping ping 000 ping ping ping ! ! Holes in the hypercube fabric are discovered via lack of response to pings

  35. 110 111 010 011 000 The HRoot and nodes which are missing neighbors send beacons

  36. ping (as 001) 110 111 010 011 Nodes which are missing neighbors can move the HRoot to a new (lower) logical address with a ping message 000

  37. leave leave 110 111 010 011 000 The HRoot sends leave messages as it leaves the 111 logical address

  38. ping 110 001 010 011 000 The HRoot takes on the new logical address and pings back

  39. 110 001 010 011 000 The “old” 111 is now node 001, and takes its place in the cube

  40. 110 001 010 011 000

  41. 110 010 011 001 000

  42. 110 010 011 001 000

  43. 110 010 011 000 001 The new HRoot and the nodes which are missing neighbors will beacon

  44. 110 010 011 ping 000 001 ping Upon receiving the beacons, the neighboring nodes ping each other to finish the repair operation

  45. 110 010 011 000 001 The repair operation is now complete, and the hypercube is once again stable

  46. State Diagram of a Node

  47. Experiments • Experimental Platform:Centurion cluster at UVA (cluster of Linux PCs) • 2 to 1024 hypercube nodes (on 32 machines) • current record: 10,080 nodes on 106 machines • Experiment: • Add N new nodes to a hypercube with M nodes • Performance measures: • Time until hypercube reaches a stable state • Rate of unicast transmissions • Rate of multicast transmissions

  48. Experiment 1:Time for Join Operation vs. Size of Hypercubeand Number of Joining Nodes Time (theartbeat) log2(# of Nodes in Hypercube) M log2(# of Nodes Joining Hypercube) N

  49. Experiment 1:Unicast Traffic for Join Operation vs. Size of Hypercubeand Number of Joining Nodes Unicast Byte Rate (bytes/theartbeat) log2(# of Nodes in Hypercube) log2(# of Nodes Joining Hypercube) M N

  50. Experiment 1:Multicast Traffic for Join Operation vs. Size of Hypercubeand Number of Joining Nodes Multicast Byte Rate (bytes/theartbeat) log2(# of Nodes in Hypercube) log2(# of Nodes Joining Hypercube) M N

More Related