Abstract
Programming multicore embedded systems is a real challenge and is often realized using OpenMP that is used to parallelize sequential code Unfortunately, auto-parallelizers and modern compilers can provide only limited auto-parallelization potential for embedded code that contains use of pointers and nested conditional statements, together with complicated data and control dependencies. Nevertheless, many of these loops could have been manually parallelized using the same building blocks of loop transformations. This can be done by using the fact that the programmer knows the intended semantic of the loop and thus can modify the code, overcoming dependencies which the automatic parallelizer cannot ignore. To help developers with this parallelization effort, we introduce a new source-level advisory tool called OCA - Optimizing Code Advisor, which provides recommendations on possible loop parallelization. The recommendations are formed by constructing basic and compound loop transformations extracted from a symbolic analysis applied on the program's Abstract Syntax Tree. The OCA tool is an Eclipse plugin that provides the programmer with the needed steps on how to manually parallelize the code in order to extract maximal performance using OpenMP [10] constructs. OCA's recommendations cannot be applied automatically to refactor the code but rather to be used as guidelines on how to apply them manually as it relies on the user to handle issues that may arise from memory aliasing and memory side effects. We applied OCA recommendations on the Bzip2 [11] source code and were able to show the parallelization effectiveness of the tool.
Original language | English |
---|---|
Title of host publication | Proceedings - 2023 16th IEEE International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2023 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 89-96 |
Number of pages | 8 |
ISBN (Electronic) | 9798350393613 |
DOIs | |
State | Published - 2023 |
Event | 16th IEEE International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2023 - Singapore, Singapore Duration: 18 Dec 2023 → 21 Dec 2023 |
Publication series
Name | Proceedings - 2023 16th IEEE International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2023 |
---|
Conference
Conference | 16th IEEE International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2023 |
---|---|
Country/Territory | Singapore |
City | Singapore |
Period | 18/12/23 → 21/12/23 |
Bibliographical note
Publisher Copyright:© 2023 IEEE.
Keywords
- Code Advisory
- Eclipse IDE
- OpenMP
- Parallelization Hints
ASJC Scopus subject areas
- Artificial Intelligence
- Computer Networks and Communications
- Computer Science Applications
- Hardware and Architecture