Academia.eduAcademia.edu

Outline

Runtime Correctness Checking for Emerging Programming Paradigms

Proceedings of the First International Workshop on Software Correctness for HPC Applications

https://doi.org/10.1145/3145344.3145490

Abstract

With rapidly increasing concurrency, the HPC community is looking for new parallel programming paradigms to make best use of current and up-coming machines. Under the Japanese CREST funding program, the post-petascale HPC project developed the XMP programming paradigm, a pragma-based partitioned global address space (PGAS) approach. Good tool support for debugging and performance analysis is crucial for the productivity and therefore acceptance of a new programming paradigm. In this work we investigate which properties of a parallel programing language specification may help tools to highlight correctness and performance issues or help to avoid common issues in parallel programming in the first place. In this paper we exercise these investigations on the example of XMP. We also investigate the question how to improve the reusability of existing correctness and performance analysis tools.

References (10)

  1. 2016. Developer tools for porting and tuning parallel applications on extreme- scale parallel systems. https://jlesc.github.io/projects/tool_pandt_project/. (2016).
  2. 2016. Scalasca web page. http://http://www.scalasca.org/. (2016).
  3. Simone Atzeni, Ganesh Gopalakrishnan, Zvonimir Rakamaric, Dong H. Ahn, Igna- cio Laguna, Martin Schulz, Gregory L. Lee, Joachim Protze, and Matthias S. Müller. 2016. ARCHER: Effectively Spotting Data Races in Large OpenMP Applications. In 2016 IEEE International Parallel and Distributed Processing Symposium, IPDPS 2016, Chicago, IL, USA, May 23-27, 2016. 53-62. https://doi.org/10.1109/IPDPS.2016.68
  4. Tobias Hilbrich, Bronis R. de Supinski, Wolfgang E. Nagel, Joachim Protze, Chris- tel Baier, and Matthias S. Müller. 2013. Distributed wait state tracking for runtime MPI deadlock detection. In International Conference for High Performance Com- puting, Networking, Storage and Analysis, SC'13, Denver, CO, USA -November 17 - 21, 2013. 16:1-16:12. https://doi.org/10.1145/2503210.2503237
  5. Tobias Hilbrich, Joachim Protze, Martin Schulz, Bronis R. de Supinski, and Matthias S. Müller. 2012. MPI runtime error detection with MUST: advances in deadlock detection. In SC Conference on High Performance Computing Networking, Storage and Analysis, SC '12, Salt Lake City, UT, USA -November 11 -15, 2012. 30. https://doi.org/10.1109/SC.2012.79
  6. Tobias Hilbrich, Matthias Weber, Joachim Protze, Bronis R. de Supinski, and Wolfgang E. Nagel. 2016. Runtime Correctness Analysis of MPI-3 Nonblocking Collectives. In Proceedings of the 23rd European MPI Users' Group Meeting, EuroMPI 2016, Edinburgh, United Kingdom, September 25-28, 2016. 188-197. https://doi.org/ 10.1145/2966884.2966906
  7. Masahiro Nakao, Jinpil Lee, Taisuke Boku, and Mitsuhisa Sato. 2012. Productivity and Performance of Global-View Programming with XcalableMP PGAS Language. In Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (Ccgrid 2012) (CCGRID '12). IEEE Computer Society, Washington, DC, USA, 402-409. https://doi.org/10.1109/CCGrid.2012.118
  8. Joachim Protze, Tobias Hilbrich, Andreas Knüpfer, Bronis R. de Supinski, and Matthias S. Müller. 2012. Holistic Debugging of MPI Derived Datatypes. In 26th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2012, Shanghai, China, May 21-25, 2012. 354-365. https://doi.org/10.1109/IPDPS.2012.41
  9. XcalableMP Specification Working Group. 2016. XcalableMP Language Specifi- cation. http://www.xcalablemp.org/specification.html. (2016).
  10. Ilya Zhukov, Christian Feld, Markus Geimer, Michael Knobloch, Bernd Mohr, and Pavel Saviankou. 2015. Scalasca v2: Back to the Future. In Proc. of Tools for High Performance Computing 2014. Springer, 1-24. https://doi.org/10.1007/ 978-3-319-16012-2_1