Abstract
In this paper we analyze the effects of using different OpenMP synchronization mechanisms in iterative mesh optimization algorithms run on the IBM Blue Gene/Q system. We perform a systematic study of a threaded Laplacian mesh smoothing method on Cartesian meshes of different sizes that have been initially perturbed by a factor that is random, but within a controlled range. We consider three different run modes, two of which are OpenMP synchronization mechanisms: (hardware) transactional memory (TM), OpenMP critical, and “none”. We find that TM typically outperforms the other two modes in terms of its convergence characteristics. Because of the algorithmic simplicity and light operation count, the raw runtime performance was not our focus in this work; however, we present some results on TM scaling. We also show the TM rollback and conflict probabilities, and conclude that mesh optimization codes are good candidates for using TM when the more general “time-to-convergence” criterion is considered.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Gartner Hype Cycle (May 2014), http://www.gartner.com/technology/research/methodologies/hype-cycle.jsp
Bihari, B.L.: Applicability of transactional memory to modern codes. In: Conference Proceedings of International Conference on Numerical Analysis and Applied Mathematics (ICNAAM 2010), Rodos, Greece, pp. 1764–1767. APS (2010)
Bihari, B.L.: Transactional Memory for Unstructured Mesh Simulations. J. Sci. Comput. 54, 311–332 (2012)
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)
GNU. TM in GCC (May 2014), https://gcc.gnu.org/wiki/TransactionalMemory
IBM Compiler Group. IBM XL C/C++ for Blue Gene/Q, V12.1 Compiler Reference (2012)
TM Specification Drafting Group (May 2014), https://sites.google.com/site/tmforcplusplus/ , https://sites.google.com/site/tmforcplusplus/
Ruud Haring and the IBM BlueGene Team. The IBM Blue Gene/Q Compute Chip. In: Hot Chips 24: A Symposium on High Performance Chips, Palo Alto, CA (2011)
Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. SIGARCH Comput. Archit. News 51(2), 289–300 (1993)
Intel. Intel C++ STM Compiler, Prototype Edition (May 2014), https://software.intel.com/en-us/articles/intel-c-stm-compiler-prototype-edition
Knupp, P.: Hexahedral and Tetrahedral Mesh Shape Optimization. Intl. J. Numer. Meth. Engr. 58, 319–332 (2003)
Knupp, P.: Introducing the Target-matrix Paradigm for Mesh Optimization via Node-Movement. In: Proceedings of the 19th International Meshing Roundtable, pp. 67–83. Springer (2010)
Larus, J.R., Kozyrakis, C.: Transactional memory: Is TM the answer for improving parallel programming? Communications of the ACM 51(7), 80–88 (2008)
Haskell Community Page. Software Transactional Memory (May 2014), http://www.haskell.org/haskellwiki/Software_transactional_memory
Schindewolf, M., Gyllenhaal, J., Bihari, B.L., Wang, A., Schulz, M., Karl, W.: What Scientific Applications Can Benefit from Hardware Transacional Memory? In: Int. Conf. for High Perf. Computing, Networking, Storage and Analysis, SC 2012 (2012)
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)
Wong, M.: IBM XL C/C++ for Transactional Memory for AIX. 2008 (August 2009), http://www-949.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore/2009/08/11/ibms-alphaworks-software-transactional-memory-compiler
Wong, M.: C++14: The New Standard, Through the Looking Glass: The View from the Feb 2014 C++ Standard meeting (May 2014), http://tinyurl.com/mzs22qw
Wong, M., Ayguade, E., Gottschlich, J., Luchangco, V., de Supinski, B.R., Bihari, B.L.: Towards Transactional Memory for OpenMP. In: IWOMP 2014 Conference Proceedings, Salvador, Brazil (to appear June 2014)
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)
Yoo, R., Hughes, C., Lai, K., Rajwar, R.: Performance Evaluation of Intel Transactional Synhcornization Extensions for High-Performance Computing. In: Int. Conf. for High Perf. Computing, Networking, Storage and Analysis, SC 2013 (2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Bihari, B.L., Wong, M., de Supinski, B.R., Diachin, L. (2014). 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) Using and Improving OpenMP for Devices, Tasks, and More. IWOMP 2014. Lecture Notes in Computer Science, vol 8766. Springer, Cham. https://doi.org/10.1007/978-3-319-11454-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-11454-5_9
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11453-8
Online ISBN: 978-3-319-11454-5
eBook Packages: Computer ScienceComputer Science (R0)