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
ASPLOS XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systemsExploiting 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