Abstract
In this paper we study transactional memory (TM) as a new tool for threading codes in this new era of multi- and many-core computers. In particular, we investigate the features and study the applicability of transactional memory as an efficient and easy-to-use alternative for handling memory conflicts in unstructured mesh simulations that use shared memory. The software tool used for our preliminary analysis of this novel construct is IBM’s freely available Software Transactional Memory (STM) system. For our studies, we developed the BUSTM benchmark which is a test code with state-of-the-art unstructured-mesh bookkeeping. The numerical algorithms are simplified yet still exhibit most of the salient features of modern unstructured mesh methods. We apply STM to two frequently used algorithm types used in multi-physics codes with realistic 3-D meshes. Our computational experiments indicate a good fit between these application scenarios and the TM features.
Similar content being viewed by others
References
Bihari, B.L.: Applicability of transactional memory to modern codes. In: International Conference on Numerical Analysis and Applied Mathematics 2010 (ICNAAM 2010) Conference Proceedings, APS, Rodos, Greese, pp. 1764–1767 (2010)
Bihari, B.L., Gyllenhaal, J., Futral, S., Spelce, T.: Experiments Using IBM’s Software Transactional Memory Compiler, ScicomP Meeting, Barcelona, Spain (2009). http://spscicomp.org/ScicomP15/slides/user/bihari.pdf
Bihari, B.L., Ota, D., Liu, Z., Ramakrishnan, S.V.: Multiresolution method on general unstructured meshes. AIAA J. 40(7), 1323–1330 (2002)
Bihari, B.L., Shankar, V., Palaniswamy, S.: Massively parallel implementation of an explicit CFD algorithm on unstructured grids, II. In: Parallel Computational Fluid Dynamics (ParCFD’97), pp. 241–248. Elsevier, New York (1998)
Cascaval, C., Blundell, C.M., Michael, H.W., Cain, P.W., Chiras, S., Chatterjee, S.: Software transactional memory: why is it only a research toy? ACM Queue 6(5), 46–58 (2008)
Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 51(2), 289–300 (1993)
IBM: Concurrent Building Block (2008). http://sourceforge.net/projects/amino-cbbs/
IBM: IBM XL C/C++ for Transactional Memory for AIX, V0.9 Language Extensions and Users Guide (2008). http://dl.alphaworks.ibm.com/technologies/xlcstm/xlcstm-whitepaper.pdf
Larus, J.R., Kozyrakis, C.: Transactional memory: is TM the answer for improving parallel programming? Commun. ACM 51(7), 80–88 (2008)
Vezolle, P., Fournier, Y., Moulinec, C., Tallet, N.: Multithreads and MPI adaptive AMG linear solver for parallel Navier-Stokes approaches. In: Pareng 2011 Conference Proceedings, Civil-Comp, Corsica, France (2011)
Wong, M.: In: IBM XL C/C++ for Transactional Memory for AIX. 2008 (2009). http://www-949.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore/2009/08/11/ibms-alphaworks-software-transactional-memory-compiler
Wong, M., Bihari, B.L., de Supinski, B.R., Wu, P., Liu, Y.M.M., Chen, W.: A case for including transactions in OpenMP. In: IWOMP 2010 Conference Proceedings, Tsukuba, Japan. LNCS, vol. 6132, pp. 149–160 (2010)
Wu, P., Michael, M., von Praun, C., Nakaike, T., Bordawekar, R., Cain, H., Cascaval, C., Chatterjee, S., Chiras, S., Hou, R., Mergen, M., Shen, X., Spear, M., Wang, H.Y., Wang, K.: Compiler and runtime techniques for software transactional memory optimization. J. Concurr. Comput. Pract. Experience. 7–23
Acknowledgements
The author wishes to thank John Gyllenhaal and Scott Futral of Livermore Computing (LC) for numerous fruitful discussions on this subject and for support of this work, as well as to David Fox, also of LC, for facilitating all the runs on the (now retired) IBM Power5 system. The author also acknowledges past financial support from Rockwell International, Boeing, and Hypercomp, Inc. in developing the unstructured mesh bookkeeping used in the experiments, and from Icon Consulting and IBM in writing the BUSTM code.
The author also appreciates the many thoughtful and detailed comments of the referees, most of which contributed to an improved revised version.
A substantial part of this work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DEAC52-07NA27344 (LLNL-CONF-422888).
Author information
Authors and Affiliations
Corresponding author
Additional information
Dedicated to the 70th Birthday of Professor Stan Osher.
Rights and permissions
About this article
Cite this article
Bihari, B.L. Transactional Memory for Unstructured Mesh Simulations. J Sci Comput 54, 311–332 (2013). https://doi.org/10.1007/s10915-012-9643-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-012-9643-2