Paxos Replicated State Machines as the Basis of a High-Performance Data Store
نویسندگان
چکیده
Conventional wisdom holds that Paxos is too expensive to use for high-volume, high-throughput, data-intensive applications. Consequently, fault-tolerant storage systems typically rely on special hardware, semantics weaker than sequential consistency, a limited update interface (such as append-only), primary-backup replication schemes that serialize all reads through the primary, clock synchronization for correctness, or some combination thereof. We demonstrate that a Paxos-based replicated state machine implementing a storage service can achieve performance close to the limits of the underlying hardware while tolerating arbitrary machine restarts, some permanent machine or disk failures and a limited set of Byzantine faults. We also compare it with two versions of primary-backup. The replicated state machine can serve as the data store for a file system or storage array. We present a novel algorithm for ensuring read consistency without logging, along with a sketch of a proof of its correctness.
منابع مشابه
Barista: A Distributed, Synchronously Replicated, Fault Tolerant, Relational Data Store
Barista is a distributed, synchronously replicated, fault tolerant, relational data store. It runs as a middleware service over database instances to provide an abstraction for a distributed relational data store. The data is replicated across a set of Paxos state machines to provide fault-tolerance and strong consistency. The real-time replication provides high availability; clients automatica...
متن کاملStoppable Paxos
A stoppable state machine is one whose execution can be terminated by a special stopping command. Stoppable state machines can be used to implement reconfiguration in a replicated state machine; a reconfigurable state machine is implemented by a sequence of stoppable state machines, each running in a fixed configuration. Stoppable Paxos, a variant of the ordinary Paxos algorithm, implements a r...
متن کاملClassic Paxos vs. Fast Paxos: Caveat Emptor
Classic Paxos and Fast Paxos are two protocols that are the core of efficient implementations of replicated state machines. In runs with no failures and no conflicts, Fast Paxos requires fewer communication steps for learners to learn of a request compared to Classic Paxos. However, there are realistic scenarios in which Classic Paxos has a significant probability of having a lower latency. Thi...
متن کاملScalable Agreement: Toward Ordering as a Service
Replicated state machines use agreement protocols such as Paxos to order client requests. These protocols are not scalable and can quickly become a performance bottleneck as the degree of fault-tolerance and the demand for throughput performance increase. We propose a scalable agreement protocol that can utilize additional resources to provide higher throughput, while guaranteeing linearizabili...
متن کاملPaxos Made Parallel
Standard state-machine replication involves consensus on a sequence of totally ordered requests through, for example, the Paxos protocol. Serialized request processing seriously limits our ability to leverage prevalent multicore servers. This tension between concurrency and consistency is not inherent because the total-ordering of requests is merely a simplifying convenience that is unnecessary...
متن کامل