Abstract
In hardware transactional memory, signatures have been proposed to keep track of memory locations accessed in a transaction to help conflict detection. Generally, signatures are implemented as Bloom filters that suffer from aliasing, that is, they can give rise to false conflicts. Such conflicts are more likely as signature fills (saturation), and they can lead a parallel application to perform worse than its serial version. Irrevocability is analyzed to address the signature saturation problem. When a transaction reaches a saturation threshold, the transaction enters an irrevocable state that prevents it from being aborted. Hence, such a transaction keeps running while the others are either stalled or allowed to run concurrently. We propose an analytical model that shows this is a good solution to overcome a high contention scenario. In addition, experimental evaluation shows the benefits in performance and power consumption of the proposed irrevocability mechanisms. Different saturation metrics are considered and a fixed threshold is found that yields maximum performance for the benchmarks evaluated.
















Similar content being viewed by others
Notes
In this case, the queues of the network interconnect routers arbitrate which irrevocability request packet is enqueued first, whose owner will be granted irrevocability in the form of a token (see Sect. 3.4).
References
Agarwal N, Krishna T, Peh LS, Jha N (2009) GARNET: A detailed on-chip network model inside a full-system simulator. In: Int’l. Symp. on Performance Analysis of Systems and Software (ISPASS’09), pp 33–42
Alameldeen AR, Wood DA (2003) Variability in architectural simulations of multi-threaded workloads. In: 9th Int’l Symp. on High-Performance Computer Architecture (HPCA’03), pp 7–18
Ananian C, Asanovic K, Kuszmaul B, Leiserson C, Lie S (2005) Unbounded transactional memory. In: 11th Int’l. Symp. on High-Performance Computer Architecture (HPCA’05), pp 316–327
Ansari M, Kotselidis C, Jarvis K, Luján M, Kirkham C, Watson I (2008) Advanced concurrency control for transactional memory using transaction commit rate. In: Int’l. Conf. on Parallel Processing (Euro-Par’08), pp 719–728
Bloom B (1970) Space/time trade-offs in hash coding with allowable errors. Commun ACM 13(7):422–426
Blundell C, Devietti J, Lewis EC, Martin MMK (2007) Making the fast case common and the uncommon case simple in unbounded transactional memory. In: 34th Ann. Int’l. Symp. on Computer Architecture (ISCA’07), pp 24–34
Blundell C, Lewis EC, Martin MMK (2005) Deconstructing transactional semantics: the subtleties of atomicity. In: 4th Ann. Workshop on Duplicating, Deconstructing, and Debunking (WDDD’05)
Bobba J, Goyal N, Hill MD, Swift MM, Wood DA (2008) TokenTM: efficient execution of large transactions with hardware transactional memory. In: 35th Ann. Int’l. Symp. on Computer Architecture (ISCA’08), pp 127–138
Carter J, Wegman M (1977) Universal classes of hash functions (extended abstract). In: 9th Ann. Symp. on Theory of Computing, pp 106–112
Ceze L, Tuck J, Torrellas J, Cascaval C (2006) Bulk disambiguation of speculative threads in multiprocessors. In: 33th Ann. Int’l. Symp. on Computer Architecture (ISCA’06), pp 227–238
Choi W, Draper J (2011) Unified signatures for improving performance in transactional memory. In: Int’l. Parallel Distributed Processing Symp. (IPDPS’11), pp 817–827
Click C (2009) Azul’s experiences with hardware transactional memory. In: Bay Area Workshop on Transactional Memory
Didona D, Felber P, Harmanci D, Romano P, Schenker J (2015) Identifying the optimal level of parallelism in transactional memory applications. Computing 97(9):939–959
Goel B, Titos R, Negi A, McKee SA, Stenstrom P (2014) Performance and energy analysis of the restricted transactional memory implementation on Haswell. In: 28th Int’l Parallel and Distributed Processing Symp. (IPDPS’14)
Herlihy M, Luchangco V, Moir M, Scherer III WN (2003) Software transactional memory for dynamic-sized data structures. In: 22nd Ann. Symp. on Principles of Distributed Computing (PODC ’03), pp 92–101
Herlihy M, Moss J (1993) Transactional memory: architectural support for lock-free data structures. In: 20th Ann. Int’l. Symp. on Computer Architecture (ISCA’93), pp. 289–300
Hong S, Oguntebi T, Casper J, Bronson N, Kozyrakis C, Olukotun K (2010) Eigenbench: a simple exploration tool for orthogonal TM characteristics. In: Int’l. Symp. on Workload Characterization (IISWC’10), pp 1–11
Jacobi C, Slegel T, Greiner D (2012) Transactional memory architecture and implementation for IBM system z. In: 45th Ann. Int’l. Symp. on Microarchitecture (MICRO’12), pp 25–36
Kahng A, Li B, Peh LS, Samadi K (2009) ORION 2.0: A fast and accurate noc power and area model for early-stage design space exploration. In: Design, Automation and Test in Europe (DATE’09), pp 423–428
Larus J, Rajwar R (2007) Transactional Memory. Morgan & Claypool Pub, San Rafael, California
Machado Pereira M, Gaudet M, Nelson Amaral J, Araujo G (2015) Study of hardware transactional memory characteristics and serialization policies on Haswell. Parallel computing (available online). http://www.sciencedirect.com/science/article/pii/S0167819115001568
Magnusson P, Christensson M, Eskilson J, Forsgren D, Hallberg G, Hogberg J, Larsson F, Moestedt A, Werner B, Werner B (2002) Simics: a full system simulation platform. IEEE Comput 35(2):50–58
Martin M, Sorin D, Beckmann B, Marty M, Xu M, Alameldeen A, Moore K, Hill M, Wood D (2005) Multifacet’s general execution-driven multiprocessor simulator GEMS toolset. ACM SIGARCH Comput Archit News 33(4):92–99
Minh C, Chung J, Kozyrakis C, Olukotun K (2008) STAMP: Stanford transactional applications for multi-processing. In: Int’l Symp. on Workload Characterization (IISWC’08), pp 35–46
Moore K, Bobba J, Moravan M, Hill M, Wood D (2006) LogTM: Log-based transactional memory. In: 12th Int’l. Symp. on High-Performance Computer Architecture (HPCA’06), pp 254–265
Mullin JK (1983) A second look at bloom filters. Commun ACM 26(8):570–571
Quislant R, Gutierrez E, Plata O, Zapata E (2013) Hardware signature designs to deal with asymmetry in transactional data sets. IEEE Trans Parallel Distrib Syst 24(3):506–519
Quislant R, Gutierrez E, Plata O, Zapata EL (2013) LS-Sig: locality-sensitive signatures for transactional memory. IEEE Trans Comput 62(2):322–335
Rajwar R, Herlihy M, Lai K (2005) Virtualizing transactional memory. In: 32th Ann. Int’l. Symp. on Computer Architecture (ISCA’05), pp 494–505
Reinders J (2013) Intel 64 and IA-32 architectures software developers manual, vol. 3, ch. 19. http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
Rughetti D, Sanzo PD, Ciciani B, Quaglia F (2014) Analytical/ML mixed approach for concurrency regulation in software transactional memory. Int’l. Symp. on Cluster, Cloud and Grid Computing, pp 81–91
Sanchez D, Yen L, Hill M, Sankaralingam K (2007) Implementing signatures for transactional memory. In: 40th Ann. Int’l Symp. on Microarchitecture (MICRO’07), pp 123–133
Sanzo PD, Re FD, Rughetti D, Ciciani B, Quaglia F (2013) Regulating concurrency in software transactional memory: an effective model-based approach. In: Int’l. Conf. on Self-Adaptive and Self-Organizing Systems, pp 31–40
Shriraman A, Dwarkadas S, Scott M (2008) Flexible decoupled transactional memory support. In: 35th Ann. Int’l. Symp. on Computer Architecture (ISCA’08), pp 139–150
Sorin DJ, Plakal M, Condon AE, Hill MD, Martin MMK, Wood DA (2002) Specifying and verifying a broadcast and a multicast snooping cache coherence protocol. IEEE Trans Parallel Distrib Syst 13(6):556–578
Spear MF, Silverman M, Dalessandro L, Michael MM, Scott ML (2008) Implementing and exploiting inevitability in software transactional memory. In: 37th Int’l. Conf. on Parallel Processing (ICPP’08), pp 59–66
Wang A, Gaudet M, Wu P, Amaral JN, Ohmacht M, Barton C, Silvera R, Michael M (2012) Evaluation of Blue Gene/Q hardware support for transactional memories. In: 21st Int’l Conf. on Parallel Architectures and Compilation Techniques (PACT’12), pp 127–136
Wang MD, Mihai B, Li L, Sharifymoghaddam S, Steffan G, Amza C (2014) Exploring the performance and programmability design space of hardware transactional memory. In: 9th Workshop on Transactional Computing (TRANSACT’14)
Watson I, Kirkham C, Lujan M (2007) A study of a transactional parallel routing algorithm. In: 16th Int’l. Conf. on Parallel Architecture and Compilation Techniques (PACT ’07), pp 388–398
Welc A, Bratin S, Adl-Tabatabai AR (2008) Irrevocable transactions and their applications. In: 20th Symp. on Parallelism in Algorithms and Architectures (SPAA’08), pp 285–296
Yen L, Bobba J, Marty M, Moore K, Volos H, Hill M, Swift M, Wood D (2007) LogTM-SE: decoupling hardware transactional memory from caches. In: 13th Int’l. Symp. on High-Performance Computer Architecture (HPCA’07), pp 261–272
Yen L, Draper S, Hill M (2008) Notary: Hardware techniques to enhance signatures. In: 41st Ann. Int’l Symp. on Microarchitecture (MICRO’08), pp 234–245
Yoo RM, Hughes CJ, Lai K, Rajwar R (2013) Performance evaluation of Intel transactional synchronization extensions for high-performance computing. In: Int’l Conf. on High Performance Computing, Networking, Storage and Analysis (SC’13), SC ’13, pp 19:1–19:11
Yu X, He Z, Hong B (2010) An analytical model on the execution of transactional memory. In: 22nd Int’l. Symp. on Computer Architecture and High Performance Computing (SBAC-PAD’10), pp 175–182
Acknowledgements
This work has been supported by the Government of Spain, under project TIN2013-42253-P, and Junta de Andalucía, under project P12-TIC-1470.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Quislant, R., Gutierrez, E., Zapata, E.L. et al. Leveraging irrevocability to deal with signature saturation in hardware transactional memory. J Supercomput 73, 2525–2557 (2017). https://doi.org/10.1007/s11227-016-1944-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-016-1944-z