skip to main content
10.5555/1266366.1266370acmconferencesArticle/Chapter ViewAbstractPublication PagesdateConference Proceedingsconference-collections
Article

ATLAS: a chip-multiprocessor with transactional memory support

Published:16 April 2007Publication History

ABSTRACT

Chip-multiprocessors are quickly becoming popular in embedded systems. However, the practical success of CMPs strongly depends on addressing the difficulty of multithreaded application development for such systems. Transactional Memory (TM) promises to simplify concurrency management in multithreaded applications by allowing programmers to specify coarse-grain parallel tasks, while achieving performance comparable to fine-grain lock-based applications.

This paper presents ATLAS, the first prototype of a CMP with hardware support for transactional memory. ATLAS includes 8 embedded PowerPC cores that access coherent shared memory in a transactional manner. The data cache for each core is modified to support the speculative buffering and conflict detection necessary for transactional execution. We have mapped ATLAS to the BEE2 multi-FPGA board to create a full-system prototype that operates at 100MHz, boots Linux, and provides significant performance and ease-of-use benefits for a range of parallel applications. Overall, the ATLAS prototype provides an excellent framework for further research on the software and hardware techniques necessary to deliver on the potential of transactional memory.

References

  1. ARM11MPCore. http://www.arm.com/products/CPUs/ARM11MPCoreMultiprocessor.html.Google ScholarGoogle Scholar
  2. Fall processor forum: The road to multicore. http://www.instat.com/fpf/05/index05.htm.Google ScholarGoogle Scholar
  3. C. S. Ananian, K. Asanović, B. C. Kuszmaul, C. E. Leiserson, and S. Lie. Unbounded Transactional Memory. In Proc. of the 11th Intl. Symp. on High-Performance Computer Architecture (HPCA'05), pages 316--327, San Franscisco, California, February 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Arvind, K. Asanović, D. Chiou, J. C. Hoe, C. Kozyrakis, S. L. Lu, M. Oskin, D. Patterson, J. Rabaey, and J. Wawrzynek. RAMP: Research accelerator for multiple processors - a community vision for a shared experimental parallel HW/SW platform. Technical report, 2005.Google ScholarGoogle Scholar
  5. H. Chafi, C. Cao Minh, A. McDonald, B. D. Carlstrom, J. Chung, L. Hammond, C. Kozyrakis, and K. Olukotun. TAPE: A Transactional Application Profiling Environment. In ICS '05: Proc. of the 19th Ann. Intl. Conf. on Supercomputing, pages 199--208. June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Chang, J. Wawrzynek, and R. W. Brodersen. BEE2: A high-end reconfigurable computing system. IEEE Design and Test of Computers, 22(2): 114--125, Mar/Apr 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Chung, H. Chafi, C. Cao Minh, A. McDonald, B. D. Carlstrom, C. Kozyrakis, and K. Olukotun. The Common Case Transactional Behavior of Multithreaded Programs. In Proc. of the 12th Intl. Conf. on High-Performance Computer Architecture, February 2006.Google ScholarGoogle Scholar
  8. 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: Proc. of the 11th Intl. Conf. on Architectural support for programming languages and operating systems, pages 1--13, October 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 Proc. of the 31st Intl. Symp. on Computer Architecture, pages 102--113, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. A. Hankins, G. N. Chinya, J. D. Collins, P. H. Wang, R. Rakvic, H. Wang, and J. P. Shen. Multiple instruction stream processor. In ISCA '06: Proc. of the 33rd Intl. Symp. on Computer Architecture, pages 114--127, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Harris and K. Fraser. Language support for lightweight transactions. In OOPSLA '03: Proc. of the 18th Ann. ACM SIGPLAN Conf. on Object-oriented programing, systems, languages, and applications, pages 388--402, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Herlihy, V. Luchangco, M. Moir, and I. William N. Scherer. Software transactional memory for dynamic-sized data structures. In PODC '03: Proc. of the twenty-second Ann. Symp. on Principles of distributed computing, pages 92--101, July 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. of the 20th Intl. Symp. on Computer Architecture, pages 289--300, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Ito and et. al. Sh-mobileg 1: A single-chip application and dual-mode baseband processor. In Conf. Record of Hot Chips 18, 2006.Google ScholarGoogle Scholar
  15. S. Kaneko and et. al. A 600-mhz single-chip multiprocessor with 4.8-gb/s internal shared pipelined bus and 512-kb internal memory. IEEE Journal of Solid-State Circuits, 39(1):184--193, Jan. 2004.Google ScholarGoogle ScholarCross RefCross Ref
  16. B. Lewis and D. J. Berg. Multithreaded Programming with Pthreads. Prentice Hall, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. V. J. Marathe, W. N. Scherer III, and M. L. Scott. Adaptive Software Transactional Memory. In 19th Intl. Symp. on Distributed Computing, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 PACT '05: Proc. of the 14th Intl. Conf. on Parallel Architectures and Compilation Techniques, pages 63--74, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. E. Moore, J. Bobba, M. J. Moravan, M. D. Hill, and D. A. Wood. LogTM: Log-Based Transactional Memory. In 12th Intl. Conf. on High-Performance Computer Architecture, February 2006.Google ScholarGoogle Scholar
  20. R. Rajwar, M. Herlihy, and K. Lai. Virtualizing Transactional Memory. In ISCA '05: Proc. of the 32nd Ann. Intl. Symp. on Computer Architecture, pages 494--505, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. F. Ringenburg and D. Grossman. Atomcaml: first-class atomicity via rollback. In ICFP '05: Proc. of the tenth ACM SIGPLAN Intl. Conf. on Functional programming, pages 92--104, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. Cao Minh, and B. Hertzberg. A high performance software transactional memory system for a multi-core runtime. In PPoPP '06: Proc. of the eleventh ACM SIGPLAN Symp. on Principles and practice of parallel programming, March 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. N. Shavit and D. Touitou. Software transactional memory. In Proc. of the 14th Ann. ACM Symp. on Principles of Distributed Computing, pages 204--213, Ottawa, Canada, August 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Sutter. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb's Journal, 30(3), March 2005.Google ScholarGoogle Scholar
  25. S. Wee, J. Casper, N. Njoroge, Y. Teslyar, D. Ge, C. Kozyrakis, and K. Olukotun. A practical fpga-based framework for novel cmp research. In FPGA '06: Proc. of the 2006 ACM/SIGDA 14th Intl. Symp. on Field programmable gate arrays, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Welc, S. Jagannathan, and A. L. Hosking. Transactional monitors for concurrent objects. In M. Odersky, editor, Proc. of the European Conf. on Object-Oriented Programming, volume 3086 of Lecture Notes in Computer Science, pages 519--542. Springer-Verlag, 2004.Google ScholarGoogle Scholar
  27. S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH2 Programs: Characterization and Methodological Considerations. In Proc. of the 22nd Intl. Symp. on Computer Architecture, pages 24--36, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. ATLAS: a chip-multiprocessor with transactional memory support

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              DATE '07: Proceedings of the conference on Design, automation and test in Europe
              April 2007
              1741 pages
              ISBN:9783981080124

              Publisher

              EDA Consortium

              San Jose, CA, United States

              Publication History

              • Published: 16 April 2007

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              Overall Acceptance Rate518of1,794submissions,29%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader