Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
In its classical form, a consistent replicated service requires all replicas to witness the same evolution of the service state. If we consider an asynchronous messagepassing environment in which processes might fail by crashing, and assume that a majority of processes are correct, then the necessary and sufficient information about failures for implementing a general state machine replication scheme ensuring consistency is captured by the Omega failure detector. This paper shows that in such a message-passing environment, Omega is also the weakest failure detector to implement an eventually consistent replicated service, where replicas are expected to agree on the evolution of the service state only after some (a priori unknown) time. In fact, we show that Omega is the weakest to implement eventual consistency in any message-passing environment, i.e., under any assumption on when and where failures might occur. Ensuring (strong) consistency in any environment requires, in addition to Omega, the quorum failure detector S. Our paper thus captures, for the first time, an exact computational difference between building a replicated state machine that ensures consistency and one that only ensures eventual consistency.
Willy Zwaenepoel, Diego Didona, Kristina Spirovska
Willy Zwaenepoel, Diego Didona, Kristina Spirovska