ABSTRACT
Exploiting 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 desirable, as they can increase the scope of transactions' use, and thereby further simplify a programmer's job. However, hardware support is essential to support efficient execution of unbounded transactions. In this paper, we introduce Page-based Transactional Memory to support unbounded transactions. We combine transaction bookkeeping with the virtual memory system to support fast transaction conflict detection, commit, abort, and to maintain transactions' speculative data.
- C.S. Ananian, K. Asanovic, B.C. Kuszmaul, C.E. Leiserson, and S. Lie. Unbounded transactional memory. In HPCA '05: Proceedings of the 11th International Symposium on High-Performance Computer Architecture, pages 316--327, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
- A. Chang and M.F. Mergen. 801 storage: Architecture and programming. ACM Transactions on Computer Systems, 6(1):28--50, 1988. Google ScholarDigital Library
- J. Chung, H. Chafi, C.C. Minh, A. McDonald, B.D. Carlstrom, C. Kozyrakis, and K. Olukotun. The common case transactional behavior of multithreaded programs. In HPCA '06: Proceedings of the 12th International Symposium on High-Performance Computer Architecture, Washington, DC, USA, 2006. IEEE Computer Society.Google Scholar
- C. Dubnicki and T.J. LeBlanc. Adjustable block size coherent caches. In Proceedings of the 19th International Symposium on Computer Architecture, Gold Coast, Australia, 1992. Google ScholarDigital Library
- J.N. Gray. Operating Systems: An Advanced Course, chapter Notes on Database Operating Systems, pages 393--481. Springer-Verlag, Berlin, 1978. R. Bayer, R.M. Graham, and G. Seegmuller, editors. Google ScholarDigital Library
- L. Hammond, B.D. Carlstrom, V. Wong, M. Chen, C. Kozyrakis, and K. Olukotun. Transactional coherence and consistency: Simplifying parallel hardware and software. Mico's Top Picks, IEEE Micro, 24(6), nov/dec 2004. Google ScholarDigital Library
- L. Hammond, B.D. Carlstrom, V. Wong, B. Hertzberg, M. Chen, C. Kozyrakis, and K. Olukotun. Programming with transactional coherence and consistency (tcc). In ASPLOS-XI: Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, pages 1--13, New York, NY, USA, 2004. ACM Press. Google ScholarDigital Library
- L. Hammond, M. Willey, and K. Olukotun. Data speculation support for a chip multiprocessor. ACM SIGOPS Operating Systems Review, 32(5):58--69, 1998. Google ScholarDigital Library
- L. Hammond, V. Wong, M. Chen, B.D. Carlstrom, J.D. Davis, B. Hertzberg, M.K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, page 102. IEEE Computer Society, Jun 2004. Google ScholarDigital Library
- T. Harris, M. Plesko, A. Shinnar, and D. Tarditi. Optimizing memory transactions. In PLDI-06 Programming Languages Design and Implementation, pages 14--25. ACM Press, 2006. Google ScholarDigital Library
- M. Herlihy and J.E.B. Moss. Transactional memory: architectural support for lock-free data structures. In ISCA '93: Proceedings of the 20th annual international symposium on Computer architecture, pages 289--300, New York, NY, USA, 1993. ACM Press. Google ScholarDigital Library
- S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hållberg, J. Högberg, F. Larsson, A. Moestedt, and B. Werner. Simics: A full system simulation platform. IEEE Computer, 35(2):50--58, 2002. Google ScholarDigital Library
- A. McDonald, J. Chung, H. Chafi, C. Cao Minh, B.D. Carlstrom, L. Hammond, C. Kozyrakis, and K. Olukotun. Characterization of tcc on chip-multiprocessors. In Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques, Sept 2005. Google ScholarDigital Library
- K.E. Moore, J. Bobba, M.J. Moravan, M.D. Hill, and D.A. Wood. Logtm: Log-based transactional memory. In HPCA '06: Proceedings of the 12th International Symposium on High-Performance Computer Architecture, Washington, DC, USA, 2006. IEEE Computer Society.Google ScholarCross Ref
- R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional memory. SIGARCH Comput. Archit. News, 33(2):494--505, 2005. Google ScholarDigital Library
- J. Torrellas, M.S. Lam, and J.L. Hennessy. False sharing and spatial locality in multiprocessor caches. IEEE Trans. Computers, 43(6):651--663, 1994. Google ScholarDigital Library
- S.C. Woo, M. Ohara, E. Torrie, J.P. Singh, and A. Gupta. The splash-2 programs: Characterization and methodological considerations. In 22nd Annual International Symposium on Computer Architecture, pages 24--36. Association for Computing Machinery, 1995. Google ScholarDigital Library
- C. Zilles and L. Baugh. Extending hardware transactional memory to support non-busy waiting and nontransactional actions. In TRANSACT: First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, June 2006.Google Scholar
Index Terms
- Unbounded page-based transactional memory
Recommendations
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 ...
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 ...
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