Paxos Definition & Meaning
Paxos is a family of protocols used to achieve consensus or agreement among a distributed set of computers that communicate through a network that is asynchronous, meaning they are unreliable. One or more clients propose a value to Paxos, and if a majority of the running systems agree on the value, consensus happens. Consensus is used for reasons such as agreeing on who gets access to a resource, who is the leader, or a common order of events among a collection of computers.
Paxos is typically used to maintain the same ordering of commands among multiple replicas so that all replicas eventually converge to the same value. The protocol tries to make progress even if a bounded number of replicas are unresponsive. It also provides abortable consensus, meaning that some processes abort the consensus if there is contention when deciding on the value. The processes that are deciding must agree on the same value. An abortable consensus allows a process to terminate instead of being eternally blocked.
The following are assumptions made about the processors and network on which the protocol is implemented.
- Operated at arbitrary speed and may experience failure
- Processors with stable storage may rejoin the protocol after failure
- Processors do not collude, lie, or attempt to subvert the protocol
- Processors can send messages to any other processor
- Messages are sent asynchronously and may take longer to deliver
- Messages may be lost, reordered, or duplicated
- Messages are delivered without corruption
The Paxos family of protocols is similar to the Raft consensus algorithm. While both address the fundamental problem of reaching a consensus among a cluster of computer systems, Paxos is more concerned with the mechanics of consensus, whereas Raft is oriented around the practical challenges of implementing a replicated log. Raft is generally designed to be more understandable than Paxos.
Stay up to date on the latest developments in Internet terminology with a free newsletter from Webopedia. Join to subscribe now.
From A3 to ZZZ we list 1,559 text message and online chat abbreviations to help you translate and understand today's texting lingo. Includes Top... Read More »Huge List of Computer Certifications
Have you heard about a computer certification program but can't figure out if it's right for you? Use this handy list to help you decide. Read More »
Computer architecture provides an introduction to system design basics for most computer science students. Read More »Network Fundamentals Study Guide
Networking fundamentals teaches the building blocks of modern network design. Learn different types of networks, concepts, architecture and... Read More »The Five Generations of Computers
Learn about each of the five generations of computers and major technology developments that have led to the computing devices that we use... Read More »