How to achieve optimization multi-core designs using a multi-objective optimization heuristic.
Technologies such as autonomous cars and 5G communication are seeing a rapid increase in the number of processing elements (PE) per platform. Where software professionals were used to programming one, two or a handful of cores, the game has now changed. Intel’s Many Integrated Core Architecture [3] contains up to 78 cores, Nvidia Tegra XI[2] has up to 260 cores and Adapteva’s Epiphany-V[1] has 1024 cores. Future systems will utilize platforms with thousands of cores and this poses many new challenges. Understanding your system has never
been more important.
Mapping a parallel application on a multi-processor system-on-chip (MPSoC) platform refers to assigning different tasks of a parallel application onto PEs. Mapping is typically performed for a certain mapping objective, such as meeting deadlines, improving performance, reducing energy/power consumption and optimizing memory throughput. Objective-based mapping is considered to be an NP-complete problem[4]. This implies that it is unlikely for an approach to find an optimal mapping solution in polynomial time. Furthermore, the mapping search space (MSS) grows exponentially with MPSoC platform and/or parallel application complexity increase. Therefore, different mapping algorithms and heuristics have been developed to explore the MSS to find a procedure which can fulfill the required mapping objective criteria.
More and more applications require multiple objectives to be optimized simultaneously. This is referred to as multi-objective optimization. Typically, these objectives can be contradictory in nature and potentially lead to multiple solutions with varying results for the optimization goals. In this case, multi-objective optimization can produce a set of optimal solutions that represent a trade-off between the different objective values. The solution set is called Pareto optimal set or just Pareto solutions.
One approach to find the Pareto optimal solution is to analyze every possible mapping solution present in the MSS. For example, by using exhaustive search or brute force search techniques. This is usually not feasible because of long exploration times or resource requirements. Alternatively, multi-objective evolutionary algorithms (MOEA) are used. MOEAs are meta-heuristics that can provide a near optimal solution set in significantly reduced exploration time[6].
Click here to read more.
Leave a Reply