Summary: Paxos for System Builders
Jonathan Kirsch and Yair Amir
Technical Report CNDS-2008-2 - March 2008
This paper presents a complete specification of the Paxos replication protocol such
that system builders can understand it and implement it. We evaluate the performance
of a prototype implementation and detail the safety and liveness properties guaranteed
by our specification of Paxos.
State machine replication [15, 22] is a well-known technique for implementing distributed
services (e.g., information access systems and database systems) requiring high performance
and high availability. Typically, the service is implemented by a group of server replicas,
which run a protocol to globally order all actions that cause state transitions. The servers
begin in the same initial state, and they execute the actions in the agreed upon order, thus
remaining replicas of one another.
In this work, we consider the Paxos [16, 17] state machine replication protocol. Paxos
is a robust protocol in which global ordering is coordinated by an elected leader. Normal-
case operation of Paxos requires two rounds of server-to-server communication for ordering.
Although the original Paxos algorithm was known in the 1980's and published in 1998, it is