skip to main content
research-article

The OpenMP API for High Integrity Systems: Moving Responsibility from Users to Vendors

Published:27 April 2021Publication History
Skip Abstract Section

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.

References

  1. AdaCore. 2020. QGen. https://www.adacore.com/qgen.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Eclipse. 2020. APP4MC. https://www.eclipse.org/app4mc/.Google ScholarGoogle Scholar
  4. OpenMP ARB. 2020. OpenMP Application Program Interface v5.1. https://www. openmp.org/wp-content/uploads/OpenMP-API-Specification-5--1.pdf.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

(auto-classified)
  1. The OpenMP API for High Integrity Systems: Moving Responsibility from Users to Vendors

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGAda Ada Letters
          ACM SIGAda Ada Letters  Volume 40, Issue 2
          December 2020
          55 pages
          ISSN:1094-3641
          DOI:10.1145/3463478
          • Editor:
          • Alok Srivastava
          Issue’s Table of Contents

          Copyright © 2021 Copyright is held by the owner/author(s)

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 27 April 2021

          Check for updates

          Qualifiers

          • research-article
        • Article Metrics

          • Downloads (Last 12 months)14
          • Downloads (Last 6 weeks)0

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!