A Practical Distributed Universal Construction with Unknown Participants

Sutra, Pierre;Riviere, Etienne;Felber, Pascal
(2014) Principles of Distributed Systems

Files

13092772.pdf
  • Open Access
  • Adobe PDF
  • 673.46 KB

Details

Authors
  • Sutra, PierreUniversity of Neuchatel, Switzerland
    Author
  • Author
  • Felber, PascalUniversity of Neuchatel, Switzerland
    Author
Abstract
Modern distributed systems employ atomic read-modify-write primitives to coordinate concurrent operations. Such primitives are typically built on top of a central server, or rely on an agreement protocol. Both approaches provide a universal construction, that is, a general mechanism to construct atomic and responsive objects. These two techniques are however known to be inherently costly. As a consequence, they may result in bottlenecks in applications using them for coordination. In this paper, we investigate another direction to implement a universal construction. Our idea is to delegate the implementation of the universal construction to the clients, and solely implement a distributed shared atomic memory on the servers side. The construction we propose is obstruction-free. It can be implemented in a purely asynchronous manner, and it does not assume the knowledge of the participants. It is built on top of grafarius and racing objects, two novel shared abstractions that we introduce in detail. To assess the benefits of our approach, we present a prototype implementation on top of the Cassandra data store, and compare it empirically to the Zookeeper coordination service.
Affiliations

Citations

Sutra, P., Riviere, E., & Felber, P. (2014). A Practical Distributed Universal Construction with Unknown Participants. Lecture Notes in Computer Science : Principles of Distributed Systems, p. 485-500. https://doi.org/10.1007/978-3-319-14472-6_32