scispace - formally typeset
Open AccessJournal ArticleDOI

Hamsaz: replication coordination analysis and synthesis

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

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

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

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.
Related Papers (5)