=Paper=
{{Paper
|id=Vol-1643/paper-04
|storemode=property
|title=Search Space Reduction for E/E-Architecture Partitioning
|pdfUrl=https://ceur-ws.org/Vol-1643/paper-04.pdf
|volume=Vol-1643
|authors=Andreas Ettner
|dblpUrl=https://dblp.org/rec/conf/date/Ettner16
}}
==Search Space Reduction for E/E-Architecture Partitioning==
Proceedings of 1st Workshop on Resource Awareness and Application Autotuning in Adaptive and Heterogeneous Computing (RES4ANT) 2016
Search Space Reduction for E/E-Architecture
Partitioning
Andreas Ettner
Robert Bosch GmbH, Corporate Reasearch,
Robert-Bosch-Campus 1, 71272 Renningen, Germany
andreas.ettner@de.bosch.com
Abstract. As the design of electrical/electronic (E/E)-architectures is
becoming more complex, multi-objective optimization algorithms such
as evolutionary algorithms (EAs) have been proposed for generating
resource optimized architectures. In this paper we extend existing ap-
proaches by excluding infeasible solutions from the search space and
thereby enhance the quality and runtime behavior of the optimization.
Keywords: E/E-Architecture Partitioning, Design Space Reduction, Evo-
lutionary Algorithm
1 Introduction
Due to the introduction of new safety and comfort functions related to advanced
driver assistance, highly automated driving, and car-to-x connectivity, the num-
ber and interconnections of functions in vehicles has been growing over the last
decades and is going to grow further over the next years. As a result, distributed
vehicle system architectures consisting of heterogeneous computing resources be-
come more complex and power consuming. Thereby, also the complexity of the
allocation task problem is growing, which is defined as assigning functions to
Electronic Control Units (ECUs) while fulfilling various design constraints, such
as safety requirements and resource restrictions (see Figure 1).
In recent years, several optimization methods with the aim of supporting
engineers in power and resource aware design of E/E-architectures have been
proposed. While Walla [6] presented a mixed-integer linear programming (MILP)
approach to optimize function partitioning with respect to energy efficiency,
EAs have proven useful for concurrent optimization of multiple objectives, such
as performance, cost, and reliability [1], [3], [4]. However, when increasing the
number of design constraints, EAs might fail in producing feasible solutions and
in converging toward a global maximum. Common approaches to overcome this
problem have been compared by Moser [5] and the results showed that repairing
infeasible solutions is superior to penalizing and constrain-dominance methods.
Yet, the search space still contains all infeasible solutions for each of which the
repair function would be invoked. In order to overcome this drawback and to
decrease the amount of infeasible solutions, we present an approach to reduce
the search space in advance of the optimization run. Thereby, we enhance the
quality and runtime behavior of the optimization.
Proceedings of 1st Workshop on Resource Awareness and Application Autotuning in Adaptive and Heterogeneous Computing (RES4ANT) 2016
2 Search Space Reduction for E/E-Architecture Partitioning
Fig. 1. Function Allocation
2 Concept
2.1 Models and Representation
Figure 1 exemplary shows the two input models to the optimization. The function
model consists of a set F of functions with inter-dependencies being represented
by directed edges. The architecture is modelled by a set E of ECUs connected
by bus structures. Properties describe the available resources on the ECUs and
the resource demands as well as functional requirements of the functions. For
example, the computing requirements for each function are represented by rf
and the available computing resources for each ECU by re , respectively.
The allocation of vehicle functions to the ECUs is represented by a mapping
vector m indicating for each function fi the corresponding ECU identifier ej .
By default, each function can be allocated to each ECU, such that the set of all
possible ECUs for fi is M = {e1 , ..., eJ } and the number of possible solutions is
S = |E||F | .
2.2 Objective Functions and Constraints
In our approach, we optimize three objective functions: network communication,
safety, and the collection of functions with certain properties on a minimum
number of ECUs. As the search space reduction is independent of the objective
functions, we will concentrate on the constraints in the following:
– Location constraints either define a set of ECUs CI,i - where function fi will
be mapped to one element of this set - or exclude a set of ECUs CE,i .
Proceedings of 1st Workshop on Resource Awareness and Application Autotuning in Adaptive and Heterogeneous Computing (RES4ANT) 2016
Search Space Reduction for E/E-Architecture Partitioning 3
– Colocation constraints either forbid two functions to be allocated to the same
ECU (Cban : e(fi ) 6= e(fj )) or force two functions to reside on the same ECU
(Cf orce : e(fi ) = e(fj )).
– Some functions demand certain components or functional requirements reqf,
which have to be provided by the corresponding ECU (reqe ). Therefore,
function fi can only be allocated to one ECU of the set Creq,i = {e|reqe ≥
reqf }.
– Some resources, such as the memory and computing units, P are shared among
all functions allocated to the ECU. Therefore, re,j ≥ rf,i with (e(fi ) = ej )
has to hold for each ECU.
2.3 Genetic Algorithm
For the optimization, we use the NSGA-II algorithm presented by Deb [2]. Its
structure is shown in Figure 2. During initialization, a population of solutions is
generated by assigning one element of set M to each of the functions resulting
in one mapping vector for each solution. Afterwards, the population iteratively
improves by creating new solutions, evaluating these solutions with regard to
the constraints and the objective functions (see Fig. 3), and finally selecting the
best solutions for the next generations based on Pareto-optimality.
Fig. 2. Structure of Evolutionary Algorithm
New solutions are generated by variation operators such as mutation, which
assigns an element of set M to a random number of functions. Thereby, a huge
amount of solutions violating the constraints defined in chapter 2.2 might be
generated that would have to be either repaired or discarded. As an approach
to reduce this number, we reduce the sets Mi for each function fi in advance of
the optimization by analyzing the design constraints and use those sets during
initialization and mutation to generate new individuals.
Proceedings of 1st Workshop on Resource Awareness and Application Autotuning in Adaptive and Heterogeneous Computing (RES4ANT) 2016
4 Search Space Reduction for E/E-Architecture Partitioning
Fig. 3. Evaluation of individuals
2.4 Search Space Reduction (SSR)
Figure 4 presents the SSR for each function. In a first step, the sets Mi are
initialized with either the ECUs defined in CI,i (1a) or, in case CI,i is not defined,
with all ECUs from M (1b). Afterwards, Mi is reduced by CE,i (2), by the ECUs
that do not fulfil the constraints on functional requirements (3), and by the ECUs
that do not provide sufficient resources for function fi (4). Step (5) ensures that
the sets Mi and Mj of two functions to be forced together contain the same ECU
elements. Finally, if functions to be banned from fi are already allocated to a
certain ECU, this ECU is removed from Mi (6).
Fig. 4. Reduction sequence
3 CASE STUDY AND RESULTS
Table 1 and Table 2 exemplary show the property values for the optimization
problem presented in Figure 1.
f1 f2 f3 f4 f5 f6 e1 e2 e3 e4 e5
rf 6 2 3 1 2 3 re 10 10 5 10 10
f reqf 8 0 4 4 2 1 f reqe 8 4 8 2 1
Table 1. Function requirements Table 2. ECU properties
Proceedings of 1st Workshop on Resource Awareness and Application Autotuning in Adaptive and Heterogeneous Computing (RES4ANT) 2016
Search Space Reduction for E/E-Architecture Partitioning 5
original (1) (2) (3) (4) (5) (6)
15,625 9,375 7,500 810 405 243 162
100 % 60 % 48 % 5.2 % 2.6 % 1.6 % 1%
Table 3. Size of search space after each reduction step
Furthermore, let CI,2 = {e1 , e2 , e3 }, CE,5 = {e1 }, and consider f orce(f5 , f6 )
and ban(f1 , f2 ). Applying SSR to the optimization problem results in M1 = {e1 },
M2 = {e2 , e3 }, M3 = {e1 , e2 , e3 }, M4 = {e1 , e2 , e3 }, M5 = {e2 , e3 , e4 } and
M6 = {e2 , e3 , e4 }. As shown in Table 3, the search space could be pruned to about
1 % of its original size. This has also an impact on the number of generations for
finding the optimal solutions. With a population size of 10, we commonly find the
five Pareto-points after 15 generations, whereas an EA with repair mechanism
needs 150 generation and an EA without repair function and mapping sets more
than 5000 generations. For a larger use case with 32 functions, 10 ECUs, location
constraints on 28 functions, and a population size of 50, Figure 5 shows the mean
hypervolume values over 25 optimization runs. Whereas the standalone NSGA-II
finds first feasible solutions after 60 generations and then slowly increases, the
NSGA-II with SSR converges after 140 generations.
Fig. 5. Hypervolume with SSR (black) and without (blue)
References
1. Blickle, Tobias, Jrgen Teich, and Lothar Thiele. ”System-level synthesis using evo-
lutionary algorithms.” Design Automation for Embedded Systems 3.1 (1998): 23-58.
2. Deb, Kalyanmoy, et al. ”A fast and elitist multiobjective genetic algorithm: NSGA-
II.” Evolutionary Computation, IEEE Transactions on 6.2 (2002): 182-197.
3. Hardung, Bernd. Optimisation of the allocation of functions in vehicle networks.
Shaker, 2006.
4. Moritz, Ralph, Tamara Ulrich, and Lothar Thiele. ”Evolutionary exploration of
e/e-architectures in automotive design.” Operations Research Proceedings 2011.
Springer Berlin Heidelberg, 2012. 361-366.
5. Moser, Irene, and Sanaz Mostaghim. ”The automotive deployment problem: A prac-
tical application for constrained multiobjective evolutionary optimisation.” Evolu-
tionary Computation (CEC), 2010 IEEE Congress on. IEEE, 2010.
6. Walla, Gregor, et al. ”An automotive specific MILP model targeting power-aware
function partitioning.” Embedded Computer Systems: Architectures, Modeling, and
Simulation (SAMOS XIV), 2014 International Conference on. IEEE, 2014