Transactional Memory for Algebraic Multigrid Smoothers

  • Barna L. BihariEmail author
  • Ulrike M. Yang
  • Michael Wong
  • Bronis R. de Supinski
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9903)


This paper extends our early investigations in which we compared transactional memory to traditional OpenMP synchronization mechanisms [7, 8]. We study similar issues for algebraic multigrid (AMG) smoothers in hypre [16], a mature and widely used production-quality linear solver library. We compare the transactional version of the Gauss-Seidel AMG smoother to an omp critical version and the default hybrid Gauss-Seidel smoother, as well as the \(l_1\) variations of both Gauss-Seidel and Jacobi smoothers. Importantly, we present results for real-life 2-D and 3-D problems discretized by the finite element method that demonstrate the TM option can outperform the existing methods, often by orders of magnitude, in terms of the recently introduced performance measure of run time per quality.



The authors thank the anonymous reviewers for their constructive comments. We are also grafetul to Lori Diachin of LLNL for the many discussions and ideas on this subject matter and for her continuing support of this research. Finally, we thank Tzanio Kolev of LLNL for his help in generating the relevant matrices using MFEM.

This article (LLNL-PROC-528852) has been authored in part by Lawrence Livermore National Security, LLC under Contract DE-AC52-07NA27344 with the U.S. Department of Energy. Accordingly, the United States Government retains and the publisher, by accepting the article for publication, acknowledges that the United States Government retains a non-exclusive, paid-up, irrevocable, world-wide license to publish or reproduce the published form of this article or allow others to do so, for United States Government purposes.


  1. 1.
    Abdelkhalek, A., Bilas, A.: Parallelization and performance of interactive multiplayer game servers. In: IPDPS (2004)Google Scholar
  2. 2.
    Ansari, M., Kotselidis, C., Jarvis, K., Lujan, M., Kirkham, C.: Watson, I.: Lee-TM: a nontrivial benchmark for transactional memory. In: ICA3PP (2008)Google Scholar
  3. 3.
    Bae, H., Cownie, J., Klemm, M., Terboven, C.: A user-guided locking API for the OpenMP* application program interface. In: DeRose, L., de Supinski, B.R., Olivier, S.L., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2014. LNCS, vol. 8766, pp. 173–186. Springer, Heidelberg (2014)Google Scholar
  4. 4.
    Baek, W., Minh, C.C., Trautmann, M., Kozyrakis, C., Olukotun, K.: The OpenTM transactional application programming interface. In: PACT, pp. 376–387 (2007)Google Scholar
  5. 5.
    Baker, A.H., Falgout, R.D., Kolev, T.V., Yang, U.M.: Multigrid smoothers for ultraparallel computing. SIAM J. Sci. Comput. 33, 2864–2887 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Bihari, B.L.: Applicability of transactional memory to modern codes. In: ICNAAM, pp. 1764–1767. APS, Rodos, Greece (2010)Google Scholar
  7. 7.
    Bihari, Barna L., Bae, Hansang, Cownie, James, Klemm, Michael, Terboven, Christian, Diachin, Lori: On the algorithmic aspects of using openmp synchronization mechanisms II: user-guided speculative locks. In: Terboven, C., et al. (eds.) IWOMP 2015. LNCS, vol. 9342, pp. 133–148. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-24595-9_10 CrossRefGoogle Scholar
  8. 8.
    Bihari, B.L., Wong, M., de Supinski, B.R., Diachin, L.: On the algorithmic aspects of using OpenMP synchronization mechanisms: the effects of transactional memory. In: DeRose, L., de Supinski, B.R., Olivier, S.L., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2014. LNCS, vol. 8766, pp. 115–129. Springer, Heidelberg (2014)Google Scholar
  9. 9.
    Bihari, B.L., Wong, M., Wang, A., de Supinski, B.R., Chen, W.: A case for including transactions in OpenMP II: hardware transactional memory. In: Chapman, B.M., Massaioli, F., Müller, M.S., Rorro, M. (eds.) IWOMP 2012. LNCS, vol. 7312, pp. 44–58. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  10. 10.
    De Sterck, H., Falgout, R.D., Nolting, J.W., Yang, U.M.: Distance-two interpolation for parallel algebraic multigrid. Numer. Linear Algebra Appl. 15, 115–139 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    De Sterck, H., Yang, U.M., Heys, J.J.: Reducing complexity in parallel algebraic multigrid preconditioners. SIAM J. Matrix Anal. Appl. 27, 1019–1039 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Falgout, R.D., Jones, J.E., Yang, U.M.: Pursuing scalability for hypre’s conceptual interfaces. ACM Trans. Math. Softw. 31, 326–350 (2005)CrossRefzbMATHGoogle Scholar
  13. 13.
    Gajinov, V., Zyulkyarov, F., Unsal, O.S., Cristal, A., Ayguade, E., Harris, T., Valero, M.: QuakeTM: parallelizing a complex sequential application using transactional memory. In: ICS, pp. 126–135 (2009)Google Scholar
  14. 14.
    Transactional Memory Specification Drafting Group. Transactional language constructs for C++, May 2014.
  15. 15.
    Guerraoui, R., Kapalka, M., Vitek, J.: STMBench7: a benchmark for software transactional memory. In: EuroSys, pp. 315–324 (2007)Google Scholar
  16. 16.
    hypre: High performance preconditioners.
  17. 17.
    Kang, S., Bader, D.A.: An efficient transactional memory algorithm for computing minimum spanning forest of sparse graphs. In: PPoPP, pp. 15–24 (2009)Google Scholar
  18. 18.
    Kestor, G., Stipic, S., Unsal, O., Cristal, A., Valero, M.: RMS-TM: a transactional memory benchmark for recognition, mining and synthesis applications. In: Proceedings of 4th ACM SIGPLAN Workshop on Transactional Computing TRANSACT (2009)Google Scholar
  19. 19.
    Luchangco, V., Wong, M.: Transactional Memory Support for C++, February 2014.
  20. 20.
    Lupei, D., Simion, B., Pinto, D., Misler, M., Burcea, M., Krick, W., Amza, C.C.: Transactional memory support for scalable and transparent parallelization of multiplayer games. In: EuroSys, pp. 41–54 (2010)Google Scholar
  21. 21.
    MFEM: Modular parallel finite element methods library.
  22. 22.
    Milovanović, M., Ferrer, R., Unsal, O.S., Cristal, A., Martorell, X., Ayguadé, E., Labarta, J., Valero, M.: Transactional memory and OpenMP. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds.) IWOMP 2007. LNCS, vol. 4935, pp. 37–53. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Minh, C.C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: stanford transactional applications for multi-processing. In: IISWC, pp. 315–324 (2008)Google Scholar
  24. 24.
    Pankratius, V., Adl-Tabatabai, A.: A study of transactional memory vs. locks in practice. In: SPAA, pp. 43–52 (2011)Google Scholar
  25. 25.
    Rossbach, C.J., Hofmann, O.S., Witchel, W.: Is transactional programming actually easier?. In: PPoPP, pp. 47–56 (2010)Google Scholar
  26. 26.
    Schindewolf, M., Gyllenhaal, J., Bihari, B.L., Wang, A., Schulz, M., Karl, W.: What scientific applications can benefit from hardware transacional memory?. In: SC12 (2012)Google Scholar
  27. 27.
    Scott, M.L., Spear, M.F., Dalessandro, L., Marathe, V.J.: Delaunay triangulation with transactions and barriers. In: IISWC (2007)Google Scholar
  28. 28.
    Stüben, K.: An introduction to algebraic multigrid. In: Trottenberg, U., Oosterlee, C., Schüller, A. (eds.) Multigrid, pp. 413–528 (2001)Google Scholar
  29. 29.
    Wang, A., Gaudet, M., Wu, P., Ohmacht, M., Amaral, J.N., Barton, C., Silvera, R., MIchael, M.: Evaluation of blue gene/Q hardware support for transactional memories. In: PACT (2012)Google Scholar
  30. 30.
    Wong, M., Ayguadé, E., Gottschlich, J., Luchangco, V., de Supinski, B.R., Bihari, B., other members of the WG21 SG5 Transactional Memory Sub-Group: Towards Transactional Memory for OpenMP. In: DeRose, L., Supinski, B.R., Olivier, S.L., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2014. LNCS, vol. 8766, pp. 130–145. Springer, Heidelberg (2014)Google Scholar
  31. 31.
    Wong, M., Bihari, B.L., de Supinski, B.R., Wu, P., Michael, M., Liu, Y., Chen, W.: A case for including transactions in OpenMP. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds.) IWOMP 2010. LNCS, vol. 6132, pp. 149–160. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  32. 32.
    Wong, M., Gottschlich, J.: SG5: Software Transactional Memory (TM) Status Report., September 2012
  33. 33.
    Yoo, R., Hughes, C., Lai, K., Rajwar, R.: Performance evaluation of Intel transactional synhcornization extensions for high-performance computing. In: SC13 (2013)Google Scholar
  34. 34.
    Zyulkyarov, F., Gajinov, V., Unsal, O.S., Cristal, A., Ayguade, E., Harris, T., Valero, M., Quake, A.: Using transactional memory in an interactive multiplayer game server. In: PPoPP, pp. 25–34 (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Barna L. Bihari
    • 1
    Email author
  • Ulrike M. Yang
    • 1
  • Michael Wong
    • 2
  • Bronis R. de Supinski
    • 1
  1. 1.Lawrence Livermore National LaboratoryLivermoreUSA
  2. 2.Codeplay SoftwareEdinburghUK

Personalised recommendations