Schedule-Aware Loop Parallelization for Embedded MPSoCs by Exploiting Parallel Slack
- Aguilar, M. A. , Leupers, R. , Ascheid, G. , Kavvadias, N. , Fitzpatrick, L.
- Book Title:
- 20th Design Automation and Test in Europe Conference (DATE)
- European Design and Automation Association
- p.p. 1237-1240
- Lausanne, Switzerland
MPSoC programming is still a challenging task, where several aspects have to be taken into account to achieve a profitable parallel execution. Selecting a proper scheduling policy is an aspect that has a major impact on the performance. OpenMP is an example of a programming paradigm that allows to specify the scheduling policy on a per loop basis. However, choosing the best scheduling policy and the corresponding parameters is not a trivial task. In fact, there is already a large amount of software parallelized with OpenMP, where the scheduling policy is not explicitly specified. Then, the scheduling decision is left to the default runtime, which in most of the cases does not yield the best performance. In this paper, we present a schedule-aware optimization approach enabled by exploiting the parallel slack existing in loops parallelized with OpenMP. Results on an embedded multicore device, show that the performance achieved by OpenMP loops optimized with our approach outperform by up to 93%, the performance achieved by the original OpenMP loops, where the scheduling policy is not specified.