QUT ePrints

Modular transactional memory

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.

View at publisher

Abstract

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.

Impact and interest:

0 citations in Scopus
Search Google Scholar™

Citation countsare sourced monthly from Scopus and Web of Science® citation databases.

These databases contain citations from different subsets of available publications and different time periods and thus the citation count from each is usually different. Some works are not in either database and no count is displayed. Scopus includes citations from articles published in 1996 onwards, and Web of Science® generally from 1980 onwards.

Citations counts from the Google Scholar™ indexing service can be viewed at the linked Google Scholar™ search.

Full-text downloads:

78 since deposited on 08 Mar 2011
36 in the past twelve months

Full-text downloadsdisplays the total number of times this work’s files (e.g., a PDF) have been downloaded from QUT ePrints as well as the number of downloads in the previous 365 days. The count includes downloads for all files if a work has more than one.

ID Code: 40508
Item Type: Conference Paper
Additional Information: This paper appeared at the Thirty-Third Australasian Computer Science Conference (ACSC2010), Brisbane, Australia. It was published in Conferences in Research and Practice in Information Technology (CRPIT), Vol 102. B. Mans and M. Reynolds, Eds.
Additional URLs:
Keywords: software transactional memory, concurrency control, transactional boosting, open-nested transactions
ISBN: 9781920682835
ISSN: 1445-1336
Subjects: Australian and New Zealand Standard Research Classification > INFORMATION AND COMPUTING SCIENCES (080000) > COMPUTER SOFTWARE (080300) > Concurrent Programming (080304)
Divisions: Past > Schools > Computer Science
Past > QUT Faculties & Divisions > Faculty of Science and Technology
Copyright Owner: Australian Computer Society
Copyright Statement: Copyright 2010 Australian Computer Society. Reproduction for academic, not-for-profit purposes permitted provided this text is included.
Deposited On: 09 Mar 2011 08:21
Last Modified: 10 Mar 2011 16:49

Export: EndNote | Dublin Core | BibTeX

Repository Staff Only: item control page