Advertisement

Conflict Detection in Hardware Transactional Memory

  • Ricardo Quislant
  • Eladio Gutierrez
  • Emilio L. Zapata
  • Oscar Plata
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Hash Function Cache Line Memory Block Transactional Memory Cache Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    Bloom, B.: Space/time trade-offs in hash coding with allowable errors. Communications of the ACM 13(7), 422–426 (1970)CrossRefzbMATHGoogle Scholar
  4. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  9. 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. 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. 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. 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)CrossRefGoogle Scholar
  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  24. 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. 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)MathSciNetCrossRefGoogle Scholar
  26. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  32. 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)CrossRefGoogle Scholar
  33. 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. 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. 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. 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

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Ricardo Quislant
    • 1
  • Eladio Gutierrez
    • 1
  • Emilio L. Zapata
    • 1
  • Oscar Plata
    • 1
  1. 1.Dept. Computer ArchitectureUniversity of MalagaMalagaSpain

Personalised recommendations