Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8913))

Abstract

This chapter is dedicated to the conflict detection mechanism in the context of hardware transactional memory (HTM) systems. An effective mechanism is needed to detect conflicts amongst transactions, thus ensuring atomicity while allowing concurrency. Together with version management and conflict resolution, the conflict detection mechanism is one of the main design choices in HTM systems.

In this chapter, the two most common ways of detecting conflicts are described: eager and lazy. Then, we discuss the main HTM approaches to conflict detection, from the very first system proposed by Herlihy and Moss in 1993, to the commercial systems delivered by Intel or IBM, amongst others. Finally, a survey on conflict detection virtualization, i.e. support for unbounded transactions, is presented, emphasizing the signature topic.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adir, A., Goodman, D., Hershcovich, D., Hershkovitz, O., Hickerson, B., Holtz, K., Kadry, W., Koyfman, A., Ludden, J., Meissner, C., Nahir, A., Pratt, R.R., Schiffli, M., St. Onge, B., Thompto, B., Tsanko, E., Ziv, A.: Verification of Transactional Memory in Power8. In: 51st Ann. Design Automation Conference (DAC 2014), pp. 1–6 (2014)

    Google Scholar 

  2. Ananian, C., Asanovic, K., Kuszmaul, B., Leiserson, C., Lie, S.: Unbounded transactional memory. In: 11th Int’l. Symp. on High-Performance Computer Architecture (HPCA 2005), pp. 316–327 (2005)

    Google Scholar 

  3. Bloom, B.: Space/time trade-offs in hash coding with allowable errors. Communications of the ACM 13(7), 422–426 (1970)

    Article  MATH  Google Scholar 

  4. Bobba, J., Goyal, N., Hill, M., Swift, M., Wood, D.: TokenTM: Efficient execution of large transactions with hardware transactional memory. In: 35th Ann. Int’l. Symp. on Computer Architecture (ISCA 2008), pp. 127–138 (2008)

    Google Scholar 

  5. Bobba, J., Moore, K.E., Volos, H., Yen, L., Hill, M.D., Swift, M.M., Wood, D.A.: Performance pathologies in hardware transactional memory. In: 34th Ann. Int’l. Symp. on Computer Architecture (ISCA 2007), pp. 81–91 (2007)

    Google Scholar 

  6. Cain, H.W., Michael, M.M., Frey, B., May, C., Williams, D., Le, H.: Robust architectural support for transactional memory in the power architecture. In: 40th Ann. Int’l. Symp. on Computer Architecture (ISCA 2013), pp. 225–236 (2013)

    Google Scholar 

  7. Ceze, L., Tuck, J., Torrellas, J., Cascaval, C.: Bulk disambiguation of speculative threads in multiprocessors. In: 33th Ann. Int’l. Symp. on Computer Architecture (ISCA 2006), pp. 227–238 (2006)

    Google Scholar 

  8. Chaudhry, S., Cypher, R., Ekman, M., Karlsson, M., Landin, A., Yip, S., Zeffer, H., Tremblay, M.: Rock: A high-performance sparc cmt processor. IEEE Micro 29(2), 6–16 (2009)

    Article  Google Scholar 

  9. Choi, W., Draper, J.: Locality-aware adaptive grain signatures for transactional memories. In: IEEE Int’l. Symp. on Parallel and Distributed Processing (IPDPS 2010), pp. 1–10 (2010)

    Google Scholar 

  10. Choi, W., Draper, J.: Unified signatures for improving performance in transactional memory. In: IEEE Int’l. Parallel Distributed Processing Symp. (IPDPS 2011), pp. 817–827 (May 2011)

    Google Scholar 

  11. Chung, J., Yen, L., Diestelhorst, S., Pohlack, M., Hohmuth, M., Christie, D., Grossman, D.: Asf: Amd64 extension for lock-free data structures and transactional memory. In: 43rd Ann. Int’l. Symp. on Microarchitecture (MICRO 43), pp. 39–50 (2010)

    Google Scholar 

  12. Fan, L., Cao, P., Almeida, J., Broder, A.: Summary cache: A scalable wide-area web cache sharing protocol. IEEE/ACM Trans. on Networking 8(3), 281–293 (2000)

    Article  Google Scholar 

  13. Goodman, J.R.: Using cache memory to reduce processor-memory traffic. In: 10th Ann. Int’l. Symp. on Computer Architecture (ISCA 1983), pp. 124–131 (1983)

    Google Scholar 

  14. Hammond, L., Wong, V., Chen, M., Carlstrom, B., Davis, J., Hertzberg, B., Prabhu, M., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional memory coherence and consistency. In: 31th Ann. Int’l. Symp. on Computer Architecture (ISCA 2004), pp. 102–113 (2004)

    Google Scholar 

  15. Herlihy, M., Moss, J.: Transactional memory: Architectural support for lock-free data structures. In: 20th Ann. Int’l. Symp. on Computer Architecture (ISCA 1993), pp. 289–300 (1993)

    Google Scholar 

  16. Jacobi, C., Slegel, T., Greiner, D.: Transactional memory architecture and implementation for ibm system z. In: 45th Ann. Int’l Symp. on Microarchitecture (MICRO 45), pp. 25–36 (2012)

    Google Scholar 

  17. Martin, M., Blundell, C., Lewis, E.: Subtleties of transactional memory atomicity semantics. IEEE Computer Architecture Letters 5(2), 17–20 (2006)

    Google Scholar 

  18. Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford Transactional Applications for Multi-Processing. In: IEEE Int’l Symp. on Workload Characterization (IISWC 2008), pp. 35–46 (2008)

    Google Scholar 

  19. Moore, K., Bobba, J., Moravan, M., Hill, M., Wood, D.: LogTM: Log-based transactional memory. In: 12th Int’l. Symp. on High-Performance Computer Architecture (HPCA 2006), pp. 254–265 (2006)

    Google Scholar 

  20. Orosa, L., Antelo, E., Bruguera, J.: FlexSig: Implementing flexible hardware signatures. ACM Trans. on Architecture and Code Optimization 8(4), 30:1–30:20 (2012)

    Google Scholar 

  21. Qian, X., Sahelices, B., Torrellas, J.: Omniorder: Directory-based conflict serialization of transactions. In: 41th Ann. Int’l. Symp. on Computer Architecture (ISCA 2014) (2014)

    Google Scholar 

  22. Quislant, R., Gutierrez, E., Plata, O., Zapata, E.L.: Improving signatures by locality exploitation for transactional memory. In: Int’l Conf. on Parallel Architectures and Compilation Techniques (PACT 2009), pp. 303–312 (2009)

    Google Scholar 

  23. Quislant, R., Gutierrez, E., Plata, O., Zapata, E.L.: Hardware signature designs to deal with asymmetry in transactional data sets. IEEE Trans. on Parallel and Distributed Systems 24(3), 506–519 (2013)

    Article  Google Scholar 

  24. Quislant, R., Gutierrez, E., Plata, O., Zapata, E.L.: Multiset signatures for transactional memory. In: Int’l. Conf. on Supercomputing (ICS 2011), pp. 43–52 (2011)

    Google Scholar 

  25. Quislant, R., Gutierrez, E., Plata, O., Zapata, E.L.: LS-Sig: Locality-sensitive signatures for transactional memory. IEEE Trans. on Computers 62(2), 322–335 (2013)

    Article  MathSciNet  Google Scholar 

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

    Google Scholar 

  27. Rajwar, R., Goodman, J.R.: Speculative lock elision: Enabling highly concurrent multithreaded execution. In: 34th Ann. Int’l. Symp. on Microarchitecture (MICRO 34), pp. 294–305 (2001)

    Google Scholar 

  28. Reinders, J.: Transactional synchronization in Haswell. Intel’s software blogs (2012), http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell/

  29. Sanchez, D., Yen, L., Hill, M., Sankaralingam, K.: Implementing signatures for transactional memory. In: 40th Ann. Int’l Symp. on Microarchitecture (MICRO 2007), pp. 123–133 (2007)

    Google Scholar 

  30. Sorin, D.J., Hill, M.D., Wood, D.A.: A Primer on Memory Consistency and Cache Coherence, 1st edn. Morgan & Claypool Publishers (2011)

    Google Scholar 

  31. Sorin, D.J., Plakal, M., Condon, A.E., Hill, M.D., Martin, M.M.K., Wood, D.A.: Specifying and verifying a broadcast and a multicast snooping cache coherence protocol. IEEE Trans. Parallel and Distributed Systems 13(6), 556–578 (2002)

    Article  Google Scholar 

  32. Titos, R., Acacio, M.E., García, J.M.: Directory-based conflict detection in hardware transactional memory. In: Sadayappan, P., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2008. LNCS, vol. 5374, pp. 541–554. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  33. Wang, A., Gaudet, M., Wu, P., Amaral, J.N., Ohmacht, M., Barton, C., Silvera, R., Michael, M.: Evaluation of Blue Gene/Q hardware support for transactional memories. In: 21st Int’l Conf. on Parallel Architectures and Compilation Techniques (PACT 2012), pp. 127–136 (2012)

    Google Scholar 

  34. Welc, A., Bratin, S., Adl-Tabatabai, A.R.: Irrevocable transactions and their applications. In: 20th Symp. on Parallelism in Algorithms and Architectures (SPAA 2008), pp. 285–296 (June 2008)

    Google Scholar 

  35. Yen, L., Bobba, J., Marty, M., Moore, K., Volos, H., Hill, M., Swift, M., Wood, D.: LogTM-SE: Decoupling hardware transactional memory from caches. In: 13th Int’l. Symp. on High-Performance Computer Architecture (HPCA 2007), pp. 261–272 (2007)

    Google Scholar 

  36. Yen, L., Draper, S., Hill, M.: Notary: Hardware techniques to enhance signatures. In: 41st Ann. Int’l Symp. on Microarchitecture (MICRO 2008), pp. 234–245 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Quislant, R., Gutierrez, E., Zapata, E.L., Plata, O. (2015). Conflict Detection in Hardware Transactional Memory. In: Guerraoui, R., Romano, P. (eds) Transactional Memory. Foundations, Algorithms, Tools, and Applications. Lecture Notes in Computer Science, vol 8913. Springer, Cham. https://doi.org/10.1007/978-3-319-14720-8_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14720-8_6

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14719-2

  • Online ISBN: 978-3-319-14720-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics