Modular transactional memory
Data(s) |
01/01/2010
|
---|---|
Resumo |
Software transactional memory has the potential to greatly simplify development of concurrent software, by supporting safe composition of concurrent shared-state abstractions. However, STM semantics are defined in terms of low-level reads and writes on individual memory locations, so implementations are unable to take advantage of the properties of user-defined abstractions. Consequently, the performance of transactions over some structures can be disappointing. ----- ----- We present Modular Transactional Memory, our framework which allows programmers to extend STM with concurrency control algorithms tailored to the data structures they use in concurrent programs. We describe our implementation in Concurrent Haskell, and two example structures: a finite map which allows concurrent transactions to operate on disjoint sets of keys, and a non-deterministic channel which supports concurrent sources and sinks. ----- ----- Our approach is based on previous work by others on boosted and open-nested transactions, with one significant development: transactions are given types which denote the concurrency control algorithms they employ. Typed transactions offer a higher level of assurance for programmers reusing transactional code, and allow more flexible abstract concurrency control. |
Formato |
application/pdf |
Identificador | |
Publicador |
Australian Computer Society |
Relação |
http://eprints.qut.edu.au/40508/1/c40508.pdf http://www.crpit.com/abstracts/CRPITV102Brecknell.html Brecknell, Matthew & Roe, Paul (2010) Modular transactional memory. In Proc. 33rd Australasian Computer Science Conference (ACSC 2010), Australian Computer Society, Brisbane, Australia, pp. 13-22. |
Direitos |
Australian Computer Society Copyright 2010 Australian Computer Society. Reproduction for academic, not-for-profit purposes permitted provided this text is included. |
Fonte |
Computer Science; Faculty of Science and Technology |
Palavras-Chave | #080304 Concurrent Programming #software transactional memory #concurrency control #transactional boosting #open-nested transactions |
Tipo |
Conference Paper |