[176843]
Title: Multi-Objective Optimization for the Compiler of Hard Real-Time Systems. <em>In Proceedings of the 23rd International Symposium on Mathematical Programming (ISMP)</em>
Written by: Kateryna Muts, Arno Luppold and Heiko Falk
in: July (2018).
Volume: Number:
on pages:
Chapter:
Editor:
Publisher:
Series:
Address: Bordeaux / France
Edition:
ISBN:
how published: 18-70 MLF18b ISMP
Organization:
School:
Institution:
Type:
DOI:
URL:
ARXIVID:
PMID:

Note: kmuts, aluppold, hfalk, multiopt, ESD, WCC

Abstract: With the growing complexity of embedded systems software, high code quality can only be achieved using a compiler. Sophisticated compilers provide various optimizations to improve code aggressively w.r.t. different objective functions, e.g., worst-case execution time (WCET) and code size, which usually contradict each other. In order to find a suitable trade-off between these objectives, evolutionary multi-objective algorithms identifying Pareto optimal solutions are exploited. The thirs version of the Generalized Differential Evolution (GDE3) is currently one of the most suitable multi-objective evolutionary algorithms. However, the standard GDE3 cannot be used for solving the binary-coded optimization problems directly. A binary generalized differential evolution algorithm (BGDE) is inspired by the novel modified binary differential evolution algorithm (NMBDE) for single-objective optimization problems and GDE3. The formulas of the standard GDE3, including the mutation, crossover and selection operators, are reserved in BGDE. The probability estimation operator proposed in NMBDE is used to map real-coded vectors, generated by GDE3, to binary-coded vectors. The BGDE and multi-objective binary probability optimization algorithm (MBPOA), which is developed for binary-coded problems, are implemented in a compiler framework for hard real-time systems to perform an automatic minimization of the code size and WCET for the well-known compiler optimization function inlining. A comparison is performed the helps to determine the most suitable multi-objective optimizer.