Modular transactional memory


Autoria(s): Brecknell, Matthew; Roe, Paul
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

http://eprints.qut.edu.au/40508/

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