scribe a large-scale and decentralized application-level multicast infrastructure
TRANSCRIPT
![Page 1: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/1.jpg)
SCRIBEA large-scale and decentralized application-level multicast infrastructure
![Page 2: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/2.jpg)
Overview
Pastry
PAST distributed file system layered on top of
Pastry
SCRIBE decentralized publish/subscribe system
![Page 3: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/3.jpg)
Pastry – Quick Review
Chord like routing Consistent
hashing Prefix routing Leaf set
![Page 4: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/4.jpg)
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
![Page 5: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/5.jpg)
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)
![Page 6: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/6.jpg)
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
![Page 7: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/7.jpg)
SCRIBE API
create(credentials, groupID) join(credentials, groupID) leave(credentials, groupID) multicast(credentials, groupID, message)
![Page 8: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/8.jpg)
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
![Page 9: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/9.jpg)
SCRIBE – Joining a Group
Pastry route(msg, key) SCRIBE route(JOIN, groupID)
routed to rendez-vous point along the way multicast tree formed
![Page 10: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/10.jpg)
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
![Page 11: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/11.jpg)
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
![Page 12: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/12.jpg)
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
![Page 13: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/13.jpg)
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
![Page 14: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/14.jpg)
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
![Page 15: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/15.jpg)
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
![Page 16: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/16.jpg)
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
![Page 17: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/17.jpg)
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
![Page 18: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/18.jpg)
SCRIBE – Node Stress
Average node is responsible for forwarding a small number of multicast messages
![Page 19: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/19.jpg)
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)
![Page 20: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/20.jpg)
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
![Page 21: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/21.jpg)
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
![Page 22: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/22.jpg)
SCRIBE – Scalability Small Groups Average link stress 6.1 to 3.3 Average number of children 21.2 to 8.5
![Page 23: SCRIBE A large-scale and decentralized application-level multicast infrastructure](https://reader030.vdocuments.net/reader030/viewer/2022032722/56649cea5503460f949b5e1a/html5/thumbnails/23.jpg)
SCRIBE - Conclusion
Fully decentralized Support large number of groups Support large group size Multiple multicast sources per group
QUESTIONS