All about Eve: Execute-Verify Replication for Multi-Core Servers
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.