Concurrent libraries with foresight
TL;DR: This work considers the situation where clients may need to execute a sequence of operations (a composite operation) atomically and linearizable libraries provide operations that appear to execute atomically.
read more
Abstract: Linearizable libraries provide operations that appear to execute atomically. Clients, however, may need to execute a sequence of operations (a composite operation) atomically. We consider the probl...
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures

Figure 11. Throughput of GossipRouter. 
Figure 9. Throughput of ComputeIfAbsent. 
Figure 5. Base procedures of the example Maps library. 
Figure 1. Specification of the Counter library. I denotes the initial value of the counter. 
Figure 3. Compositions of counter dependent operations. 
Figure 4. Execution prefixes of the code shown in Fig. 2, for a counter with I = 0. Each node represents a prefix of an execution; a leaf node represents a complete execution.
Citations
Reusable Concurrent Data Types
Vincent Gramoli,Rachid Guerraoui +1 more
- 01 Aug 2014
TL;DR: Reusable CDTs with polymorphic synchronization against transaction-based, lock-based and lock-free synchronizations on SPARC and x86-64 architectures and they outperform all reusable Java CDTs.
Checking Linearizability of Encapsulated Extended Operations
Oren Zomer,Guy Golan-Gueta,Ganesan Ramalingam,Mooly Sagiv +3 more
- 05 Apr 2014
TL;DR: A simple static analysis algorithm is implemented that conservatively verifies linearizabilty of encapsulated extensions of Java concurrent maps and empirical results illustrating the benefits of the reduction theorems are presented.
Concurrent data representation synthesis
Peter Hawkins,Alex Aiken,Kathleen Fisher,Martin Rinard,Mooly Sagiv +4 more
- 01 Jun 2012
TL;DR: In this paper, a compiler takes as input a program written using concurrent relations and synthesizes a representation of the relations as sets of cooperating data structures as well as the placement and acquisition of locks to synchronize concurrent access to those data structures.
3
Using Abstract Interpretation to Correct Synchronization Faults
Pietro Ferrara,Omer Tripp,Peng Liu,Eric Koskinen +3 more
- 15 Jan 2017
TL;DR: It is proved that corrective synchronization is serializable and give conditions under which progress is ensured, and early encouraging results that the approach competes with or out-performs previous pessimistic or optimistic approaches.
2
Automatic Semantic Locking
Guy Golan-Gueta,G. Ramalingam,Mooly Sagiv,Eran Yahav +3 more
TL;DR: This paper presents Automatic Semantic Locking, a novel concurrency control approach that uses ADT-specific semantic locking operations to atomically execute code fragments without deadlocks or rollbacks, enabling efficient and scalable synchronization in concurrent programs.
References
•Book
Concurrency Control and Recovery in Database Systems
Philip A. Bernstein,Vassco Hadzilacos,Nathan Goodman +2 more
- 01 Feb 1987
TL;DR: In this article, the design and implementation of concurrency control and recovery mechanisms for transaction management in centralized and distributed database systems is described. But this can lead to interference between queries and updates.
4.2K
Linearizability: a correctness condition for concurrent objects
TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
The serializability of concurrent database updates
TL;DR: 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.
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
Maged M. Michael,Michael L. Scott +1 more
- 01 May 1996
TL;DR: Experiments on a 12-node SGI Challenge multiprocessor indicate that the new non-blocking queue consistently outperforms the best known alternatives; it is the clear algorithm of choice for machines that provide a universal atomic primitive (e.g., compare_and_swap or load_linked/store_conditional).
Concurrent control with “readers” and “writers”
TL;DR: The problem of the mutual exclusion of several independent processes from simultaneous access to a “critical section” is discussed for the case where there are two distinct classes of processes known as “readers” and “writers.”
589
Related Papers (5)
Guy Golan-Gueta,Ganesan Ramalingam,Mooly Sagiv,Eran Yahav +3 more
- 16 Jun 2013
Guy Golan-Gueta,Ganesan Ramalingam,Mooly Sagiv,Eran Yahav +3 more
- 06 Feb 2014