An OpenMP Parallel Genetic Algorithm for Design Space Exploration of Heterogeneous Multi-processor Embedded Systems

Heterogeneous multiprocessor platforms are becoming widespread in the embedded system domain, mainly for the opportunity to improve timing performance and to minimize energy/power consumption and costs. Therefore, when using such platforms, it is important to adopt a Design Space Exploration (DSE) strategy that considers compromises among different objectives. Existing DSE approaches are generally based on evolutionary algorithms to solve Multi-Objective Optimization Problems (MOOPs) by minimizing a linear combination of weighted cost functions (i.e., Weighted Sum Method, WSM). In this way, the main issues are related to reduce timing execution while trying to improve the evolutionary algorithm performance, introducing strategies that attempt to bring better solutions. Code parallelization is one of the most used approaches in this field, but no standard methods have been released since different aspects could affect the performance. This approach leads to exploit parallel and distributed processing elements in order to implement evolutionary algorithms. In the latter case, if we consider genetic algorithms, it is possible to talk about Parallel Genetic Algorithms (PGA). Considering this context, this paper focuses on DSE for heterogeneous multi-processor embedded systems and introduces an improvement that reduces execution time using parallel programming languages (i.e., OpenMP) inside the main genetic algorithm approach, while trying to lead to better partitioning solutions. The descriptions of the adopted DSE activities and the OpenMP implementation, validated by means of a case study, represent the core of the paper.

[1]  Luigi Pomante HW/SW co-design of dedicated heterogeneous parallel systems: an extended design space exploration approach , 2013, IET Comput. Digit. Tech..

[2]  T. Prabhakar Clement,et al.  Using Parallel Genetic Algorithms for Estimating Model Parameters in Complex Reactive Transport Problems , 2019 .

[3]  Luigi Pomante,et al.  Criticality-driven Design Space Exploration for Mixed-Criticality Heterogeneous Parallel Embedded Systems , 2018, PARMA-DITAM '18.

[4]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[5]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .

[6]  Luigi Pomante,et al.  CC4CS: an Off-the-Shelf Unifying Statement-Level Performance Metric for HW/SW Technologies , 2018, ICPE Companion.

[7]  Luigi Pomante,et al.  HEPSIM: An ESL HW/SW co-simulator/analysis tool for heterogeneous parallel embedded systems , 2018, 2018 7th Mediterranean Conference on Embedded Computing (MECO).

[8]  Zhurong Wang,et al.  A study of hybrid parallel genetic algorithm model , 2011, 2011 Seventh International Conference on Natural Computation.

[9]  Donatella Sciuto,et al.  Affinity-driven system design exploration for heterogeneous multiprocessor SoC , 2006, IEEE Transactions on Computers.

[10]  Luigi Pomante,et al.  System-level design space exploration for dedicated heterogeneous multi-processor systems , 2011, ASAP 2011 - 22nd IEEE International Conference on Application-specific Systems, Architectures and Processors.

[11]  Vittoriano Muttillo,et al.  Tuning DSE for Heterogeneous Multi-Processor Embedded Systems by means of a Self-Equalized Weighted Sum Method , 2019 .