DiSTM: A Software Transactional Memory Framework for Clusters

While transactional memory (TM) research on shared-memory chip multiprocessors has been flourishing over the last years,limited research has been conducted in the cluster domain. In this paper,we introduce a research platform for exploiting software TMon clusters. The distributed software transactional memory (DiSTM) system has been designed for easy prototyping of TM coherence protocols and it does not rely on a software or hardware implementation of distributed shared memory. Three TM coherence protocols have been implemented and evaluated with established TM benchmarks. The decentralized transactional coherence and consistency protocol has been compared against two centralized protocols that utilize leases. Results indicate that depending on network congestion and amount of contention different protocols perform better.

[1]  Katherine A. Yelick,et al.  Titanium: A High-performance Java Dialect , 1998, Concurr. Pract. Exp..

[2]  Madalin Mihailescu,et al.  Exploiting distributed version concurrency in a transactional memory cluster , 2006, PPoPP '06.

[3]  Mikel Luján,et al.  Lee-TM: A Non-trivial Benchmark Suite for Transactional Memory , 2008, ICA3PP.

[4]  Denis Caromel,et al.  Programming, Composing, Deploying for the Grid , 2006, Grid Computing: Software Environments and Tools.

[5]  James R. Larus,et al.  Transactional Memory , 2006, Transactional Memory.

[6]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[7]  Eugene Kuleshov,et al.  Clustering the Java Virtual Machine using Aspect-Oriented Programming , 2007 .

[8]  Katherine Yelick,et al.  UPC: Distributed Shared-Memory Programming , 2003 .

[9]  Bradford L. Chamberlain,et al.  Software transactional memory for large scale clusters , 2008, PPoPP.

[10]  E. Berlekamp,et al.  Winning Ways for Your Mathematical Plays , 1983 .

[11]  Bradley C. Kuszmaul,et al.  Unbounded Transactional Memory , 2005, HPCA.

[12]  Kunle Olukotun,et al.  An effective hybrid transactional memory system with strong isolation guarantees , 2007, ISCA '07.

[13]  Victor Luchangco,et al.  The Fortress Language Specification Version 1.0 , 2007 .

[14]  Mikel Luján,et al.  Investigating software Transactional Memory on clusters , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[15]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[16]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[17]  Maurice Herlihy,et al.  A flexible framework for implementing software transactional memory , 2006, OOPSLA '06.

[18]  Mikel Luján,et al.  A Study of a Transactional Parallel Routing Algorithm , 2007, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007).

[19]  Alan L. Cox,et al.  TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems , 1994, USENIX Winter.

[20]  Kunle Olukotun,et al.  Transactional memory coherence and consistency , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..