ABSTRACT
The recent architectural trend that has lead to the widespread adoption of multi-core CPUs has fostered a remarkable research interest in Software Transactional Memory (STM). As STMs are starting to face the high availability and scalability requirements of real-world production environments, it is natural to foresee the need for replication solutions specifically tailored for STMs. Since databases and STMs share the same key abstraction of atomic transaction, one could wonder whether the mechanisms originally designed for database replication could be successfully and seamlessly exploited also to support replication of STM systems.
This paper seeks an answer to this question, highlighting some critical performance issues related to the application of state of the art database replication techniques in the context of STM systems, and presenting some of our recent research directions aimed at designing and implementing high performance replication strategies able to meet the unique requirements of STMs.
- An evaluation of the amoeba group communication system. In Proce. of the 16th International Conference on Distributed Computing Systems, page 436, Washington, DC, USA, 1996. IEEE Computer Society. Google ScholarDigital Library
- A.-R. Adl-Tabatabai, C. Kozyrakis, and B. Saha. Unlocking concurrency. ACM Queue, 4(10):24--33, 2007. Google ScholarDigital Library
- D. Agrawal, G. Alonso, A. E. Abbadi, and I. Stanoi. Exploiting atomic broadcast in replicated databases (extended abstract). In Proc. of the Third International Euro-Par Conference on Parallel Processing, pages 496--503, London, UK, 1997. Springer-Verlag. Google ScholarDigital Library
- Y. Amir, C. Danilov, and J. Stanton. A low latency, loss tolerant architecture and protocol for wide area group communication. In Proceedings of the International Conference on Dependable Systems and Networks (DSN), June 2000. Google ScholarDigital Library
- B. H. Bloom. Space/time trade-offs in hash coding with allowable errors. Commun. ACM, 13(7):422--426, 1970. Google ScholarDigital Library
- J. Cachopo and A. Rito-Silva. Combining software transactional memory with a domain modeling language to simplify web application development. In 6th International Conference on Web Engineering, pages 297--304, July 2006. Google ScholarDigital Library
- N. Carvalho, J. Cachopo, L. Rodrigues, and R. S. A. Versioned transactional shared memory for the FenixEDU web application. In Proc. of the Second Workshop on Dependable Distributed Data Management (in conjunction with Eurosys 2008), Glasgow, Scotland, Mar. 2008. ACM. Google ScholarDigital Library
- E. Cecchet, J. Marguerite, and W. Zwaenepole. C-JDBC: flexible database clustering middleware. In Proc. of the USENIX Annual Technical Conference, pages 26--26, Berkeley, CA, USA, 2004. USENIX Association. Google ScholarDigital Library
- A. J. Correia, J. O. Pereira, L. Rodrigues, N. M. R. Carvalho, R. Vilaça, R. Oliveira, and S. Guedes. GORDA: An open architecture for database replication. In Proc. of the 6th International Symposium on Network Computing and Applications, pages 287--290, Boston, MA, USA, july 2007. IEEE, IEEE.Google ScholarCross Ref
- D. Powell (ed.). Special Issue on Group Communication, volume 39. ACM, 1996. Google ScholarDigital Library
- X. Defago, A. Schiper, and P. Urban. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys, 36(4):372--421, 2004. Google ScholarDigital Library
- J. Gray, P. Helland, P. O'Neil, and D. Shasha. The dangers of replication and a solution. In Proc. of the 25th Conference on the Management of Data (SIGMOD), pages 173--182. ACM, 1996. Google ScholarDigital Library
- R. Guerraoui, M. Kapalka, and J. Vitek. STMBench7: a benchmark for software transactional memory. SIGOPS Oper. Syst. Rev., 41(3):315--324, 2007. Google ScholarDigital Library
- R. Guerraoui, R. R. Levy, B. Pochon, and V. Quema. High throughput total order broadcast for cluster environments. In Proc. of the International Conference on Dependable Systems and Networks, pages 549--557, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarDigital Library
- R. Guerraoui and L. Rodrigues. Introduction to Reliable Distributed Programming. Springer, 2006. Google ScholarDigital Library
- B. Kemme and G. Alonso. A suite of database replication protocols based on group communication primitives. In Proc. of the The 18th International Conference on Distributed Computing Systems, page 156, Washington, DC, USA, 1998. IEEE Computer Society. Google ScholarDigital Library
- B. Kemme, F. Pedone, G. Alonso, and A. Schiper. Processing transactions over optimistic atomic broadcast protocols. In Proc. of the 19th IEEE International Conference on Distributed Computing Systems, page 424, Washington, DC, USA, 1999. IEEE Computer Society. Google ScholarDigital Library
- H. Miranda, A. Pinto, and L. Rodrigues. Appia, a flexible protocol kernel supporting multiple coordinated channels. In Proc. 21st IEEE International Conference on Distributed Computing Systems, pages 707--710, Phoenix, Arizona, Apr. 2001. IEEE. Google ScholarDigital Library
- M. Patino-Martínez, R. Jiménez-Peris, B. Kemme, and G. Alonso. Scalable replication in database clusters. In Proc. of the 14th International Conference on Distributed Computing, pages 315--329, London, UK, 2000. Springer-Verlag. Google ScholarDigital Library
- F. Pedone, R. Guerraoui, and A. Schiper. The database state machine approach. Distributed and Parallel Databases, 14(1):71--98, 2003. Google ScholarDigital Library
- L. Rodrigues, H. Miranda, R. Almeida, J. Martins, and P. Vicente. The GlobData fault-tolerant replicated distributed object database. In Proc. of the First EurAsian Conference on Information and Communication Technology, pages 426--433, London, UK, 2002. Springer-Verlag. Google ScholarDigital Library
- P. Romano, L. Rodrigues, and N. Carvalho. The weak mutual exclusion problem. In Proc. 23rd IEEE International Parallel and Distributed Processing Symposium. IEEE Computer Society Press, to appear. Google ScholarDigital Library
- F. B. Schneider. Replication management using the state-machine approach. ACM Press/Addison-Wesley Publishing Co., 1993.Google Scholar
- Transaction Processing Performance Council. TPC Benchmark#8482; W, Standard Specification, Version 1.8. Transaction Processing Perfomance Council, 2002.Google Scholar
Index Terms
- Towards distributed software transactional memory systems
Recommendations
Time-Based Software Transactional Memory
Software transactional memory (STM) is a concurrency control mechanism that is widely considered to be easier to use by programmers than other mechanisms such as locking. The first generations of STMs have either relied on visible read designs, which ...
An efficient software transactional memory using commit-time invalidation
CGO '10: Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimizationTo improve the performance of transactional memory (TM), researchers have found many eager and lazy optimizations for conflict detection, the process of determining if transactions can commit. Despite these optimizations, nearly all TMs perform one ...
Open nesting in software transactional memory
PPoPP '07: Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programmingTransactional memory (TM) promises to simplify concurrent programming while providing scalability competitive to fine-grained locking. Language-based constructs allow programmers to denote atomic regions declaratively and to rely on the underlying ...
Comments