ABSTRACT
Distributed transactional memory (DTM) presents itself as a highly expressive and programmer friendly model for concurrency control in distributed programming. Current DTM systems make use of both data distribution and replication as a way of providing scalability and fault tolerance, but both techniques have advantages and drawbacks. As such, each one is suitable for different target applications, and deployment environments. In this paper we address the support of different data replication models in DTM. To that end we propose ReDstm, a modular and non-intrusive framework for DTM, that supports multiple data replication models in a general purpose programming language (Java). We show its application in the implementation of distributed software transactional memories with different replication models, and evaluate the framework via a set of well-known benchmarks, analysing the impact of the different replication models on memory usage and transaction throughput.
- D. Agrawal et al. Exploiting atomic broadcast in replicated databases. In Euro-Par, 1997. Google ScholarDigital Library
- Bela Ban. JGroups - A Toolkit for Reliable Multicast Communication. http://www.jgroups.org, 2013.Google Scholar
- J. Cachopo et al. Versioned boxes as the basis for memory transactions. Sci. Comput. Program., 2006. Google ScholarDigital Library
- M. Couceiro et al. D2STM: Dependable distributed software transactional memory. In PRDC, 2009. Google ScholarDigital Library
- R. J. Dias et al. Efficient support for in-place metadata in Java software transactional memory. Concurrency and Computation: Practice and Experience, 2013.Google ScholarCross Ref
- D. Dice et al. Transactional locking II. In DISC, 2006. Google ScholarDigital Library
- E. Gamma et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. 2004. Google ScholarDigital Library
- B. Kemme et al. A suite of database replication protocols based on group communication primitives. In ICDCS, 1998. Google ScholarDigital Library
- J. Kim et al. Scheduling transactions in replicated distributed software transactional memory. In CCGRID, 2013.Google Scholar
- G. Korland et al. Deuce: Noninvasive software transactional memory in Java. Transactions on HiPEAC, 2010.Google Scholar
- C. Kotselidis et al. DiSTM: A software transactional memory framework for clusters. In ICPP, 2008. Google ScholarDigital Library
- C. C. Minh et al. Stamp: Stanford transactional applications for multiprocessing. In IISWC, 2008.Google Scholar
- S. Peluso et al. Score: A scalable one-copy serializable partial replication protocol. In Middleware. 2012. Google ScholarDigital Library
- S. Peluso et al. When scalability meets consistency: Genuine multiversion update-serializable partial data replication. In ICDCS, 2012. Google ScholarDigital Library
- M. M. Saad et al. Hyflow: A high performance distributed software transactional memory framework. In HPDC, 2011. Google ScholarDigital Library
- N. Schiper et al. P-store: Genuine partial replication in wide area networks. In SRDS, 2010. Google ScholarDigital Library
- D. Serrano et al. Boosting database replication scalability through partial replication and 1-copy-snapshot-isolation. In PRDC, 2007. Google ScholarDigital Library
- N. Shavit et al. Software transactional memory. In PODC, 1995. Google ScholarDigital Library
- Transaction Processing Performance Counsil. TPC Benchmark W. http://www.tpc.org/tpcw, 2013.Google Scholar
- A. Turcu et al. Hyflow2: A high performance distributed transactional memory framework in Scala. In PPPJ, 2013. Google ScholarDigital Library
Index Terms
- Supporting Multiple Data Replication Models in Distributed Transactional Memory
Recommendations
Analysis of Replication in Distributed Database Systems
The authors develop an approximate analytical model to study the tradeoffs of replicating data in a distributed database environment. Several concurrency control protocols are considered, including pessimistic, optimistic, and semi-optimistic protocols. ...
Exploiting distributed version concurrency in a transactional memory cluster
PPoPP '06: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programmingWe investigate a transactional memory runtime system providing scaling and strong consistency, i.e., 1-copy serializability on commodity clusters for both distributed scientific applications and database applications. We introduce a novel page-level ...
Scheduling Closed-Nested Transactions in Distributed Transactional Memory
IPDPS '12: Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing SymposiumDistributed software transactional memory (D-STM) is an emerging, alternative concurrency control model for distributed systems that promises to alleviate the difficulties of lock-based distributed synchronization -- e.g., distributed deadlocks, live ...
Comments