skip to main content
article

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

Published: 01 March 2007 Publication History

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.
[2]
C. S. Ananian, K. Asanovic, B. C. Duszmaul, C. E. Leiserson, and S. Lie. Unbounded transactional memory. In HPCA, pages 316--327, 2005.
[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.
[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.
[5]
MPCore multiprocessor family. www.arm.com.
[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.
[7]
L. Benini and G. D. Micheli. Networks on chip: a new SoC paradigm. IEEE Computer, 35(1), January 2002.
[8]
S. Borkar and et al. Platform 2015: Intel processor and platform evolution for the next decade. Technical report, Intel, 2005. White Paper.
[9]
G. Declerck. A look into the future of nanoelectronics. In IEEE Symposium on VLSI Technology, pages 6--10, 2005.
[10]
T. Harris and K. Fraser. Language Support for Lightweight Transactions. In Conference on Object-Oriented Programming Systems, Languages and Applications, October 2003.
[11]
T. Harris, S. Marlowe, S. Peyton-Jones, and M. Herlihy. Composable memory transactions. In Principles and Practice of Parallel Programming (PPOPP), 2005.
[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.
[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.
[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.
[15]
V. Marathe, W. Scherer, and M. Scott. Adaptive software transactional memory. Technical Report TR 868, Computer Science Department, University of Rochester, May 2005.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[23]
Philips nexperia platform. www.semiconductors.philips.com.
[24]
PC205 platform. www.picochip.com.
[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.
[26]
R. Rajwar, M. Herlihy, and K. Lai. Virtualizing Transactional Memory. In International Symposium on Computer Architecture, June 2005.
[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.
[28]
N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.
[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.
[30]
Nomadik platform. www.st.com.
[31]
STMicroelectronics. www.stm.com.
[32]
OMAP5910 platform. www.ti.com.

Cited By

View all
  • (2015)A Predictable Transactional Memory Architecture with Selective Conflict Resolution for Mixed-Criticality Support in MPSoCsProceedings of the 2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing (EUC)10.1109/EUC.2015.11(158-162)Online publication date: 21-Oct-2015
  • (2014)$C\!\!-\!\!Lock$IEEE Transactions on Computers10.1109/TC.2013.8463:8(1962-1974)Online publication date: 1-Aug-2014
  • (2012)Reconciling fault-tolerant distributed computing and systems-on-chipDistributed Computing10.1007/s00446-011-0151-724:6(323-355)Online publication date: 1-Jan-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2007
Published in SIGARCH Volume 35, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2015)A Predictable Transactional Memory Architecture with Selective Conflict Resolution for Mixed-Criticality Support in MPSoCsProceedings of the 2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing (EUC)10.1109/EUC.2015.11(158-162)Online publication date: 21-Oct-2015
  • (2014)$C\!\!-\!\!Lock$IEEE Transactions on Computers10.1109/TC.2013.8463:8(1962-1974)Online publication date: 1-Aug-2014
  • (2012)Reconciling fault-tolerant distributed computing and systems-on-chipDistributed Computing10.1007/s00446-011-0151-724:6(323-355)Online publication date: 1-Jan-2012
  • (2011)Using multiple abstraction levels to speedup an MPSoC virtual platform simulator2011 22nd IEEE International Symposium on Rapid System Prototyping10.1109/RSP.2011.5929982(99-105)Online publication date: May-2011
  • (2010)How to Speed-Up Fault-Tolerant Clock Generation in VLSI Systems-on-Chip via PipeliningProceedings of the 2010 European Dependable Computing Conference10.1109/EDCC.2010.35(230-239)Online publication date: 28-Apr-2010
  • (2010)Embedded-TMJournal of Parallel and Distributed Computing10.1016/j.jpdc.2010.02.00370:10(1042-1052)Online publication date: 1-Oct-2010
  • (2009)Software transactional memory for multicore embedded systemsACM SIGPLAN Notices10.1145/1543136.154246544:7(90-98)Online publication date: 19-Jun-2009
  • (2009)Software transactional memory for multicore embedded systemsProceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems10.1145/1542452.1542465(90-98)Online publication date: 19-Jun-2009
  • (2008)Energy efficient synchronization techniques for embedded architecturesProceedings of the 18th ACM Great Lakes symposium on VLSI10.1145/1366110.1366213(435-440)Online publication date: 4-May-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media