  Modern web applications replicate their data across the globe and require
strong consistency guarantees for their most critical data. These guarantees
are usually provided via state-machine replication (SMR). Recent advances in
SMR have focused on leaderless protocols, which improve the availability and
performance of traditional Paxos-based solutions. We propose Tempo - a
leaderless SMR protocol that, in comparison to prior solutions, achieves
superior throughput and offers predictable performance even in contended
workloads. To achieve these benefits, Tempo timestamps each application command
and executes it only after the timestamp becomes stable, i.e., all commands
with a lower timestamp are known. Both the timestamping and stability detection
mechanisms are fully decentralized, thus obviating the need for a leader
replica. Our protocol furthermore generalizes to partial replication settings,
enabling scalability in highly parallel workloads. We evaluate the protocol in
both real and simulated geo-distributed environments and demonstrate that it
outperforms state-of-the-art alternatives.
