120 likes | 231 Views
DHT-based Multicast. Motivation. How does it perform in the presence of heterogeneity? DHTs are good at balancing load However, resources are usually NOT equally distributed in the real world Assumption that DHT is a globally pervasive service What if this is not the case?
E N D
Motivation • How does it perform in the presence of heterogeneity? • DHTs are good at balancing load • However, resources are usually NOT equally distributed in the real world • Assumption that DHT is a globally pervasive service • What if this is not the case? • Medium sized groups (1000 5000, e.g.)
Roadmap • Study concrete protocol – Scribe • Study heterogeneity handling mechanisms • Pushdown • Difficulties/Limitations • Effect on metrics we care • Depth • Maintenance overhead • RDP (?)
Scribe Underlying Pastry DHT New member
Scribe tree construction Underlying Pastry DHT groupID New member Rendezvous point Route towards multicast groupID
Scribe tree construction Underlying Pastry DHT groupID New member Route towards multicast groupID
Pushdown • When node is full • Add incoming node anyways • Kick out one child • Pick the farthest child from me • Orphan selects one of his former siblings as parent • Selection depends on ‘total latency’ to parent
Problems with pushdown • What happens if leaves have zero-degree? • How does search continue? • Paper punts on this (assumes degree >= 1) • Creates loops (when failures!) • Non-DHT links!! • Additional maintenance traffic • Increases depth by restricting search? • If significant number what did DHT buy us?
Goal • Quantify pushdown effects • Depth • Overhead • RDP • Other goals • RDP with group size 1000 5000 • Tree/DHT structure when everybody knows the same bootstrap node
Simulation efforts • Simulator does not implement pushdown! • implemented it • Does not implement loop detection • Paper says this is rare • I did not find this rare, with failures • implemented loop detection, path updates
Efforts (continued) • What to do when we detect a loop? • Paper says randomized join (??) through Pastry • Miguel • Some hooky explanation about going via the leafset • Caveat: says they didn’t think through this because this case would be rare!
Splitstream • Why splitstream? • 1 tree simulates scribe! • Uses anycastfor looking up resources • This primitive solves some problems • Code is much more functional • Possible problems? • Trees constructed are not delay-sensitive • Currently experimenting • Several visual studio nightmares