Investigating software Transactional Memory on clusters

Christos Kotselidis, Mohammad Rashid Ansari, Kimberly Jarvis, Mikel Luján, Chris C. Kirkham, Ian D. Watson · Proceedings - IEEE International Parallel and Distributed Processing Symposium · 2008

Traditional parallel programming models achieve synchronization with error-prone and complex-to-debug constructs such as locks and barriers. Transactional Memory (TM) is a promising new parallel programming abstraction that replaces conventional locks with critical sections expressed as transactions. Most TM research has focused on single address space parallel machines, leaving the area of distributed systems unexplored. In this paper we introduce a flexible Java Software TM (STM) to enable evaluation and prototyping of TM protocols on clusters. Our STM builds on top of the ProActive framework and has as an underlying transactional engine the state-of-the-art DSTM2. It does not rely on software or hardware distributed shared memory for the execution. This follows the transactional semantics at object granularity level and its feasibility is evaluated with non-trivial TM-specific benchmarks.

Read the paper · More papers on PaperTik