Abstract
In the search for new paradigms to simplify multithreaded programming, Transactional Memory (TM) is currently being advocated as a promising alternative to deadlock-prone lock-based synchronization. In this way, future many-core CMP architectures may need to provide hardware support for TM. On the other hand, power dissipation constitutes a first class consideration in multicore processor designs. In this work, we propose Selective Dynamic Serialization (SDS) as a new technique to improve energy consumption without degrading performance in applications with conflicting transactions by avoiding wasted work due to aborted transactions. Our proposal, which is implemented on top of a hardware transactional memory (HTM) system with an eager conflict management policy, detects and serializes conflicting transactions dynamically (at run-time). In its simplest form, in case of conflict, one transaction is allowed to continue whilst the rest are completely stalled. Once the executing transaction has finished, it wakes up several of the stalling transactions. More elaborated implementations of SDS try to delay this behavior until serialization of transactions is profitable, achieving the best trade-off between performance, energy savings and network traffic. SDS implementations differ from each other in the condition that triggers the serialization mode. We have evaluated several SDS schemes using GEMS, a full-system simulator implementing the LogTM-SE Eager–Eager HTM system, and several benchmarks from the STAMP suite. Results for a 16-core CMP show that SDS obtains reductions of 6 % on average in energy consumption (more than 20 % in high contention scenarios) in a wide range of benchmarks without affecting, on average, execution time. At the same time, network traffic level is also reduced by 22 %.
Similar content being viewed by others
Notes
Our implementation uses the timestamps employed by LogTM-SE as priority mechanism, but any other similar method could be used.
Note that LogTM_DS would be equivalent to NACK_SDS_0.
References
Borkar S (2007) Thousand core chips: a technology perspective. In: DAC-44
Diestelhorst S, Pohlack M, Hohmuth M, Christie D, Chung J-W, Yen L (2010) Implementing AMD’s advanced synchronization facility in an out-of-order x86 core. In: Transact-05
Dice D, Lev Y, Moir M, Nussbaum D (2009) Early experience with a commercial hardware transactional memory implementation. In: ASPLOS-14
The IBM Blue Gene Team (2011) The Blue Gene/Q compute chip. In: Hot Chips 23
Kanter D (2012) Analysis of Haswell’s transactional memory. In: Real World Technologies (02–15-2012)
Herlihy M, Eliot J, Moss B (1993) Transactional memory: architectural support for lock-free data structures. In: ISCA-20
Harris T, Cristal A, Unsal OS, Ayguad E, Gagliardi F, Smith B, Valero M (2007) Transactional memory: an overview. IEEE Micro 27(3):8–29
Ferri C, Wood S, Moreshet T, Bahar RI, Herlihy M (2010) Embedded-TM: energy and complexity-effective hardware transactional memory for embedded multicore systems. J Parallel Distrib Comput (JPDC) 70(10):1042–1052
Ferri C, Wood S, Moreshet T, Bahar RI, Herlihy M (2010) Energy and throughput efficient transactional memory for embedded multicore systems. In: HiPEAC, pp 50–65
Barroso LA, Hölzle U (2007) The case for energy-proportional computing. Computer 40(12):33–37
Ceze L, Tuck J, Torrellas J, Cascaval C (2006) Bulk disambiguation of speculative threads in multiprocessors. In: ISCA-33
Shriraman A, Dwarkadas S, Scott ML (2008) Flexible decoupled transactional memory support. In: ISCA-35
Gaona-Ramírez E, Titos-Gil JR, Fernández J, Acacio ME (2013) On the design of energy-efficient hardware transactional memory systems. Concurr Comput Pract Exp 25(6):862–880
Yen L, Bobba J, Marty MR, Moore KE, Volos H, Hill MD, Swift MM, Wood DA (2007) LogTM-SE: decoupling hardware transactional memory from caches. In: HPCA-13
Minh CC, Chung J, Kozyrakis C, Olukotun K (2008) STAMP: stanford transactional applications for multi-processing. In: IISWC-4
Gaona-Ramírez E, Titos-Gil JR, Acacio ME, Fernández J (2012) Dynamic serialization: Improving energy consumption in eager–eager hardware transactional memory systems. In: PDP-20, pp 221–228
Moreshet T, Bahar RI, Herlihy M (2006) Energy-aware microprocessor synchronization: transactional memory vs. locks. In: Workshop on memory performance, Issues
Martin MMK, Sorin DJ, Beckmann BM, Marty MR, Xu M, Alameldeen AR, Moore KE, Hill MD, Wood DA (2005) Multifacet’s general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH CAN 33(4):92–99
Kahng AB, Li B, Peh L-S, Samadi K (2009) ORION 2.0: a fast and accurate NoC power and area model for early-stage design space exploration. In: DATE-13
Thoziyoor S, Muralimanohar N, Ahn JH, Jouppi NP (2008) Cacti 5.1. Technical Report HPL-2008–20. HP Laboratories, Palo Alto, CA
Dragojevic A, Guerraoui R (2010) Predicting the scalability of an STM. In: Transact-05
Harris T, Larus J, Rajwar R (2010) Transactional memory, 2nd edn. Morgan & Claypool, San Rafael
Dice D, Shalev O, Shavit N (2006) Transactional locking II. In: DISC-20
Fraser K, Harris TL (2007) Concurrent programming without locks. ACM TOCS 25(2):1–61
Marathe VJ, Scherer-III WN, Scott ML (2005) Adaptive software transactional memory. In: DISC-19
Herlihy M, Luchangco V, Moir M, Scherer-III WN (2003) Software transactional memory for dynamic-sized data structures. In: PODC-22
Saha B, Adl-tabatabai A, Hudson RL, Minh CC, Hertzberg B (2006) McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: PPoPP-11
Tomic S, Perfumo C, Kulkarni CE, Armejach A, Cristal A, Unsal OS, Harris T, Valero M (2009) EazyHTM: eager-lazy hardware transactional memory. In: MICRO-42
Rajwar R, Herlihy M, Lai KK (2005) Virtualizing transactional memory. In: ISCA-32
Damron P, Fedorova A, Lev Y, Luchangco V, Moir M, Nussbaum D (2006) Hybrid transactional memory. In: ASPLOS-XII, pp 336–346
Flores A, Aragón JL, Acacio ME (2008) An energy consumption characterization of on-chip interconnection networks for tiled cmp architectures. J Supercomput 45(3):341–364
Lupon M, Magklis G, González A (2010) A dynamically adaptable hardware transactional memory. In: MICRO-43, pp 27–38
Negi A, Titos-Gil JR, Acacio ME, García JM, Stenström P (2011) ZEBRA: a data-centric, hybrid-policy hardware transactional memory design. In: ICS-25
Negi A, Titos-Gil JR, Acacio ME, García JM, Stenström P (2012) PI-TM: pessimistic invalidation for scalable lazy hardware transactional memory. In: HPCA-18, pp 141–152
Titos-Gil JR, Negi A, Acacio ME, García JM, Stenström P (2013) Eager beats lazy: improving store management in eager hardware transactional memory. IEEE Trans Parallel Distrib Syst 24(11):2192–2201
Shriraman A, Dwarkadas S, Scott ML (2010) Implementation tradeoffs in the design of flexible transactional memory support. J Parallel Distrib Comput 70(10):1068–1084
Klein F, Baldassin A, Araujo G, Centoducatte P, Azevedo R (2009) On the energy-efficiency of software transactional memory. In: SBCCI-22
Sanyal S, Roy S, Cristal A, Unsal O, Valero M (2009) Clock gate on abort: towards energy-efficient hardware transactional memory. In: HPPAC-2009
Chafi H, Casper J, Carlstrom BD, McDonald A, Minh CC, Baek W, Kozyrakis C, Olukotun K (2007) A scalable, non-blocking approach to transactional memory. In: HPCA-13
Pugsley SH, Awasthi M, Madan N, Muralimanohar N, Balasubramonian R (2008) Scalable and reliable communication for hardware transactional memory. In: PACT-17
Cristal A, Unsal O, Yalcin G, Fetzer C, Wamhoff J-T, Felber P, Harmanci D (2013) A. Sobe, Leveraging transactional memory for energy-efficient computing below safe operation margin. In: TRANSACT-2013
Acknowledgments
This work was supported by the Spanish MINECO, as well as European Commission FEDER funds, under grant “TIN2012-38341-C04-03”. Epifanio Gaona Ramírez is supported by fellowship 09503/FPI/08 from Fundación Séneca, Agencia Regional de Ciencia y Tecnología de la Región de Murcia (II PCTRM).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Gaona, E., Titos-Gil, J.R., Fernández, J. et al. Selective dynamic serialization for reducing energy consumption in hardware transactional memory systems. J Supercomput 68, 914–934 (2014). https://doi.org/10.1007/s11227-013-1072-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-013-1072-y