DHT or distributed hash table is a powerful data structure used in distributed systems. The nodes in a distributed system form a distributed data structure. Key-values mappings are distributed among the nodes such that a change in the set of participants causes a minimal amount of disruption. Distributed storage systems have grown several times in their capacity and bandwidth. Managing metadata in a storage system for high end computing is critical. ZHT or zero hop distributed hash table was built for high end computing systems with the goal of delivering excellent availability, fault tolerance, high throughput, and low latencies.
The nodes are reliable and leaves only on deallocation or failure. ZHT uses SDBM hash function. ZHT uses replication to ensure data stored persists during failures. It is helpful in scientific computing applications. The developers say that Zero-hop Hash Table will benefit many-task computing paradigm and also that the concept, data structure, algorithms and implementation involved here can be applied to paradigms such as cloud computing.
The primary goal of ZHT is to get all the benefits of DHTs, namely excellent availability and fault tolerance, but concurrently achieve the benefits minimal latencies normally associated with idle centralized indexes. The data-structure is kept as simple as possible for ease of analysis and efficient implementation. The application programming interface (API) of ZHT is kept simple and follows similar interfaces for hash tables. The four operations ZHT supports are int insert (key, value), value lookup (key) , int remove (key), and int append (key, value).
Keys are typically a variable length ASCII text string. Values can be complex objects, with varying size, number of elements, and types of elements. Integer return values return 0 for a successful operation, or a non-zero return code that includes information about the error that occurred. In static membership, every node at bootstrap time has all information about how to contact every other node in ZHT. In a dynamic environment, nodes may join (for system performance enhancement) and leave (node failure or scheduled maintenance) any time, although in HEC systems this “churn” occurs much less frequently than in traditional DHTs.
The seminar covers following topics
- Distributed Hash Table - DHT
- Need for Distributed Hash Table - DHT
- Properties of Distributed Hash Table - DHT
- DHT implementations
- Basic structure of DHT
- Introduction to ZHT - Zero hop DHT
- ZHT design and implementation
- Hashing techniques in ZHT
- Fault tolerance
- Membership management
- Replication, Consistency and Inter node communication
- Use of ZHT in cloud computing
- Comparison of ZHT with other DHTs, Cassandra, Google GFS, Yahoo HDFS
- Future of ZHT
Please go through the attached seminar topic presentation for more info.