Hamsaz: replication coordination analysis and synthesis
Farzin Houshmand,Mohsen Lesani +1 more
- Vol. 3, pp 1-32
Reads0
Chats0
TLDR
This work presents novel coordination protocols that are parametric in terms of the analysis results and provide the well-coordination requirements and implemented a tool called Hamsaz that can automatically analyze the given object, instantiate the protocols and synthesize replicated objects.Abstract:
Distributed system replication is widely used as a means of fault-tolerance and scalability. However, it provides a spectrum of consistency choices that impose a dilemma for clients between correctness, responsiveness and availability. Given a sequential object and its integrity properties, we automatically synthesize a replicated object that guarantees state integrity and convergence and avoids unnecessary coordination. Our approach is based on a novel sufficient condition for integrity and convergence called well-coordination that requires certain orders between conflicting and dependent operations. We statically analyze the given sequential object to decide its conflicting and dependent methods and use this information to avoid coordination. We present novel coordination protocols that are parametric in terms of the analysis results and provide the well-coordination requirements. We implemented a tool called Hamsaz that can automatically analyze the given object, instantiate the protocols and synthesize replicated objects. We have applied Hamsaz to a suite of use-cases and synthesized replicated objects that are significantly more responsive than the strongly consistent baseline.read more
Citations
More filters
Journal ArticleDOI
Mergeable replicated data types
TL;DR: This work presents a fundamentally different approach to programming in the presence of replicated state based on the use of invertible relational specifications of an inductively-defined data type as a mechanism to capture salient aspects of the data type relevant to how its different instances can be safely merged in a replicated environment.
Book ChapterDOI
Proving the Safety of Highly-Available Distributed Objects
TL;DR: This work proposes a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control, for the subclass of state-based distributed systems.
A Tour of Gallifrey, a Language for Geodistributed Programming
TL;DR: This work proposes a new language, Gallifrey, which provides orthogonal replication through restrictions with merge strategies, contingencies for conflicts arising from concurrency, and branches, a novel concurrency control construct inspired by version control, to contain provisional behavior.
Journal ArticleDOI
Verifying replicated data types with typeclass refinements in Liquid Haskell
TL;DR: This paper presents an extension to Liquid Haskell that facilitates stating and semi-automatically proving properties of typeclasses, and implements a framework for programming distributed applications based on replicated data types (RDTs).
Journal ArticleDOI
Replicated data types that unify eventual consistency and observable atomic consistency
Xin Zhao,Philipp Haller +1 more
TL;DR: This work proposes a new consistency protocol, the observable atomic consistency protocol (OACP), to make write-dominant applications as fast as possible and as consistent as needed, and provides a high-level programming interface to improve the efficiency and correctness of distributed programming.
References
More filters
Proceedings Article
Netchain: scale-free sub-RTT coordination
Xin Jin,Xiaozhou Li,Haoyu Zhang,Nate Foster,Jeongkeun Lee,Robert Soulé,Changhoon Kim,Ion Stoica +7 more
TL;DR: NetChain exploits recent advances in programmable switches to store data and process queries entirely in the network data plane, and design new protocols and algorithms based on chain replication to guarantee strong consistency and to efficiently handle switch failures.
Journal ArticleDOI
Probabilistically bounded staleness for practical partial quorums
TL;DR: This work explains why partial quorums are regularly acceptable in practice, analyzing both the staleness of data they return and the latency benefits they offer, and introduces Probabilistically Bounded Staleness (PBS) consistency, which provides expected bounds on staleness with respect to both versions and wall clock time.
Proceedings ArticleDOI
Replicated data types: specification, verification, optimality
TL;DR: This work proposes a framework for specifying replicated data types using relations over events and verifying their implementations using replication-aware simulations, and shows how to specify consistency of replicated stores with multiple objects axiomatically, in analogy to prior work on weak memory models.
Journal ArticleDOI
Coordination avoidance in database systems
TL;DR: A formal framework is developed that determines whether an application requires coordination for correct execution by operating on application-level invariants over database states and shows that many are invariant confluent and therefore achievable without coordination.
Journal ArticleDOI
Perspectives on the CAP Theorem
Seth Gilbert,Nancy Lynch +1 more
TL;DR: The CAP theorem is one example of a more general tradeoff between safety and liveness in unreliable systems that provides insight into the inherent tradeoffs and the manner in which they can be circumvented in practice.