AMPERE participated in a panel discussion about OpenMP and Ada in high-integrity systems at SPLASH 2020

AMPERE participated in a panel discussion about OpenMP and Ada in high-integrity systems at SPLASH 2020

The AMPERE consortium participated in a panel discussion titled 'OpenMP for High Integrity systems: Moving responsibility from users to vendors' as part of HILT 2020 Workshop on Safe Languages and Technologies for Structured and Efficient Parallel and Distributed/Cloud Computing at the ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2020) on 16 November at 12:00h (CT).

The participants of the panel discussion were: Sara Royuela (BSC), Michael Klemm (OpenMP), Eduardo Quiñones (BSC), Tucker Taft (AdaCore), and Dirk Ziegenbein (Bosch). 

The panel was composed of experts who come from different domains involved in the use of parallel programming models for the development of high-integrity systems and they shared in-depth their thoughts on certain needs due to requirements in high-performance, as well as real-time efficiency, safety, and flexibility. All participants offered their points of view and the discussion focused on the several efforts that have been initiated towards the adoption of OpenMP in the safety-critical embedded domain. 

Particularly, Eduardo Quiñones, AMPERE coordinator at Barcelona Supercomputing Center (BSC), explains how he has been supporting the adoption of OpenMP in the embedded domain and how the panel brings together experts at three different levels of the development cycle, commenting on the programming models they use, and how they complement and link each other. He also concluded that a great starting point to work on would be a first subset resulting from Ada contracts that could guarantee a certified parallel execution built on top of OpenMP to be used in a safety environment.

Moreover, Ada contracts for parallelism used for data race detection, and the 202X parallel programming goals were shared and the latter were defined as follows: make easy and safe to write parallel algorithms, hide the housekeeping of dispatch/scheduling/data accumulation, have the compiler detect and prevent data races and unintentional blocking, and enable the use of various light-wright threading (LWT) systems (OpenMP is the most important, has multiple implementations, and provides a portable default LWT library that runs on Ada run-time).

During the panel discussion, it was mentioned that 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. Additionally, three topics were discussed in-depth, which are: parallelism in high-integrity systems, tools support for safe parallelism, and suitability of parallel APIs.

Finally, the panel discussion resulted in a paper titled 'The OpenMP API for High Integrity Systems: Moving Responsibility from Users to Vendors' that will be published soon in the SIGAda 'Ada Letters' newsletter.

Watch the panel discussion here

  • Introductions: 3:04:35.
  • AMPERE project intro:4:00:51