Hardware Reference
In-Depth Information
3.2
Problem Description and Software Framework
To define an optimization problem it is necessary to identify the input parameters of
the problem, which constitute the Design Space, and the output parameters, often
called metrics . Among the output parameters some objectives must be selected in
order to build the Objective Space. Other outputs can be considered as constraints,
but also input parameters can be combined in order to obtain the desired constraints.
A typical example is the pair of variables processor type-cache size: some processors
may support only certain values of cache size and a constraint must be added to the
problem to enforce this requirement.
The output values associated to a given configuration of input parameters are
obtained through a simulator. The choice of which designs have to be explored is
responsibility of the optimization algorithm and of the DOE designer for what con-
cerns the starting points. The whole structure comprising inputs, outputs, simulator,
algorithm is called workflow.
One of the first achievements of the MULTICUBE project is the definition of
a common framework for generating a complete workflow using a standard XML
format. Both DSE tools, Multicube Explorer and modeFRONTIER, can accept the
same configuration file and they are able to run optimization starting from the infor-
mation listed in it. Specific tags have been created in order to specify input and output
values, a precise syntax is used to define constraints and the path to the executable
simulator is included.
The communication between the optimization algorithm and the simulator is per-
formed through XML file as well. The DSE tool is also responsible for launching
parallel instances of the simulator, if the computational resources available allow
them.
From the strictly mathematical point of view, the problems addressed can be
characterized as follows. The vector of input variables x
( x 1 , ... , x N ) can take
values into different sets depending on the nature of its components. An integer
variable is usually comprised between a lower and an upper bound, x i
=
x i
x i
,
where i
[1, N ]. However it is possible that only some integer values might be
of interest, for example only the powers of 2. This kind of variables are similar to
categorical variables, but they maintain the notion of order. On the contrary, another
way of calling a categorical variable is discrete unordered variable since this is their
main feature. The list of admissible values is called catalogue . The optimization
problem is then
min
f ( x 1 , ... , x N ),
such that
g ( x 1 , ... , x N )
0,
(3.1)
h ( x 1 , ... , x N )
=
0 .
The vector functions f , g and h can have arbitrary dimensions. It is not necessary that
all the functions involved in the problem are minimization targets. For example if a
function φ ( x ) has to be maximized and it should occupy the i -th component of f ,a
simple change of sign can solve the problem defining f i :
=− φ . The same procedure
can be applied to “less or equal to” constraints.
Search WWH ::




Custom Search