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.
- ARM11MPCore. http://www.arm.com/products/CPUs/ARM11MPCoreMultiprocessor.html.Google Scholar
- Fall processor forum: The road to multicore. http://www.instat.com/fpf/05/index05.htm.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 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 Proc. of the 31st Intl. Symp. on Computer Architecture, pages 102--113, June 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- B. Lewis and D. J. Berg. Multithreaded Programming with Pthreads. Prentice Hall, 1998. Google ScholarDigital Library
- 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 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 PACT '05: Proc. of the 14th Intl. Conf. on Parallel Architectures and Compilation Techniques, pages 63--74, September 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 12th Intl. Conf. on High-Performance Computer Architecture, February 2006.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- H. Sutter. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb's Journal, 30(3), March 2005.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- ATLAS: a chip-multiprocessor with transactional memory support
Recommendations
Atlas: leveraging locks for non-volatile memory consistency
OOPSLA '14Non-volatile main memory, such as memristors or phase change memory, can revolutionize the way programs persist data. In-memory objects can themselves be persistent without the need for a separate persistent data storage format. However, the challenge ...
Atlas: leveraging locks for non-volatile memory consistency
OOPSLA '14: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & ApplicationsNon-volatile main memory, such as memristors or phase change memory, can revolutionize the way programs persist data. In-memory objects can themselves be persistent without the need for a separate persistent data storage format. However, the challenge ...
Comments