Sep 2026· Proceedings of the ACM SIGOPS 32nd Symposium on Operating Systems Principles· pp. 676-697· 0 citations· 31 references
TL;DR
The permissioned state machine (PSM) approach, which extends TLA-style protocol reasoning with ideas from concurrent separation logic, enables the developer to specify and verify complex protocols, such as Tulip, by breaking them down into smaller modules.
Abstract
Tulip is a high-performance distributed transaction system that uses sharding for scalability, replication within each shard for fault tolerance, and TAPIR-style inconsistent replication for high performance. Tulip comes with a machine-checked proof of correctness showing that its implementation meets a simple specification identical to a local strictly serializable transaction system, abstracting away implementation details such as crash recovery, multi-versioning, replication, sharding, and coordinator recovery. The contribution of this paper is the permissioned state machine (PSM) approach, which extends TLA-style protocol reasoning with ideas from concurrent separation logic. PSM enables the developer to specify and verify complex protocols, such as Tulip, by breaking them down into smaller modules. PSM makes all dependencies between modules explicit using permissions, which limits the ways these modules can interact, and thereby reduces proof effort. The prototype of Tulip consists of 3,956 lines of Go code, achieving performance competitive with that of TAPIR. Tulip's proof is decomposed into 10 types of modules; the majority of logical proof steps (“actions”) involve just one module, demonstrating that PSM enables local reasoning.
Linearizability checkers check if an operation history, observed by concurrent clients, is linearizable. They are used in testing distributed storage systems, and use the classic Wing-Gong (WG) linearizability checking algorithm. In this paper, we generalize the WG algorithm to make linearizability checkers more versat...
Kotikala Raghav, A. Hassan, Brian Sajeev Kattikat et al.· 0 citations
Scalability remains a major challenge for Byzantine fault tolerance (BFT) systems, whose throughput is often limited by sequential transaction processing at each node. Prior work has attempted to address this challenge by full sharding or by replacing total ordering with serializable concurrent execution, but these app...
Guang-Da Sun, Jialin Li· Proceedings of the 17th ACM...· 0 citations
We report on our experience validating S3 Express One Zone, a high-performance Amazon S3 storage class launched in November 2023. We focused on its distributed metadata index, which implements a hierarchical namespace using distributed transactions. We check strong consistency and durability under crashes, network dela...
Rajeev Joshi, Bernhard Kragl, V. Fernando et al.· Proceedings of the ACM SIGOP...· 0 citations
Fine-grained reactive systems built for the browser rely on implicit host facilities and guarantees, including promises, an event loop, a microtask checkpoint, and a garbage collector. We report on porting the reactive core of SolidJS to Rust, with those assumptions removed, and on what the removal revealed about which...
C. Bergström· Proceedings of the 18th ACM...· 0 citations
Procurator is a verification framework that efficiently captures interactive behaviors in distributed in-network programs and employs an intermediate representation (IR) pruner to reduce the execution space and a schedule-replay-based acceleration approach to avoid explicit exploration of long execution traces.
Mingyuan Song, Huan-Xing Shen, Jinghui Jiang et al.· Conference on Applications,...· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.