Saved in:
Bibliographic Details
Main Authors: Hauck, Franz J., Heß, Alexander
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2407.01720
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910509881622528
author Hauck, Franz J.
Heß, Alexander
author_facet Hauck, Franz J.
Heß, Alexander
contents Linearizability is a well-known correctness property for concurrent and distributed systems. In the past, it was also used to prove the design and implementation of replicated state-machines correct. State-machine replication (SMR) is a concept to achieve fault-tolerant services by replicating the application code and maintaining its deterministic execution in all correct replicas. Correctness of SMR needs to address both, the execution of the application code -- the state machine -- and the replication framework that takes care of communication, checkpointing and recovery. We show that linearizability is overly restrictive for SMR as it excludes many applications from being replicated. It cannot deal with conditional waits and bidirectional data flows between concurrent executions. Further, linearizability does not allow for vertical composition, e.g., nested invocations. In this work we argue that interval linearizability, a recently defined relaxation of linearizability, is the appropriate correctness criterion for SMR systems. This no longer puts any constraints on the application code. Instead the focus for correctness proofs of an SMR system is on the deterministic execution of the application within correct replicas under the assumptions of the chosen failure model. Thus, this work not only clears some myths about linearizable SMR but also relieves correctness proofs from linearizability proofs.
format Preprint
id arxiv_https___arxiv_org_abs_2407_01720
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Linearizability and State-Machine Replication: Is it a match?
Hauck, Franz J.
Heß, Alexander
Distributed, Parallel, and Cluster Computing
Linearizability is a well-known correctness property for concurrent and distributed systems. In the past, it was also used to prove the design and implementation of replicated state-machines correct. State-machine replication (SMR) is a concept to achieve fault-tolerant services by replicating the application code and maintaining its deterministic execution in all correct replicas. Correctness of SMR needs to address both, the execution of the application code -- the state machine -- and the replication framework that takes care of communication, checkpointing and recovery. We show that linearizability is overly restrictive for SMR as it excludes many applications from being replicated. It cannot deal with conditional waits and bidirectional data flows between concurrent executions. Further, linearizability does not allow for vertical composition, e.g., nested invocations. In this work we argue that interval linearizability, a recently defined relaxation of linearizability, is the appropriate correctness criterion for SMR systems. This no longer puts any constraints on the application code. Instead the focus for correctness proofs of an SMR system is on the deterministic execution of the application within correct replicas under the assumptions of the chosen failure model. Thus, this work not only clears some myths about linearizable SMR but also relieves correctness proofs from linearizability proofs.
title Linearizability and State-Machine Replication: Is it a match?
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2407.01720