Skip to main content

Advertisement

Log in

Leveraging irrevocability to deal with signature saturation in hardware transactional memory

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. 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

  1. 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

  2. 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

  3. 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

  4. 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

  5. Bloom B (1970) Space/time trade-offs in hash coding with allowable errors. Commun ACM 13(7):422–426

    Article  MATH  Google Scholar 

  6. 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

  7. 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)

  8. 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

  9. Carter J, Wegman M (1977) Universal classes of hash functions (extended abstract). In: 9th Ann. Symp. on Theory of Computing, pp 106–112

  10. 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

  11. 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

  12. Click C (2009) Azul’s experiences with hardware transactional memory. In: Bay Area Workshop on Transactional Memory

  13. 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

    Article  MathSciNet  Google Scholar 

  14. 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)

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. Larus J, Rajwar R (2007) Transactional Memory. Morgan & Claypool Pub, San Rafael, California

    Google Scholar 

  21. 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

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

  25. 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

  26. Mullin JK (1983) A second look at bloom filters. Commun ACM 26(8):570–571

    Article  Google Scholar 

  27. 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

    Article  Google Scholar 

  28. Quislant R, Gutierrez E, Plata O, Zapata EL (2013) LS-Sig: locality-sensitive signatures for transactional memory. IEEE Trans Comput 62(2):322–335

    Article  MathSciNet  Google Scholar 

  29. Rajwar R, Herlihy M, Lai K (2005) Virtualizing transactional memory. In: 32th Ann. Int’l. Symp. on Computer Architecture (ISCA’05), pp 494–505

  30. 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

  31. 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

    Google Scholar 

  32. 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

  33. 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

  34. 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

  35. 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

    Article  Google Scholar 

  36. 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

  37. 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

  38. 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)

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

Download references

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

Authors

Corresponding author

Correspondence to Ricardo Quislant.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-016-1944-z

Keywords

Navigation