ABSTRACT
This chapter examines the use of the Open Multi-Processing (OpenMP) parallel programming model to develop future critical real-time embedded systems, and analyzes the time-predictable properties of the OpenMP tasking model. Parallel programming models are of paramount importance to exploit the massive computation capabilities of state-of-the-art and future parallel and heterogeneous processor architectures. Portable Operating System Interface for UNIX threads, usually referred to as Pthreads, is a standard C language programming interface for UNIX systems. OpenMP represents the computing resources of a parallel processor architecture by means of high-level threads, named OpenMP threads, upon which programmers can assign units of code to be executed. The extraction of an OpenMP- direct acyclic graph (DAG) representing the parallel execution of an OpenMP program in such a way that timing analysis can be performed, requires analyzing the OpenMP constructs included in the source code, so the nodes and edges that form the DAG can be identified.
