The Community for Technology Leaders
Green Image
Issue No. 11 - Nov. (2013 vol. 24)
ISSN: 1045-9219
pp: 2192-2201
Ruben Titos-Gil , Chalmers University of Technology, Gothenburg
Anurag Negi , Chalmers University of Technology, Gothenburg
Manuel E. Acacio , Universidad de Murcia, Murcia
Jose M. Garcia , University of Murcia, Murcia
Per Stenstrom , Chalmers University of Technology, Gothenburg
Hardware transactional memory (HTM) designs are very sensitive to the manner in which speculative updates from transactions are handled in the system. This study highlights how the lack of effective techniques for store management results in a quick degradation in the performance of eager HTM systems with increasing contention and, thus, lends credence to the belief that eager designs do not perform as well as their lazy counterparts when conflicts abound. In this work, we present two simple ways to improve handling of speculative stores--a way to effectively manage lines that exhibit migratory sharing and a way to hide store latency, particularly for those stores that target contended cache lines owned by other concurrent transactions. These two mechanisms yield substantial improvements in execution time when running applications with high contention, allowing eager designs to exceed the performance of lazy ones. Interestingly, the benefits that accrue from these enhancements can be at par with those achieved using more complex system-wide HTM techniques. Coupled with the fact that eager designs are easier to integrate into cache coherent architectures than lazy ones, we claim that with judicious management of stores they represent a more compelling design alternative.
Buffer storage, Hardware, Concurrent computing, Parallel processing, Optimization, Coherence, Scalability

R. Titos-Gil, A. Negi, M. E. Acacio, J. M. Garcia and P. Stenstrom, "Eager Beats Lazy: Improving Store Management in Eager Hardware Transactional Memory," in IEEE Transactions on Parallel & Distributed Systems, vol. 24, no. 11, pp. 2192-2201, 2013.
191 ms
(Ver 3.3 (11022016))