All about Eve: Execute-Verify Replication for Multi-Core Servers

Manos Kapritsos, Yang Wang, Vivien Quema, Allen Clement, Lorenzo Alvisi, and Mike Dahlin

Proceedings of the USENIX Operating Systems Design and Implementation (OSDI) 2012.

View PDF, slides, or BibTeX.

Distributed Systems

This paper presents Eve, a new Execute-Verify architecture that allows state machine replication to scale to multi-core servers. Eve departs from the traditional agree-execute architecture of state machine replication: replicas first execute groups of requests concurrently and nondeterministically and then verify that they have agreed on the state and outputs produced by a correct replica; if they can not, they roll back and execute the requests sequentially. Eve minimizes divergence using application-specific criteria to organize requests into groups of requests that are unlikely to interfere. Our evaluation suggests that Eve's unique ability to combine execution independence with nondeterminism enables high-performance replication for multi-core servers while tolerating a wide range of faults, including elusive concurrency bugs.