Affiliation:
1. Tel Aviv University, Israel
2. Stanford University, USA
3. Microsoft Research, India
Abstract
Concurrency control poses significant challenges when composing computations over multiple data-structures (objects) with different concurrency-control implementations. We formalize the usually desired requirements (serializability, abort-safety, deadlock-safety, and opacity) as well as stronger versions of these properties that enable composition. We show how to compose protocols satisfying these properties so that the resulting combined protocol also satisfies these properties. Our approach generalizes well-known protocols (such as two-phase-locking and two-phase-commit) and leads to new protocols. We apply this theory to show how we can safely compose optimistic and pessimistic concurrency control. For example, we show how we can execute a transaction that accesses two objects, one controlled by an STM and another by locking.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference33 articles.
1. A fast and lightweight key/value database library by google. http://code.google.com/p/leveldb. A fast and lightweight key/value database library by google. http://code.google.com/p/leveldb.
2. Sequential verification of serializability
3. N. Bronson. Scalastm 2010. URL http://nbronson.github.io/scala-stm/. N. Bronson. Scalastm 2010. URL http://nbronson.github.io/scala-stm/.
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Hybridizing and Relaxing Dependence Tracking for Efficient Parallel Runtime Support;ACM Transactions on Parallel Computing;2017-10-10
2. Automatic Scalable Atomicity via Semantic Locking;ACM Transactions on Parallel Computing;2017-03-23
3. Transactional data structure libraries;ACM SIGPLAN Notices;2016-08
4. Transactional data structure libraries;Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation;2016-06-02