Monday Panel: OpenMP for High Integrity systems: Moving responsibility from users to vendors
OpenMP is traditionally focused on boosting performance in HPC systems. However, other domains are showing an increasing interest on 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, metadirective and declare variant directives, that allow forcing specific requirements and behaviors at execution time. One such domain is the safety-critical embedded domain, where several works have been presented towards the adoption of OpenMP. However, there is still a deep gap to be filled: as stated in the OpenMP specification “application developers are responsible for correctly using the OpenMP API to produce a conforming program”. This is not acceptable in high integrity systems, where aspects such as reliability and resiliency have to be ensured at different levels of criticality. For this reason, there is a need for moving the responsibility of producing correct OpenMP programs from users to vendors. This requires all specifications, and compiler and runtime implementations, to include the features needed to ensure safety, among other non-functional requirements. The panelists are technical leaders in the diverse domains involved in the topic of the panel:
Dirk Ziegenbein is a chief expert for engineering of cyber-physical systems at Bosch Corporate Research. Dirk has a deep background on modelling and design for embedded systems, and works developing methods and technologies for software systems engineering. He provides a key perspective on the needs of the industry regarding safety, and the challenges introduced by the inevitable use of parallel computing in automotive. In this sense, he reflects an interest on the modelling of the parallel system, rather than on the parallel programming model itself, so the particular inter-platform API (e.g., OpenCL, OpenMP, etc.) used to exploit parallelism is relevant, at this level, (1) to match the execution model designed at high-level, and (2) to preserve the non-functional requirements of the system.
Michael Klemm is the CEO of the OpenMP Architecture Review Board, organization in which he has been involved, among many others, in the development error handling features. His interests include compiler construction and design of programming languages, and his work is focused on High Performance and Throughput Computing. He provides a crucial point of view regarding the maturity of parallel APIs like OpenMP, and the fate of OpenMP to exploit safety-critical systems. Michael endorses the OpenMP community perspective, which targets mainly performance. This means that new features introduced in the specification (and ideally in the implementations) should not harm performance, and have to be compatible with the rest of the platform. He also provides a key knowledge on how new features targeting high-integrity systems could be included in OpenMP, and what is the willingness of current vendors to implement such kind of new features.
Tucker Taft is VP and Director of Language Research at AdaCore. Tucker has lead the design of Ada95 in the past, and has strong knowledge on compiler construction, static analysis and programming language design. His experience with high-integrity systems and languages contributes with a key perspective on how to effectively provide parallel APIs with the safety requirements of critical systems. Tucker represents a vendor point of view from the high-integrity domain angle, and so stands by vendors covering any aspects that are not necessarily a responsibility of the user. This idea can have an impact on the specification of APIs like OpenMP, as some features (e.g., data scoping, tasks dependencies, etc.) might not need to be controlled by the user any more, but by the compiler and the runtime instead. His expertise in language design, together with that of Dr. Klemm, set the scene for an interesting conversation about the future of parallel programming models and frameworks.
Eduardo Quiñones is the leader of the Predictable Parallel Computing group at the Barcelona Supercomputing Center. His research involves the next generation industry requirements for critical real-time systems spanning highly parallel heterogeneous architectures, parallel programming models and compiler design. He’s knowledge on both safety and performance sides makes Eduardo an excellent facilitator for all the parties involved in the development of high-integrity and high-performance systems. Given the obvious gap between design models and parallel programming models, his position is crucial to ensure the modifications in Cyber-Physical Systems and parallel programming models suit all parties. Additionally, his research activities provide an interesting opportunity to verify that the requirements are passed from design to implementation effectively before vendors have to implement new specifications.
The panel moderator is Sara Royuela, post-doctoral researcher at the Barcelona Supercomputing Center. Her research involves parallel programming models, compiler construction, and static analysis. Particularly, she has been actively promoted the introduction of OpenMP in Ada, as well as worked towards a more resilient and reliable OpenMP.
Mon 16 NovDisplayed time zone: Central Time (US & Canada) change
09:00 - 13:00
|Monday Keynote: What's new with the OpenMP API Version 5.1|
Michael Klemm OpenMP ARB
|Monday early coffee break|
|A Layered Mapping of Ada 202X to OpenMP|
Tucker Taft AdaCore, United States
|Parallel Multiple Double Precision to Solve Polynomial Systems|
Jan Verschelde University of Illinois at Chicago
|Monday later coffee break|
|Using the Tapir Compiler Intermediate Representation to Support Efficient Parallel Languages|
TB Schardl MIT CSAIL
|Monday Panel: OpenMP for High Integrity systems: Moving responsibility from users to vendors|