Abstract
OpenMP is traditionally focused on boosting performance in HPC systems. However, other domains are showing an increasing interest in the use of OpenMP by virtue of key aspects introduced in recent versions of the specification: the tasking model, the accelerator model, and other features like the requires and the assumes directives, which allow defining certain contracts. One example is the safety-critical embedded domain, where several efforts have been initiated towards the adoption of OpenMP. However, the OpenMP specification states that "application developers are responsible for correctly using the OpenMP API to produce a conforming program", being not acceptable in high integrity systems, where aspects such as reliability and resiliency have to be ensured at different levels of criticality. In this scope, programming languages like Ada propose a different paradigm by exposing fewer features to the user, and leaving the responsibility of safely exploiting the full underlying architecture to the compiler and the runtime systems, instead. The philosophy behind this kind of model is to move the responsibility of producing correct parallel programs from users to vendors.
In this panel, actors from different domains involved in the use of parallel programming models for the development of high-integrity systems share their thoughts about this topic.
- AdaCore. 2020. QGen. https://www.adacore.com/qgen.Google Scholar
- A. Duran, R. Ferrer, J.J. Costa, M. Gonzàlez, X. Martorell, E. Ayguadé, and J. Labarta. 2007. A Proposal for Error Handling in OpenMP. Intl. Journal of Parallel Programming 35, 4 (August 2007), 393--416. Google Scholar
Digital Library
- Eclipse. 2020. APP4MC. https://www.eclipse.org/app4mc/.Google Scholar
- OpenMP ARB. 2020. OpenMP Application Program Interface v5.1. https://www. openmp.org/wp-content/uploads/OpenMP-API-Specification-5--1.pdf.Google Scholar
- Luís Miguel Pinho, Brad Moore, Stephen Michell, and S Tucker Taft. 2015. An Execution Model for Fine-Grained Parallelism in Ada. In Ada-Europe International Conference on Reliable Software Technologies. Springer, 196--211.Google Scholar
- Eduardo Quiñones, Sara Royuela, Claudio Scordino, Paolo Gai, Luis Miguel Pinho, Luis Nogueira, Jan Rollo, Tommaso Cucinotta, Alessandro Biondi, Arne Hamann, et al. 2020. The AMPERE Project: A Model-driven development framework for highly Parallel and EneRgy-Efficient computation supporting multi-criteria optimization. In 23rd International Symposium on Real-Time Distributed Computing (ISORC). IEEE, 201--206.Google Scholar
Cross Ref
- S. Saidi, S. Steinhorst, A. Hamann, D. Ziegenbein, and M. Wolf. 2018. Special Session: Future Automotive Systems Design: Research Challenges and Opportunities. In 2018 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). Torino, Italy. https://doi.org/10.1109/CODESISSS.2018. 8525873 Google Scholar
Digital Library
- S Tucker Taft. 2020. A Layered Mapping of Ada 202X to OpenMP. https://2020.splashcon.org/details/hilt-2020-papers/2/A-Layered-Mapping-of- Ada-202X-to-OpenMP. In HILT Workshop on Safe Languages and Technologies for Structured and Efficient Parallel and Distributed/Cloud Computing.Google Scholar
- M. Wong, M. Klemm, A. Duran, T. Mattson, G. Haab, B.R. de Supinski, and A. Churbanov. 2010. Towards an Error Model for OpenMP. In Proceedings of the 6th International Workshop on OpenMP. Tsukuba, Japan, 70--82. LNCS 6132. Google Scholar
Digital Library
- D. Ziegenbein and A. Hamann. 2015. Timing-aware control software design for automotive systems. In 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). San Francisco, USA. https://doi.org/10.1145/2744769.2747947 Google Scholar
Digital Library
Index Terms
(auto-classified)The OpenMP API for High Integrity Systems: Moving Responsibility from Users to Vendors
Recommendations
Open Source Software Support for the OpenMP Runtime API for Profiling
ICPPW '09: Proceedings of the 2009 International Conference on Parallel Processing WorkshopsOpenMP is a defacto standard API for shared memory programming with widespread vendor support and a large user base. The OpenMP Architecture Review Board has sanctioned an interface specification known as the ”OpenMP Runtime API for Profiling” to enable ...
Compiler and Runtime Support for Running OpenMP Programs on Pentium-and Itanium-Architectures
HIPS '03: Proceedings of the Eighth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'03)Exploiting Thread-Level Parallelism (TLP) is a promisingway to improve the performance of applications with theadvent of general-purpose cost effective uni-processor andshared-memory multiprocessor systems. In this paper, wedescribe the OpenMP ...
Performance Evaluation of OpenMP and MPI Hybrid Programs on a Large Scale Multi-core Multi-socket Cluster, T2K Open Supercomputer
ICPPW '09: Proceedings of the 2009 International Conference on Parallel Processing WorkshopsNon-uniform memory access (NUMA) systems, where each processor has its own memory, have been popular platform in high-end computing. While some early studies had reported that a flat-MPI programming model outperformed an OpenMP/MPI hybrid programming ...






Comments