Boosting State Machine Replication with Parallel Execution

  • Fernando Pedone Universidade de Brası́lia
  • Eduardo Alchieri PUC-RS
  • Fernando Dotti Microsoft
  • Parisa Marandi Universidade Federal do Rio Grande
  • Odorico Mendizabal Universitá della Svizzera italiana

Resumo


State machine replication is a fundamental technique to render services fault tolerant. One of the key assumptions of state machine replication is that replicas must execute operations deterministically. Deterministic execution often translates into sequential execution of requests at replicas. With the increasing demand for dependable services and widespread use of multi-core servers, several proposals for enabling concurrent execution in state machine replication have appeared in the literature. Invariably, these techniques exploit the fact that independent operations, those that do not share any common state or do not update shared state, can execute concurrently. Existing protocols differ in several important ways. In this paper, we survey this field of research and discuss the main aspects of the different protocols. Central aspects include conflict detection, representation and enforcing; tradeoffs involving existing architectures and level of allowed parallelism; workload-driven adaptation schemes; and implications of parallel state machine replication to recovery. Moreover, we discuss ongoing and future work directions for high-throughput state machine replication.
Palavras-chave: Replication, Scheduling, Concurrent Execution
Publicado
08/10/2018
PEDONE, Fernando; ALCHIERI, Eduardo; DOTTI, Fernando; MARANDI, Parisa; MENDIZABAL, Odorico. Boosting State Machine Replication with Parallel Execution. In: LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC), 8. , 2018, Foz do Iguaçu. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 77-86.