1 / 23

SCRIBE

SCRIBE. A large-scale and decentralized application-level multicast infrastructure. Overview. Pastry PAST distributed file system layered on top of Pastry SCRIBE decentralized publish/subscribe system. Pastry – Quick Review. Chord like routing Consistent hashing Prefix routing Leaf set.

bowen
Download Presentation

SCRIBE

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. SCRIBE A large-scale and decentralized application-level multicast infrastructure

  2. Overview • Pastry • PAST • distributed file system layered on top of Pastry • SCRIBE • decentralized publish/subscribe system

  3. Pastry – Quick Review • Chord like routing • Consistent hashing • Prefix routing • Leaf set

  4. Pastry – locality properties • Short routes • Total distance traveled • Average dist 1.59 to 2.2 times actual dist • Route convergence • Dist Traveled by 2 messages sent to same key • Equal to dist between to nodes before routes converge

  5. Pastry API • nodeID = pastryInit(Credentials) • Causes node to join pastry network • route(msg,key) • send(msg,IP-addr) • Applications must export: • deliver(msg,key) • forward(msg,key,nextID) • newLeafs(leafSet)

  6. SCRIBE • Built on top of Pastry • Support large number of groups • Handle a high rate of membership turnover • SCRIBE nodes can: • Create groups • Join groups • Multicast messages to groups

  7. SCRIBE API • create(credentials, groupID) • join(credentials, groupID) • leave(credentials, groupID) • multicast(credentials, groupID, message)

  8. SCRIBE – Creating a Group • Pastry route(msg, key) • SCRIBE route(CREATE, groupID) • groupID => hash textual name cat creator name • Message delivered to closest key which become rendez-vous point for the group (root of multicast tree for group) • Adds to local list of groups • Stores credentials • Alternative use itself as root • good choice if creator sends to group often

  9. SCRIBE – Joining a Group • Pastry route(msg, key) • SCRIBE route(JOIN, groupID) • routed to rendez-vous point • along the way multicast tree formed

  10. SCRIBE – Leaving a Group • Remove from local group children list • If list becomes empty forward to parent • Part of the multicast tree may be removed

  11. SCRIBE – Sending a multicast message • route(MULTICAST, groupID) • ask for rendez-vous IP address • If rendez-vous fails re-request rendez-vous point • Pastry handles node duplication • All messages are sent through the rendez-vous point

  12. SCRIBE – Repairing the Multicast Tree • Messages are delivered only in best-effort • may be out of order delivery • Periodic heartbeat message sent to all children • Child rejoins the tree through sending a new JOIN message if suspects parent has failed • Can repair rendez-vous point • Pastry handles node duplication in leaf nodes • Children nodes JOIN new root when missing heartbeat is detected

  13. SCRIBE – Forming a Multicast Tree • Rendez-vous point (root) • Forwarders • may or may not be members of the group • maintain a children table (IP and nodeID) for group

  14. SCRIBE - Strengths • Pastry handles root duplication • Rendez-vous point does not handle all join requests • Locality properties of Pastry • short routes • delay from rendez-vous point to member is short • route convergence • load imposed on physical network is small

  15. SCRIBE – Experimental Evalutation • Simulation experimental results • Focus on three metrics: • delay to deliver events to group members • stress on each node • stress on each physical network link

  16. SCRIBE – Simulator Evaluation • 5050 routers and 100,000 end nodes • 1,500 groups of different sizes • 10 different runs using same parameters but different random seeds • Averaged all results • Compared results with IP multicast

  17. SCRIBE – Delay Penalty • RMD – ratio between max delay using SCRIBE & max delay using IP multicast • RAD – ratio between average delay using SCRIBE • & average delay using IP multicast

  18. SCRIBE – Node Stress • Average node is responsible for forwarding a small number of multicast messages

  19. SCRIBE – Link Stress • Total num links = 1,035,295 • SCRIBE = 2,489,824 messages (mean 2.4) • IP multicast = 758,853 messages (mean 0.7)

  20. SCRIBE – Bottleneck remover • Bottlenecks • Low capacity nodes • High capacity nodes with extremely high children entries • Drop children if over capacity • Select child to drop and send message with children table • Child chooses new parent node and sends JOIN message • Result • Removes long tail in node stress graph • Increases average link stress

  21. SCRIBE – Scalability Small Groups • 50,000 nodes • 30,000 groups 11 members each group • SCRIBE performs poorly for large number small groups • SCRIBE collapse • Removes long paths • removing nodes that are not members of a group & have only one entry in their children table

  22. SCRIBE – Scalability Small Groups • Average link stress 6.1 to 3.3 • Average number of children 21.2 to 8.5

  23. SCRIBE - Conclusion • Fully decentralized • Support large number of groups • Support large group size • Multiple multicast sources per group • QUESTIONS

More Related