|The OceanStore Project
Handling Churn in a DHT
Proceedings of the USENIX Annual Technical Conference, June 2004.
This paper addresses the problem of churn--the continuous process of node arrival and departure--in distributed hash tables (DHTs). We argue that DHTs should perform lookups quickly and consistently under churn rates at least as high as those observed in deployed P2P systems such as Kazaa. We then show through experiments on an emulated network that current DHT implementations cannot handle such churn rates. Next, we identify and explore three factors affecting DHT performance under churn: reactive versus periodic failure recovery, message timeout calculation, and proximity neighbor selection. We work in the context of a mature DHT implementation called Bamboo, using the ModelNet network emulator, which models in-network queuing, cross-traffic, and packet loss. These factors are typically missing in earlier simulation-based DHT studies, and we show that careful attention to them in Bamboo's design allows it to function effectively at churn rates at or higher than that observed in P2P file-sharing applications, while using lower maintenance bandwidth than other DHT implementations.
[ Paper: PDF (198K), Postscript (429K), Compressed Postscript (129K) ]
An earlier version of this paper is available as UC Berkeley Technical Report UCB//CSD-03-1299:
[ Paper: PDF (221K), Postscript (577K), Compressed Postscript (147K) ]