Safe Parallelism: Compiler Analysis Techniques for Ada and OpenMP
Ref: CISTER-TR-180505 Publication Date: 18 to 22, Jun, 2018
Safe Parallelism: Compiler Analysis Techniques for Ada and OpenMP
Ref: CISTER-TR-180505 Publication Date: 18 to 22, Jun, 2018Abstract:
There is a growing need to support parallel computation in Ada to cope with the performance requirements of the most advanced functionalities of safety-critical systems. In that regard, the use of parallel programming models is paramount to exploit the benefits of parallelism. Recent works motivate the use of OpenMP for being a de facto standard in high-performance computing for programming shared memory architectures. These works address two important aspects towards the introduction of OpenMP in Ada: the compatibility of the OpenMP syntax with the Ada language, and the interoperability of the OpenMP and the Ada runtimes, demonstrating that OpenMP complements and supports the structured parallelism approach of the tasklet model.
This paper addresses a third fundamental aspect: functional safety from a compiler perspective. Particularly, it focuses on race conditions and considers the fine-grain and unstructured capabilities of OpenMP. Hereof, this paper presents a new compiler analysis technique that: 1) identifies potential race conditions in parallel Ada programs based on OpenMP or Ada tasks or both, and 2) provides solutions for the detected races.
Events:
Document:
23rd International Conference on Reliable Software Technologies (Ada-Europe 2018), pp 141-157.
Lisboa, Portugal.
DOI:https://doi.org/10.1007/978-3-319-92432-8_9.
ISBN: 978-3-319-92431-1.
Notes: Volume 10873
Record Date: 8, May, 2018