Implement Chord Protocol with Distributed Hash Tables for O(log m) lookup
- Rachit Ranjan
- Aditya Vashist
- Elixir 1.7+ Installation
- Navigate to
chord
- Compile and Build
mix compile
mix run
mix escript.build
- Execute
./chord numNodes numRequests
numNodes
: IntegernumRequests
: Integer
- Key Terms in the generated logs
initiate
: Node will start firingnumRequests
lookupsLookup
: A node in chord ring has received a request from another node to lookup a keyNotify
: Node that initiated a lookup request received an async ack that the key has been found in the ringConverged
: AllnumNodes
have madenumRequest
lookups and the calls succeeded
- Main Process will exit after convergence
- Largest Network
numNodes
= 10000numRequests
= 100