ABSTRACT
The mainstream use of concurrent programming is bound to the provision of constructs that abstract details intrinsic to concurrency, while ensuring safety and liveness properties. Several control-centric approaches meet these requirements but decentralise concurrency management, hindering reasoning. The alternative data-centric approach promotes local rather than distributed reasoning, however it is a fairly new approach embraced only by Atomic Sets [4, 8], a rather complex model that does not guarantee progress in all scenarios. In this paper we propose a simple data-centric concurrency control model that builds only on the notion of atomic variable. We informally present the model and its properties, as well as a prototype implementation that we used to compare our approach against the aforementioned Atomic Sets and control-centred approaches in general.
- B. M. et al. Autolocker: Synchronization inference for atomic sections. In POPL, pages 346--358. ACM, 2006. Google ScholarDigital Library
- D. M. et al. Detecting deadlock in programs with data-centric synchronization. In ICSE, pages 322--331. IEEE, 2013. Google ScholarDigital Library
- F. T. S. et al. Dynamic optimization for efficient strong atomicity. In OOPSLA'08, pages 181--194. ACM, 2008. Google ScholarDigital Library
- J. D. et al. A data-centric approach to synchronization. TOPLAS, 34(1):4:1--4:48, 2012. Google ScholarDigital Library
- M. A. et al. Semantics of transactional memory and automatic mutual exclusion. TOPLAS, 33(1):2, 2011. Google ScholarDigital Library
- M. E. et al. Lock allocation. In POPL, pages 291--296. ACM, 2007.Google Scholar
- M. H. et al. Lock inference for atomic sections. In TRANSACT. ACM, 2006.Google Scholar
- M. V. et al. Associating synchronization constraints with data in an object-oriented language. In POPL, pages 334--345. ACM, 2006. Google ScholarDigital Library
- P. D. et al. Automated inference of atomic sets for safe concurrent execution. In ASTE, pages 1--8, 2013. Google ScholarDigital Library
- S. C. et al. Inferring locks for atomic sections. In PLDI, pages 304--315. ACM, 2008. Google ScholarDigital Library
- S. L. et al. Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In ASPLOS, pages 329--339. ACM, 2008. Google ScholarDigital Library
- W. Huang and A. Milanova. Inferring aj types for concurrent libraries. In FOOL, 2012.Google Scholar
- N. Shavit and D. Touitou. Software transactional memory. In APODC, pages 204--213. ACM, 1995. Google ScholarDigital Library
Index Terms
- From atomic variables to data-centric concurrency control
Recommendations
Semantics-based concurrency control: beyond commutativity
The concurrency of transactions executing on atomic data types can be enhanced through the use of semantic information about operations defined on these types. Hitherto, commutativity of operations has been exploited to provide enchanced concurrency ...
Multiversion Cautious Schedulers for Database Concurrency Control
Let MC stand for a class of logs (i.e. sequences of read/write steps of transactions) that are serializable when multiple versions of the data items are maintained. The multiversion cautious scheduler, MCS(MC) which is introduced, outputs a sequence ...
Adaptable concurrency control for atomic data types
In many distributed systems concurrent access is required to a shared object, where abstract object servers may incorporate type-specific properties to define consistency requirements. Each operation and its outcome is treated as an event, and conflicts ...
Comments