Atomic Data Access in Distributed Hash Tables

While recent proposals for distributed hashtables address the crucial issues of communication efficiency and load balancing in dynamic networks, they do not guarantee strong semantics on concurrent data accesses. While it is well known that guaranteeing availability and consistency in an asynchronous and failure prone network is impossible, we believe that guaranteeing atomic semantics is crucial for establishing DHTs as a robust middleware service. In this paper, we describe a simple DHT algorithm that maintains the atomicity property regardless of timing, failures, or concurrency in the system. The liveness of the algorithm, while not dependent on the order of operations in the system, requires that node failures do not occur and that the network eventually delivers all messages to intended recipients. We outline how state machine replication techniques can be used to approximate these requirements even in failure-prone networks, and examine the merits of placing the responsibility for fault-tolerance and reliable delivery below the level of the DHT algorithm.