Reproducing and Performance Testing Kademlia
Distributed hash tables (DHTs) have become a widely used construct of many distributed systems, offering optimal addition/removal of nodes with minimal work and the ability to withstand significant malicious attacks. After surveying existing DHT architectures, we decided to replicate Kademlia. For our project, we both implemented Kademlia in Rust and performance tested a reference implementation on AWS. To test the ability of Kademlia to adapt to changing network conditions, we aimed to benchmark Kademlia’s performance under churn under both a more realistic setting between multiple AWS instances, and a more reproducible setting using a simple single machine network simulator.