Abstract
Chip multiprocessor (CMP) has been the mainstream of processor design with the progress in semiconductor technology. It provides higher concurrency for the threads compared with the traditional single-core processor. Lock-based synchronization of multi-threads has been proved as an inefficient approach with high overhead. The previous works show that TM is an efficient solution to solve the synchronization of multi-threads. This paper presents SPMTM, a novel on-chip memory based nested TM framework. The on-chip memory used in this framework is not cache but scratchpad memory (SPM), which is software-controlled SRAM on chip. TM information will be stored in SPM to enhance the access speed and reduce the power consumption in SPMTM. Experimental results show that SPMTM can obtain average 16.3% performance improvement of the benchmarks compared with lock-based synchronization and with the increase in the number of processor core, the performance improvement is more significant.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Nayfeh, B.A., Olukotun, K.: A single-chip multiprocessor. IEEE Computer 30(9), 79–85 (1997)
Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N.: Software transactional memory for dynamic-sized data structures. In: The twenty-second annual symposium on Principles of distributed computing (PODC 2003), pp. 92–101. ACM Press, New York (2003)
Larus, J.R., Rajwar, R.: Transactional Memory. Morgan and Claypool (2007)
Shavit, N., Touitou, D.: Software transactional memory. Distributing Computing 10, 99–116 (1997)
Blundell, C., Devietti, J., Lewis, E.C., Martin, M.K.: Making the fast case common and the uncommon case simple in unbounded transactional memory. In: The 34th Annual International Symposium on Computer Architecture (ISCA 2007), San Diego, California, USA, pp. 24–34 (2007)
Bobba, J., Moore, K.E., Volos, H., Yen, L.: Performance pathologies in hardware transactional memory. In: The 34th Annual International Symposium on Computer Architecture (ISCA 2007), San Diego, California, USA, pp. 81–91 (2007)
Herlihy, M., Moss, J.: Transactional memory: Architectural support for lock-free data structures. In: The Twentieth Annual International Symposium on Computer Architecture (ISCA 1993), San Diego, California, United States, pp. 289–300 (1993)
Sanchez, D., Yen, L., Hill, M.D., Sankaralinga, K.: Implementing Signatures for Transactional Memory. In: The 40th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 123–133. IEEE Computer Society, Los Alamitos (2007)
Agrawal, K., Leiserson, C.E., Sukha, J.: Memory models for open-nested transactions. In: The 2006 workshop on Memory system performance and correctness, San Jose, California, pp. 70–81. ACM Press, New York (2006)
Saha, B., Adl-Tabatabai, A.R., Jacobson, Q.: Architectural Support for Software Transactional Memory. In: The 39th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 185–196. IEEE Computer Society, Los Alamitos (2006)
Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: The 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, San Francisco, California, USA, pp. 63–74. ACM Press, New York (2008)
Scherer, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: The twenty-fourth annual ACM symposium on Principles of distributed computing, Las Vegas, NV, USA, pp. 240–248 (2005)
Riegel, T., Fetzer, C., Felber, P.: Time-based transactional memory with scalable time bases. In: The nineteenth annual ACM symposium on Parallel algorithms and architectures, San Diego, California, USA, pp. 221–228 (2007)
Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: The 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, Salt Lake City, UT, USA, pp. 237–246 (2008)
Shriraman, A., Spear, M.F., Hossain, H.: An integrated hardware-software approach to flexible transactional memory. In: The 34th annual international symposium on Computer architecture (ISCA 2007), San Diego, California, USA, pp. 104–115 (2007)
Chung, J.W., Minh, C.C., McDonald, A., et al.: Tradeoffs in transactional memory virtualization. In: Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2006), San Jose, California, USA, pp. 371–381 (2006)
Kumar, S., Chu, M., Hughes, C.J., et al.: Hybrid transactional memory. In: The eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP 2006), New York, USA, pp. 209–220 (2006)
Moravan, M.J., Bobba, J., Moore, K.E., et al.: Supporting nested transactional memory in logTM. In: Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2006), San Jose, California, USA, pp. 359–370 (2006)
Ananian, C.S., Asanovic, C., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded Transactional Memory. In: The 11th International Symposium on High-Performance Computer Architecture (HPCA-11 2005), pp. 316–327 (2005)
Avissar, O., et al.: An optimal memory allocation scheme for scratch-pad-based embedded systems. ACM Trans. on Embedded Computing Sys. 1(1), 6–26 (2002)
Delaluz, V., et al.: Energy-Oriented Compiler Optimizations for Partitioned Memory Architectures. In: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pp. 138–147. ACM Press, New York (2000)
Banakar, R., et al.: Scratchpad memory: A design alternative for cache on-chip memory in embedded systems. In: 10th International Symposium on Hardware/Software Codesign (CODES), pp. 73–78. ACM Press, New York (2002)
Hammond, L., Wong, V., Chen, M., Carlstrom, B.D., et al.: Transactional Memory Coherence and Consistency. In: The 31st annual international symposium on Computer architecture, pp. 102–113 (2005)
Minh, C.C., Trautmann, M., Chung, J.W., McDonald, A., et al.: An effective hybrid transactional memory system with strong isolation guarantees. In: The 34th annual international symposium on Computer architecture, San Diego, California, USA, pp. 69–80 (2007)
McDonald, A., Chung, J.W., Carlstrom, B.D., Minh, C.C.: Architectural Semantics for Practical Transactional Memory
Panda, P.R., et al.: On-chip vs. off-chip memory: The data partitioning problem in embedded processor-based systems. ACM Trans. Des. Autom. Electron. Syst., 5(3), 682–704 (2000)
Paulin, P.G., et al.: Embedded software in realtime signal processing systems: Application and architecture trends. Proceedings of IEEE 85(3), 419–435 (1997)
Zhang, C., et al.: On combining iteration space tiling with data space tiling for scratchpad memory systems. In: The 2005 conference on Asia South Pacific design automation, pp. 973–976. ACM Press, New York (2005)
Virtutech Simics, http://www.virtutech.com/products
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Feng, D., Jiang, G., Zhang, T., Hu, W., Chen, T., Cao, M. (2009). SPMTM: A Novel ScratchPad Memory Based Hybrid Nested Transactional Memory Framework. In: Dou, Y., Gruber, R., Joller, J.M. (eds) Advanced Parallel Processing Technologies. APPT 2009. Lecture Notes in Computer Science, vol 5737. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03644-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-03644-6_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03643-9
Online ISBN: 978-3-642-03644-6
eBook Packages: Computer ScienceComputer Science (R0)