Abstract
With the speed of individual cores no longer increasing at the rate we came to love over the past decades, programmers have to look for other ways to increase the speed of our ever-more-complicated applications. The functionality provided by the CPU manufacturers is an increased number of execution units, or CPU cores.
- Herlihy, M., Moss, J.E.B. 1993. Transactional memory: Architectural support for lock-free data structures. Proceedings of the 20th International Symposium on Computer Architecture; http://citeseer.ist.psu.edu/herlihy93transactional.html. Google ScholarDigital Library
- Drepper, U. 2007. What every programmer should know about memory; http://people.redhat.com/drepper/cpumemory.pdf.Google Scholar
Index Terms
Parallel Programming with Transactional Memory: While sometimes even writing regular, single-threaded programs can be quite challenging, trying to split a program into multiple pieces that can be executed in parallel adds a whole dimension of additional problems. Drawing upon the transaction concept familiar to most programmers, transactional memory was designed to solve some of these problems and make parallel programming easier. Ulrich Drepper from Red Hat shows us how it’s done.
Recommendations
The Atomos transactional programming language
Proceedings of the 2006 PLDI ConferenceAtomos is the first programming language with implicit transactions, strong atomicity, and a scalable multiprocessor implementation. Atomos is derived from Java, but replaces its synchronization and conditional waiting constructs with simpler ...
Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory
Special Issue: Parallelism in Algorithms and ArchitecturesTransactional memory (TM) is a popular approach for alleviating the difficulty of programming concurrent applications; TM guarantees that a transaction, consisting of a sequence of operations, appear to be executed atomically. Two fundamental properties ...
Transactional memory: from semantics to silicon
IWMSE '08: Proceedings of the 1st international workshop on Multicore software engineeringMulti-core architectures bring parallel programming into the mainstream. Parallel programming poses many new challenges to the developer, one of which is synchronizing concurrent access to shared memory by multiple threads. Programmers have ...
Comments