ABSTRACT
This paper proposes efficient object-based implementations for Software Transactional Memory (stm). The proposed implementations are based on using multiple versions of the transactional objects to increase the concurrency of stm execution. In this work, we propose 3 algorithms for enhancing concurrency in stm. We also propose a new approach for determining the optimal number of versions to keep. Finally, we present experimental results that show the efficiency of the proposed implementations.
- U. Aydonat and T. Abdelrahman. Serializability of transactions in software transactional memory. In TRANSACT '08: 3rd Workshop on Transactional Computing, February 2008.Google Scholar
- P. A. Bernstein and N. Goodman. Multiversion concurrency control-theory and algorithms. ACM Trans. Database Syst., 8(4):465--483, Dec. 1983. Google ScholarDigital Library
- P. Felber, C. Fetzer, P. Marlier, and T. Riegel. Time-based software transactional memory. IEEE Transactions on Parallel and Distributed Systems (TPDS), 21(12):1793--1807, June 2010. Google ScholarDigital Library
- S. M. Fernandes and J. a. Cachopo. Lock-free and scalable multi-version software transactional memory. In Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP '11, pages 179--188, New York, USA, 2011. Google ScholarDigital Library
- H. Grahn. Transactional memory. J. Parallel Distrib. Comput., 70(10):993--1008, Oct. 2010. Google ScholarDigital Library
- R. Guerraoui, M. Herlihy, and B. Pochon. Polymorphic contention management. In Proceedings of the 19th International Conference on Distributed Computing, DISC'05, pages 303--323, Berlin, Heidelberg, 2005. Google ScholarDigital Library
- R. Guerraoui, M. Herlihy, and B. Pochon. Towards a theory of transactional contention managers. In Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing, PODC '06, pages 316--317, New York, NY, USA, 2006. Google ScholarDigital Library
- T. Härder. Observations on optimistic concurrency control schemes. Inf. Syst., 9(2):111--120, 1984. Google ScholarDigital Library
- T. Harris, A. Cristal, O. S. Unsal, E. Ayguadé, F. Gagliardi, B. Smith, and M. Valero. Transactional memory: An overview. IEEE Micro, 27(3):8--29, 2007. Google ScholarDigital Library
- T. Harris and K. Fraser. Language support for lightweight transactions. SIGPLAN Not., 38(11):388--402, Oct. 2003. Google ScholarDigital Library
- M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer, III. Software tansactional memory for dynamic-sized data structures. In Proceedings of the 22nd annual symposium on Principles of Distributed Computing, PODC '03, pages 92--101, New York, USA, 2003. Google ScholarDigital Library
- P. Kumar, S. Peri, and K. Vidyasankar. A timestamp based multi-version stm algorithm. In Distributed Computing and Networking, pages 212--226. 2014.Google ScholarDigital Library
- K. Olukotun and L. Hammond. The future of microprocessors. Queue, 3(7):26--29, Sept. 2005. Google ScholarDigital Library
- N. Shavit and D. Touitou. Software transactional memory. In Proceedings of the 14th annual ACM symposium on Principles of Distributed Computing, PODC '95, pages 204--213, New York, NY, USA, 1995. Google ScholarDigital Library
Index Terms
- A novel mechanism for enhancing software transactional memory
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 ...
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 ...
Unbounded page-based transactional memory
Proceedings of the 2006 ASPLOS ConferenceExploiting thread level parallelism is paramount in the multicore era. Transactions enable programmers to expose such parallelism by greatly simplifying the multi-threaded programming model. Virtualized transactions (unbounded in space and time) are ...
Comments