ZHT: a zero-hop distributed hashtable
ZHT is a zero-hop distributed hash table, which has been tuned for the specific requirements of high performance computing (e.g. trustworthy/reliable hardware, fast networks, non-existent “churn”, low latencies, and scientific computing data-access patterns). ZHT aims to be a building block for future distributed systems, with the goal of delivering excellent availability, fault tolerance, high throughput, scalability, persistence, and low latencies. ZHT has several important features making it a better candidate than other distributed hash tables and key-value stores, such as being light-weight, dynamically allowing nodes join and leave, fault tolerant through replication and by handling failures gracefully and efficiently propagating events throughout the system, a customizable consistent hashing function, supporting persistence for better recoverability in case of faults, scalable, and supporting unconventional operations such as append (providing lock-free concurrent key/value modifications) in addition to insert/lookup/remove. To provide ZHT a persistent back end, we also created a fast persistent key-value store that could be easily integrated and operated in lightweight Linux OS typically found on today’s supercomputers.
-
Period: 03/2010 - Present
-
Web Site: http://datasys.cs.iit.edu/projects/ZHT/
-
Languages: C/C++
-
Features: Event-driven model, epoll, TCP, UDP, Threads
-
Technologies: TBA
-
OS: Linux
-
Testbeds: Linux cluster, SiCortex SC5832 supercomputer, BlueGene/P supercomputer, Amazon EC2 Cloud
-
Scalability: 32768 instances
-
Throughput: 18M ops/sec (tested on BlueGene/P with 32768 cores)
-
Publication: Tonglin Li, Xiaobing Zhou, Kevin Brandstatter, Dongfang Zhao, Ke Wang, Anupam Rajendran, Zhao Zhang, Ioan Raicu, ZHT: A Light-weight Reliable Persistent Dynamic Scalable Zero-hop Distributed Hash Table, 27th IEEE International Parallel & Distributed Processing Symposium (IPDPS), 2013.
(PDF, Slides) -
Source code: https://github.com/mierl/ZHT.git
-
Funding: NSF OCI
Data-Intensive Distributed Systems Laboratory