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.
- ARM Ltd. The advanced microcontroller bus architecture (AMBA) homepage. www.arm.com/products/solutions/AMBAHomePage.html.Google Scholar
- C. S. Ananian, K. Asanovic, B. C. Duszmaul, C. E. Leiserson, and S. Lie. Unbounded transactional memory. In HPCA, pages 316--327, 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- MPCore multiprocessor family. www.arm.com.Google Scholar
- 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 ScholarDigital Library
- L. Benini and G. D. Micheli. Networks on chip: a new SoC paradigm. IEEE Computer, 35(1), January 2002. Google ScholarDigital Library
- S. Borkar and et al. Platform 2015: Intel processor and platform evolution for the next decade. Technical report, Intel, 2005. White Paper.Google Scholar
- G. Declerck. A look into the future of nanoelectronics. In IEEE Symposium on VLSI Technology, pages 6--10, 2005.Google ScholarCross Ref
- T. Harris and K. Fraser. Language Support for Lightweight Transactions. In Conference on Object-Oriented Programming Systems, Languages and Applications, October 2003. Google ScholarDigital Library
- T. Harris, S. Marlowe, S. Peyton-Jones, and M. Herlihy. Composable memory transactions. In Principles and Practice of Parallel Programming (PPOPP), 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- V. Marathe, W. Scherer, and M. Scott. Adaptive software transactional memory. Technical Report TR 868, Computer Science Department, University of Rochester, May 2005.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Philips nexperia platform. www.semiconductors.philips.com.Google Scholar
- PC205 platform. www.picochip.com.Google Scholar
- 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 ScholarDigital Library
- R. Rajwar, M. Herlihy, and K. Lai. Virtualizing Transactional Memory. In International Symposium on Computer Architecture, June 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.Google Scholar
- 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 ScholarDigital Library
- Nomadik platform. www.st.com.Google Scholar
- STMicroelectronics. www.stm.com.Google Scholar
- OMAP5910 platform. www.ti.com.Google Scholar
Index Terms
- A hardware/software framework for supporting transactional memory in a MPSoC environment
Recommendations
Supporting nested transactional memory in logTM
Proceedings of the 2006 ASPLOS ConferenceNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel ...
Time-Based Software Transactional Memory
Software transactional memory (STM) is a concurrency control mechanism that is widely considered to be easier to use by programmers than other mechanisms such as locking. The first generations of STMs have either relied on visible read designs, which ...
Supporting nested transactional memory in logTM
Proceedings of the 2006 ASPLOS ConferenceNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel ...
Comments