DistOS 2015W Session 10
Feel free to tweak the questions!
Kademlia
Members: Kirill, Deep, Jason, Hassan
- Why are DHTs relevant to distributed OSs?
- How is content divided?
- How is the network traversed?
- What trust assumptions does the system make?
- Performance constraints?
- What non-DHT internet infrastructure would you replace with a DHT? How suitable is Kademlia for this purpose?
Comet
Members: Mohamed Ahmed, Apoorv Sangal, Ambalica Sharma
- Why are DHTs relevant to distributed OSs?
DHT is an infrastructure than enables many clients to share information, and scale to handle node arrival, departure and failure. DHT's serve many of the design goals of disbtributed operating systems. The paper states that "DHTs are increasingly used to support a variety of distributed applications, such as file-sharing, distributed resource tracking, end-system multicast, publish-subscribe systems, distributed search engines"
- How is content divided?
One of the three main components of the comet system is a routing substrate which
implements the value/node mapping. This allows a client to find the node htat stores
a specific data item. Since Comet uses a DHT implementation, routing occurs by applying
a hash function to the key to compute node ID's that store the associated value.
- How is the network traversed?
- What trust assumptions does the system make?
A client node running COmet should be protected from the execution of handlers e.g. an executing handler cannot corrupt the node or use unlimited resources. Handlers should not be able to mount messaging attacks on other nodes
- Performance constraints?
- What non-DHT internet infrastructure would you replace with a DHT? How suitable is Kademlia for this purpose?
Tapestry
Members:
- Why are DHTs relevant to distributed OSs?
Because they provide a way to distribute information over large networks (distributed key/value store).
- How is content divided?
Uses consistent hashing (SHA-1), upon node creation (join) creates optimal routing table.
- How is the network traversed?
You look at your neighbours, you see which neighbour is closest to your destination, and recurse.
- What trust assumptions does the system make?
It assumes the system is entirely trustworthy from adversaries. While network failures may happen and nodes may go down, no node will explicitly try to mess with the network.
- Performance constraints?
O(log n) access times to any given node. Best effort publishing/unpublishing via decentralized object location routing.
- What non-DHT internet infrastructure would you replace with a DHT? How suitable is Tapestry for this purpose?