Abstract
In this paper, we consider concurrent programs in which the shared state consists of instances of linearizable ADTs (abstract data types).We develop a novel automated approach to concurrency control that addresses a common need: the need to atomically execute a code fragment, which may contain multiple ADT operations on multiple ADT instances. In our approach, each ADT implements ADT-specific semantic locking operations that serve to exploit the semantics of ADT operations. We develop a synthesis algorithm that automatically inserts calls to these locking operations in a set of given code fragments (in a client program) to ensure that these code fragments execute atomically without deadlocks, and without rollbacks. We have implemented the synthesis algorithm and several general-purpose ADTs with semantic locking. We have applied the synthesis algorithm to several Java programs that use these ADTs. Our results show that our approach enables efficient and scalable synchronization.
| Original language | English |
|---|---|
| Pages (from-to) | 385-386 |
| Number of pages | 2 |
| Journal | ACM SIGPLAN Notices |
| Volume | 49 |
| Issue number | 8 |
| DOIs | |
| State | Published - Aug 2014 |
Keywords
- Compiler
- Composition
- Synchronization
All Science Journal Classification (ASJC) codes
- General Computer Science
Fingerprint
Dive into the research topics of 'Automatic semantic locking'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver