Skip to content

Commit 29aeb7d

Browse files
author
Iulian Moraru
committed
More substantial README.
1 parent ab4dbea commit 29aeb7d

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
1-
epaxos
1+
EPaxos
22
======
33

4+
5+
### What is EPaxos?
6+
7+
8+
EPaxos is an efficient, leaderless replication protocol. The name stands for *Egalitarian Paxos* -- EPaxos is based
9+
on the Paxos consensus algorithm. As such, it can tolerate up to F concurrent replica failures with 2F+1 total replicas.
10+
11+
### How does EPaxos differ from Paxos and other Paxos variants?
12+
13+
To function effectively as a replication protocol, Paxos has to rely on a stable leader replica (this optimization is known as Multi-Paxos). The leader can become a bottleneck for performance: it has to handle more messages than the other replicas, and remote clients have to contact the leader, thus experiencing higher latency. Other Paxos variants either also rely on a stable leader, or have a pre-established scheme that allows different replicas to take turns in proposing commands (such as Mencius). The latter scheme
14+
suffers from tight coupling of the performance of the system from that of every replica -- i.e., the system runs at the speed of the slowest replica.
15+
16+
EPaxos is an efficient, leaderless protocol. It provides **strong consistency with optimal wide-area latency, perfect load-balancing across replicas (both in the local and the wide area), and constant availability for up to F failure**. EPaxos also decouples the performance of the slowest replicas from that of the fastest, so it can better tolerate slow replicas than previous protocols.
17+
18+
### How does EPaxos work?
19+
20+
We have [an SOSP 2013 paper](http://dl.acm.org/ft_gateway.cfm?id=2517350&ftid=1403953&dwn=1) that describes EPaxos in detail.
21+
22+
A simpler, more straightforward explanation is coming here soon.
23+
24+
25+
### What is in this repository?
26+
427
This repository contains the Go implementations of:
528

629
* Egalitarian Paxos (EPaxos), a new distributed consensus algorithm based on

0 commit comments

Comments
 (0)