skip to main content
article

A hardware/software framework for supporting transactional memory in a MPSoC environment

Published:01 March 2007Publication History
Skip Abstract Section

Abstract

Manufacturers are focusing on multiprocessor-system-on-a-chip (MPSoC) architectures in order to provide increased concurrency, rather than increased clock speed, for both large-scale as well as embedded systems. Traditionally lock-based synchronization is provided to support concurrency; however, managing locks can be very difficult and error prone. In addition, the performance and power cost of lock-based synchronization can be high. Transactional memories have been extensively investigated as an alternative to lock-based synchronization in general-purpose systems. It has been shown that transactional memory has advantages over locks in terms of ease of programming, performance and energy consumption. However, their applicability to embedded multi-core platforms has not been explored yet. In this paper, we demonstrate a complete hardware transactional memory solution for an embedded multi-core architecture, consisting of a cache-coherent ARM-based cluster, similar to ARM's MPCore. Using cycle accurate power and performance models for the transactional memory hardware, we evaluate our architectural framework over a set of different system and application settings, and show that transactional memory is a promising solution, even for resource-constrained embedded multiprocessors.

References

  1. ARM Ltd. The advanced microcontroller bus architecture (AMBA) homepage. www.arm.com/products/solutions/AMBAHomePage.html.Google ScholarGoogle Scholar
  2. C. S. Ananian, K. Asanovic, B. C. Duszmaul, C. E. Leiserson, and S. Lie. Unbounded transactional memory. In HPCA, pages 316--327, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. S. Ananian, K. Asanovic, B. C. Kuszmaul, C. E. Leiserson, and S. Lie. Unbounded Transactional Memory. In International Symposium on High-Performance Computer Architecture, February 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Angiolini, J. Ceng, R. Leupers, F. Ferrari, C. Ferri, and L. Benini. An integrated open framework for heterogeneous MPSoC design space exploration. In DATE '06: Proceedings of the conference on Design, automation and test in Europe, pages 1145--1150, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. MPCore multiprocessor family. www.arm.com.Google ScholarGoogle Scholar
  6. R. Banakar, S. Steinke, B.-S. Lee, M. Balakrishnan, and P. Marwedel. Scratchpad memory: design alternative for cache on-chip memory in embedded systems. In CODES '02: Proceedings of the tenth international symposium on Hardware/software codesign, pages 73--78, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. Benini and G. D. Micheli. Networks on chip: a new SoC paradigm. IEEE Computer, 35(1), January 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Borkar and et al. Platform 2015: Intel processor and platform evolution for the next decade. Technical report, Intel, 2005. White Paper.Google ScholarGoogle Scholar
  9. G. Declerck. A look into the future of nanoelectronics. In IEEE Symposium on VLSI Technology, pages 6--10, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  10. T. Harris and K. Fraser. Language Support for Lightweight Transactions. In Conference on Object-Oriented Programming Systems, Languages and Applications, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Harris, S. Marlowe, S. Peyton-Jones, and M. Herlihy. Composable memory transactions. In Principles and Practice of Parallel Programming (PPOPP), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Herlihy, V. Luchangco, M. Moir, and W. Scherer. Software Transactional Memory for Dynamic-Sized Data Structures. In Symposium on Principles of Distributed Computing, 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 International Symposium on Computer Architecture, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Loghi, F. Angiolini, D. Bertozzi, L. Benini, and R. Zafalon. Analyzing on-chip communication in a MPSoC environment. In Design and Test in Europe Conference (DATE), pages 752--757, February 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Marathe, W. Scherer, and M. Scott. Adaptive software transactional memory. Technical Report TR 868, Computer Science Department, University of Rochester, May 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. F. Martínez and J. Torrellas. Speculative Synchronization: Applying Thread-Level Speculation to Explicitly Parallel Applications. In International Conference on Architectural Support for Programming Languages and Operating Systems, October 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Moir. Practical implementations of non-blocking synchronization primitives. In Proc. 16th Annual ACM Symposium on Principles of Distributed Computing, pages 219--228, New York, NY, USA, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. E. Moore, J. Bobba, M. J. Moravan, M. D. Hill, and D. A. Wood. LogTM: Log-based transactional memory. In International Symposium on High-Performance Computer Architecture, February 2006.Google ScholarGoogle ScholarCross RefCross Ref
  19. T. Moreshet, R. I. Bahar, and M. Herlihy. Energy-Aware Microprocessor Synchronization: Transactional Memory vs. Locks. In Workshop on Memory Performance Issues, February 2006. in conjunction with HPCA.Google ScholarGoogle Scholar
  20. J. Nakano, P. Montesinos, K. Gharachorloo, and J. Torrellas. ReVive/IO: Efficient handling of i/o in highly-available rollback-recovery servers. In International Symposium on High-Performance Computer Architecture, February 2006.Google ScholarGoogle ScholarCross RefCross Ref
  21. J. Oplinger and M. S. Lam. Enhancing Software Reliability with Speculative Threads. In International Conference on Architectural Support for Programming Languages and Operating Systems, October 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. G. Paulin, C. Pilkington, M. Langevin, E. Bensoudane, D. Lyonnard, O. Benny, B. Lavigueur, D. Lo, G. Beltrame, V. Gagné, and G. Nicolescu. Parallel programming models for a multiprocessor platform applied to networking and multimedia. IEEE Transactions on VLSI Systems, 14(7):667--680, July 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Philips nexperia platform. www.semiconductors.philips.com.Google ScholarGoogle Scholar
  24. PC205 platform. www.picochip.com.Google ScholarGoogle Scholar
  25. R. Rajwar and J. Goodman. Transactional Lock-Free Execution of Lock-Based Programs. In International Conference on Architectural Support for Programming Languages and Operating Systems, October 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. Rajwar, M. Herlihy, and K. Lai. Virtualizing Transactional Memory. In International Symposium on Computer Architecture, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. P. Rundberg and P. Stenström. Speculative Lock Reordering: Optimistic Out-of-Order Execution of Critical Sections. In International Parallel and Distributed Processing Symposium, April 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.Google ScholarGoogle Scholar
  29. D. J. Sorin, M. M. K. Martin, M. D. Hill, and D. A. Wood. SafetyNet: Improving the availability of shared memory multiprocessors with global checkpoint/recovery. In International Symposium on Computer Architecture, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Nomadik platform. www.st.com.Google ScholarGoogle Scholar
  31. STMicroelectronics. www.stm.com.Google ScholarGoogle Scholar
  32. OMAP5910 platform. www.ti.com.Google ScholarGoogle Scholar

Index Terms

  1. A hardware/software framework for supporting transactional memory in a MPSoC environment

                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

                Full Access

                • Published in

                  cover image ACM SIGARCH Computer Architecture News
                  ACM SIGARCH Computer Architecture News  Volume 35, Issue 1
                  March 2007
                  153 pages
                  ISSN:0163-5964
                  DOI:10.1145/1241601
                  Issue’s Table of Contents

                  Copyright © 2007 Authors

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 1 March 2007

                  Check for updates

                  Qualifiers

                  • article

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader