Towards a Qualifiable OpenMP Framework for Embedded Systems

Adrian Muneraa, Sara Royuelab and Eduardo Quiñonesc

Barcelona Supercomputing Center
aadrian.munera@bsc.es
bsara.royuela@bsc.es
ceduardo.quinones@bsc.es

ABSTRACT

OpenMP is a very convenient programming model for critical real-time parallel applications due to its powerful tasking model and its proven time predictability. However, current implementations are not suitable for critical environments based on the intensive use of dynamically allocated memory needed to efficiently manage the parallel execution. This jeopardizes the qualification processes needed to ensure that the integrated software stack is compliant with system requirements. This paper proposes a novel OpenMP framework that statically allocates the data structures needed to efficiently manage the parallel execution of OpenMP tasks. Our framework is composed of a compiler that captures the environment of the OpenMP tasks instantiated along the parallel execution and bounds the exposed parallelism, and a runtime implementing a lazy task creation policy that significantly reduces the runtime memory requirements, whilst exploiting parallelism efficiently. The evaluation shows that our tool achieves the same performance as current OpenMP implementations, while bounds and drastically reduces the dynamic memory requirements at run-time.

Keywords: OpenMP, Qualification, Memory Allocation.



Full Text (PDF)