Chain replication in theory and in practice

  • Authors:
  • Scott Lystig Fritchie

  • Affiliations:
  • Gemini Mobile Technologies, Inc., Minneapolis, MN, USA

  • Venue:
  • Proceedings of the 9th ACM SIGPLAN workshop on Erlang
  • Year:
  • 2010

Quantified Score

Hi-index 0.03

Visualization

Abstract

When implementing a distributed storage system, using an algorithm with a formal definition and proof is a wise idea. However, translating any algorithm into effective code can be difficult because the implementation must be both correct and fast. This paper is a case study of the implementation of the chain replication protocol in a distributed key-value store called Hibari. In theory, the chain replication algorithm is quite simple and should be straightforward to implement correctly. In practice, however, there were many implementation details that had effects both profound and subtle. The Erlang community, as well as distributed systems implementors in general, can use the lessons learned with Hibari (specifically in areas of performance enhancements and failure detection) to avoid many dangers that lurk at the interface between theory and real-world computing.