Abstract
The development of correct high performance computing applications is challenged by software defects that result from parallel programming. We present an automatic tool that provides novel correctness capabilities for application developers of OpenSHMEM applications. These applications follow a Single Program Multiple Data (SPMD) model of parallel programming. A strict form of SPMD programming requires that certain types of operations are textually aligned, i.e., they need to be called from the same source code line in every process. This paper proposes and demonstrates run-time checks that assert such behavior for OpenSHMEM collective communication calls. The resulting tool helps to check program consistency in an automatic and scalable fashion. We introduce the types of checks that we cover and include strict checks that help application developers to detect deviations from expected program behavior. Further, we discuss how we can utilize a parallel tool infrastructure to achieve a scalable and maintainable implementation for these checks. Finally, we discuss an extension of our checks towards further types of OpenSHMEM operations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
We replace the call stack information with a numeric identifier as to reuse information on known call stacks.
References
Buck, B., Hollingsworth, J.K.: An API for runtime code patching. Int. J. High Perform. Comput. Appl. 14(4), 317–329 (2000)
Consortium, T.G.: GASPI: Global Address Space Programming Interface - Specification of a PGAS API for communication, version 1.01. Technical report (2013)
Falzone, C., Chan, A., Lusk, E.L., Gropp, W.: A portable method for finding user errors in the usage of MPI collective operations. Int. J. High Perform. Comput. Appl. 21(2), 155–165 (2007)
Hilbrich, T., Hänsel, F., Schulz, M., de Supinski, B.R., Müller, M.S., Nagel, W.E., Protze, J.: Runtime MPI collective checking with tree-based overlay networks. In: Proceedings of the 20th European MPI Users’ Group Meeting, EuroMPI 2013, pp. 129–134. ACM New York (2013)
Hilbrich, T., Müller, M.S., de Supinski, B.R., Schulz, M., Nagel, W.E.: GTI: A generic tools infrastructure for event-based tools in parallel systems. In: Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium, IPDPS 2012, pp. 1364–1375. IEEE Computer Society Washington, DC (2012)
Hilbrich, T., Müller, M.S., Schulz, M., de Supinski, B.R.: Order preserving event aggregation in TBONs. In: Cotronis, Y., Danalis, A., Nikolopoulos, D.S., Dongarra, J. (eds.) EuroMPI 2011. LNCS, vol. 6960, pp. 19–28. Springer, Heidelberg (2011)
Kamil, A., Yelick, K.: Enforcing textual alignment of collectives using dynamic checks. In: Gao, G.R., Pollock, L.L., Cavazos, J., Li, X. (eds.) LCPC 2009. LNCS, vol. 5898, pp. 368–382. Springer, Heidelberg (2010)
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, Version 3.1. (2015). http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf. Accessed 19 June 2015
Pophale, S., Hernandez, O., Chapman, B.: Static Analysis for unaligned collective synchronization matching for OpenSHMEM. In: Proceedings of the 7th International Conference on PGAS Models, pp. 231–336. The University of Edinburgh, Edinburgh (2014)
Roth, P.C., Arnold, D.C., Miller, B.P.: MRNet: A software-based multicast/reduction network for scalable tools. In: Proceedings of the 2003 ACM/IEEE Conference on Supercomputing, SC 2003, New York. ACM (2003)
Träff, J.L., Worringen, J.: Verifying collective MPI calls. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 18–27. Springer, Heidelberg (2004)
openshmem.org. OpenSHMEM Application Programming Interface v1.2, 04 (2015)
Yelick, K., Semenzato, L., Pike, G., Miyamoto, C., Liblit, B., Krishnamurthy, A., Hilfinger, P., Graham, S., Gay, D., Colella, P., Aiken, A.: Titanium: a high-performance Java dialect. Concur.: Pract. Exp. 10(11–13), 825–836 (1998)
Zhang, Y., Duesterwald, E.: Barrier matching for programs with textually unaligned barriers. In: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2007, pp. 194–204. ACM, New York (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Knüpfer, A., Hilbrich, T., Protze, J., Schuchart, J. (2015). Dynamic Analysis to Support Program Development with the Textually Aligned Property for OpenSHMEM Collectives. In: Gorentla Venkata, M., Shamis, P., Imam, N., Lopez, M. (eds) OpenSHMEM and Related Technologies. Experiences, Implementations, and Technologies. OpenSHMEM 2014. Lecture Notes in Computer Science(), vol 9397. Springer, Cham. https://doi.org/10.1007/978-3-319-26428-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-26428-8_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-26427-1
Online ISBN: 978-3-319-26428-8
eBook Packages: Computer ScienceComputer Science (R0)