Download - DHT-based Multicast

Transcript
Page 1: DHT-based Multicast

DHT-based Multicast

Page 2: DHT-based Multicast

Motivation

1. 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

2. Assumption that DHT is a globally pervasive service

– What if this is not the case?– Medium sized groups (1000 5000, e.g.)

Page 3: DHT-based Multicast

Roadmap

• Study concrete protocol – Scribe

• Study heterogeneity handling mechanisms– Pushdown– Difficulties/Limitations

• Effect on metrics we care– Depth– Maintenance overhead– RDP (?)

Page 4: DHT-based Multicast

Scribe

New member

Underlying Pastry DHT

Page 5: DHT-based Multicast

Scribe tree construction

New member

Underlying Pastry DHT

Rendezvous point

Route towardsmulticast groupID

groupID

Page 6: DHT-based Multicast

Scribe tree construction

New member

Underlying Pastry DHT

Route towardsmulticast groupID

groupID

Page 7: DHT-based Multicast

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

Page 8: DHT-based Multicast

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?

Page 9: DHT-based Multicast

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

Page 10: DHT-based Multicast

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

Page 11: DHT-based Multicast

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!

Page 12: DHT-based Multicast

Splitstream

• Why splitstream?– 1 tree simulates scribe!– Uses anycast for 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