• Corpus ID: 27351657

Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions

@inproceedings{Adya1999WeakCA,
  title={Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions},
  author={Atul Adya and Barbara H. Liskov},
  year={1999}
}
Current commercial databases allow application programmers to trade off consistency for performance. [] Key Method It also specifies a variety of guarantees for predicate-based operations in an implementation-independent manner. Two new levels are defined that provide useful consistency guarantees to application writers; one is the weakest level that ensures consistent reads, while the other captures some useful consistency properties provided by pessimistic implementations. We use a graph-based approach to…

A Framework for Transactional Consistency Models with Atomic Visibility

This work provides a rigorous foundation for developing the metatheory of the novel form of concurrency arising in weakly consistent large-scale databases by specifying a variety of consistency models for transactions uniformly and declaratively.

Algebraic Laws for Weak Consistency (Extended Version)

This paper presents a set of novel algebraic laws (i.e. inequations) that connect two styles of specifications, and shows that this algebraic connection gives rise to so called robustness criteria, conditions which ensures that a program running on top of a weakly-consistent database does not exhibit anomalous behaviours due to this weak consistency.

Algebraic Laws for Weak Consistency

This paper presents a set of novel algebraic laws that connect two styles of specifications, one based on abstract executions and the other based on dependency graphs, and shows that this algebraic connection gives rise to so called robustness criteria, conditions which ensures that a program running on top of a weakly-consistent database does not exhibit anomalous behaviours due to this weak consistency.

7 : 2 Robustness against Consistency Models with Atomic Visibility

This work presents criteria to check whether applications that rely on a database providing only weak consistency are robust, i.e., behave as if they used adatabase providing serializability.

Automatic Analysis of Consistency Properties of Distributed Transaction Systems in Maude

This paper presents a general framework for formally specifying a DTS in Maude, and formalizes inMaude nine common consistency properties for DTSs so defined, and provides a fully automated method for analyzing whether the DTS satisfies the desired property for all initial states up to given bounds on system parameters.

Making consistency more consistent: a unified model for coherence, consistency and isolation

A new single constraint relationship, result visibility, is defined, which formalizes the "appears to execute before" relationship between operations and forms the broadest survey of ordering guarantees using a single constraint in the current literature.

A new approach to developing and implementing eager database replication protocols

A suite of replication protocols that addresses the main problems related to database replication and takes advantage of the rich semantics of group communication primitives and the relaxed isolation guarantees provided by most databases to eliminate the possibility of deadlocks, reduce the message overhead and increase performance.

Checking Robustness Between Weak Transactional Consistency Models

This work investigates the problem of checking whether a given program has the same set of behaviors when replacing a consistency model with a weaker one, and shows that checking robustness between these models is polynomial time reducible to a state reachability problem under serializability.

Robustness Against Transactional Causal Consistency

This paper investigates application-specific relationships between several variations of causal consistency and addresses the issue of verifying automatically if a given transactional program is robust against causal consistency, i.e., all its behaviors when executed over an arbitrary causally consistent database are serializable.

Checking Robustness Against Snapshot Isolation

This paper addresses the issue of verifying if a given program is robust against snapshot isolation, and shows that this verification problem is polynomial time reducible to a state reachability problem in transactional programs over a sequentially consistent shared memory.
...

References

SHOWING 1-10 OF 77 REFERENCES

Apologizing versus asking permission: optimistic concurrency control for abstract data types

Several new optimistic concurrency control techniques for objects in decentralized distributed systems are described here, their correctness and optimality properties are proved, and the circumstances under which each is likely to be useful are characterized.

Safe and efficient sharing of persistent objects in Thor

The results show that adaptive prefetching is very effective, improving both the elapsed time of traversals and the amount of space used in the client cache, and the cost of safe sharing can be negligible; thus it is possible to have both safety and high performance.

Consistency and orderability: semantics-based correctness criteria for databases

The notions of orderability allow users to operate an isolation as maintenance of the integrity constrainst now becomes the responsibility of the database system.

Optimism vs. locking: a study of concurrency control for client-server object-oriented databases

A new optimistic concurrency control scheme called AOCC ( Adaptive Optimistic Concurrency Control) is described and its performance is compared with that of ACBL (Adaptive-Granularity Callback Locking), the scheme shown to have the best performance in previous studies.

Managing update conflicts in Bayou, a weakly connected replicated storage system

The motivation for and design of these mechanisms for conflict detection and per -write conflict resolution based on client-provid ed procedures are presented and the experiences gained with an initial implementation of the system are described.

The serializability of concurrent database updates

Several efficiently recognizable subclasses of the class of senahzable histories are introduced and it is shown how these results can be extended to far more general transaction models, to transactions with partly interpreted functions, and to distributed database systems.

Efficient optimistic concurrency control using loosely synchronized clocks

An efficient optimistic concurrency control scheme for use in distributed database systems in which objects are cached and manipulated at client machines while persistent storage and transactional support are provided by servers, which outperforms adaptive callback locking for low to moderate contention workloads, and scales better with the number of clients.

Implementation of resilient, atomic data types

This work defines what it means for abstract data types to be atomic and resilient, and discusses issues that arise in implementing such types, and describes a particular linguistic mechanism provided in the Argus programming language.

Implementing Distributed Read-Only Transactions

An efficient scheme for eliminating conflicts between distributed read-only transactions and distributed update transactions, thereby reducing synchronization delays and the recovery from transaction and system failures is greatly simplified and the taking of database dumps also can be accommodated while leaving the database on-line.
...