Title :
Clustering JVMs with software transactional memory support
Author :
Kotselidis, Christos ; Luján, Mikel ; Ansari, Mohammad ; Malakasis, Konstantinos ; Kahn, Behram ; Kirkham, Chris ; Watson, Ian
Author_Institution :
Sch. of Comput. Sci., Univ. of Manchester, Manchester, UK
Abstract :
Affordable transparent clustering solutions to scale non-HPC applications on commodity clusters (such as Terracotta) are emerging for Java Virtual Machines (JVMs). Working in this direction, we propose the Anaconda framework as a research platform to investigate the role Transactional Memory (TM) can play in this domain. Anaconda is a software transactional memory framework that supports clustering of multiple off-the-shelf JVMs on commodity clusters. The main focus of Anaconda is to investigate the implementation of Java synchronization primitives on clusters by relying on Transactional Memory. The traditional lock based Java primitives are replaced by memory transactions and the framework is responsible for ensuring transactional coherence. The contribution of this paper is to investigate which kind of TM coherency protocol can be used in this domain and compare the Anaconda framework against the state-of-the-art Terracotta clustering technology. Furthermore, Anaconda tracks TM conflicts at object granularity and provides distributed object replication and caching mechanisms. It supports existing TM coherence protocols while adding a novel decentralized protocol. The performance evaluation compares Anaconda against three existing TM protocols. Two of these are centralized, while the other is decentralized. In addition, we compare Anaconda against lock-based (coarse, medium grain) implementations of the benchmarks running on Terracotta. Anaconda´s performance varies amongst benchmarks, outperforming by 40 to 70% existing TM protocols. Compared to Terracotta, Anaconda exhibits from 19x speedup to 10x slowdown depending on the benchmark´s characteristics.
Keywords :
Java; distributed object management; storage management; transaction processing; virtual machines; Anaconda framework; Java primitives; Java synchronization; Java virtual machine; TM coherency protocol; Terracotta clustering technology; caching mechanism; commodity cluster; decentralized protocol; distributed object replication; nonHPC application; object granularity; off-the-shelf JVM; software transactional memory; transactional coherence; transparent clustering; Application software; Coherence; Computer science; Content management; Hardware; Java; Protocols; System recovery; Virtual machining; Distributed Software Transactional Memory; Java Virtual Machine Clustering; Multithreading; Parallel Computing;
Conference_Titel :
Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on
Conference_Location :
Atlanta, GA
Print_ISBN :
978-1-4244-6442-5
DOI :
10.1109/IPDPS.2010.5470460