Software Transactional Memory for the AmbiComp distributed Java Virtual Machine
- Type:Diploma Thesis
- Date:14.02.2009
- Supervisor:
Prof. Dr. Frank Bellosa, Dr. Thomas Fuhrmann
- Graduand:Clemens Koller
- Links:PDF
-
Abstract:
The increasing prevalence of multi-core processors and distributed systems makes parallel programming more and more important. But correct synchronization of concurrent processes is difficult because locks, the most common tool to handle concurrency, are flawed and error prone. Software transactional memory promises to revolutionize the development of parallel applications by borrowing the concept of atomic transactions and applying it to code blocks. But until now most research in this area focused on the performance on single systems.
In this thesis, we present a new software transactional memory algorithm that is designed from the ground up with distributed systems in mind, the AmbiComp distributed Java virtual machine in particular. Another novel feature of our proposed solution is that the old values of modified shared objects are not discarded. Instead, these old versions are used to reduce the number of transactions that need to be aborted because of conflicts.
The evaluation of the algorithm with both theoretical - using a script interpreter we especially developed - and practical tests confirm the potential of our approach. Under heavy contention the reduction of aborts is only marginal, but with a high reader to writer ratio more than 50% of the aborts can be avoided as compared to using only the most recent versions .
BibTex:
@diplomathesis{koller09swtransactionalmemory,
author = {Clemens Koller},
title = {Software Transactional Memory for the AmbiComp distributed Java Virtual Machine},
type = {Diploma Thesis},
address = {System Architecture Group, University of Karlsruhe, Germany},
month = feb # "~14",
year = 2009,
url = {http://i30www.ira.uka.de/teaching/theses/pasttheses/}
}