Software transactional memories for Scala
Saved in:
| Title: | Software transactional memories for Scala |
|---|---|
| Authors: | Goodman, Daniel Daniel.Goodman@cs.man.ac.uk, Khan, Behram, Khan, Salman, Luján, Mikel, Watson, Ian |
| Source: | Journal of Parallel & Distributed Computing. Feb2013, Vol. 73 Issue 2, p150-163. 14p. |
| Subjects: | Scala (Computer program language), Computer software, Computer storage devices, Surveys, University of Manchester, Coding theory |
| Abstract: | Abstract: Transactional memory is an alternative to locks for handling concurrency in multi-threaded environments. Instead of providing critical regions that only one thread can enter at a time, transactional memory records sufficient information to detect and correct for conflicts if they occur. This paper surveys the range of options for implementing software transactional memory in Scala. Where possible, we provide references to implementations that instantiate each technique. As part of this survey, we document for the first time several techniques developed in the implementation of Manchester University Transactions for Scala. We order the implementation techniques on a scale moving from the least to the most invasive in terms of modifications to the compilation and runtime environment. This shows that, while the less invasive options are easier to implement and more common, they are more verbose and invasive in the codes using them, often requiring changes to the syntax and program structure throughout the code. [Copyright &y& Elsevier] |
| Copyright of Journal of Parallel & Distributed Computing is the property of Academic Press Inc. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
Be the first to leave a comment!