PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data Types
This program is tentative and subject to change.
Consensus protocols are fundamental in distributed systems as they enable services with strong consistency properties. However, designing protocols optimized for specific use-cases under certain system assumptions is typically an error-prone process requiring expert knowledge. Furthermore, while most recent optimized protocols are variations of well-known algorithms like Paxos or Raft, they often necessitate complete re-implementations, potentially introducing new bugs and complicating the application of existing verification results. This approach impedes application-specific consistency protocols that can easily be amended or swapped out, depending on the given application and deployment scenario.
We propose Protocol Replicated Data Types (PRDTs), a novel programming model for implementing consensus protocols using replicated data types (RDTs). Inspired by the knowledge-based view of consensus, PRDTs employ RDTs to monotonically accumulate knowledge until agreement is reached. This approach allows for implementations focusing on high-level protocol logic that abstracts away network details and facilitates automated verification. Moreover, by applying existing algebraic composition techniques for RDTs in the PRDT context, we enable composable protocol building-blocks for implementing complex protocols. We present a formal model of our approach and implement a proof procedure that allows automated reasoning about the consensus safety of concrete PRDT implementations. Additionally, we demonstrate the applicability of our model in verified PRDT-based implementations of existing consensus protocols, and report empirical performance evaluation results. Our findings indicate that the PRDT approach offers enhanced flexibility and composability in protocol design, facilitates reasoning about correctness, and is suited for real-world adoption without intrinsic performance drawbacks.
This program is tentative and subject to change.
Mon 5 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Distributed and Replicated SystemsOOPSLA at East Hall 1 Chair(s): Mohsen Lesani University of California at Santa Cruz | ||
13:30 18mTalk | Frashokereti: Non-aborting Optimistically Replicated Objects OOPSLA Eric Man Chan University of California at Riverside, Javad Saberlatibari University of California at Riverside, Mohsen Lesani University of California at Santa Cruz DOI | ||
13:48 18mTalk | PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data Types OOPSLA Julian Haas Technische Universität Darmstadt, Ragnar Mogk Technische Universität Darmstadt, Annette Bieniusa Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau, Mira Mezini Technische Universität Darmstadt; ATHENE; hessian.AI DOI Pre-print | ||
14:06 18mTalk | Relight: Simple User-Level Checkpointing and Fast-Forward Replay for Distributed Task-Based Systems OOPSLA Elliott Slaughter SLAC National Accelerator Laboratory, Rupanshu Soi Stanford University, Michael Bauer NVIDIA Research, Alex Aiken Stanford University DOI | ||
14:24 18mTalk | Composing CRDTs Convergent by Construction OOPSLA Alexander Städing Dominguez University of St. Gallen, George Zakhour University of St. Gallen, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen DOI Pre-print | ||
14:42 18mTalk | Augur: Predicting View Serializability Violations in Relational Data Store Applications OOPSLA Chujun Geng Ohio State University, Noah Charlton Ohio State University, Spyros Blanas Ohio State University, Michael D. Bond Ohio State University, Yang Wang Ohio State University DOI | ||