Hardware Reference
In-Depth Information
In this Chapter we target both the number of cores and their frequency as a run-time
configurable parameter of an application. We thus assume that:
￿
The task-level parallelism of each application running on the system can be
changed through code versioning .
￿
The frequency associated with each core can be changed (or scaled ) dynamically.
The overall goal of RRM is to make a reasonable assignment of the run-time pa-
rameters to reach pre-determined operating goals. Operating goals can be just one
(e.g. execution time) or multiple (e.g. power consumption, throughput QoS), as in
our case. In our tool flow, the RRM is incorporated on top of the basic services of
the platform OS and acts as an exception handler. Its implementation conforms to
the framework proposed in [ 40 ]. Its optimization strategy to globally select optimal
configurations for the active applications extends the fast MMKP heuristic for multi-
core run-time management [ 37 ]. In case of soft real-time applications, and when the
optimization strategy can find no solution, RRM also takes the application priori-
ties into account to relax the constraints and to reach a solution after all [ 21 ]. Also
to reduce execution overhead of the run-time selection heuristic, our methodology
performs initial filtering of optimal run-time parameter configurations. This allows
further alleviating the run-time selection heuristic.
5.3
Run-time Resource Management Problem Definition
As described above, the goal of the proposed methodology (Fig. 5.1 ) for our
case is to achieve, at deployment time, a desired QoS while minimizing power
consumption and maximizing the usage of multiple cores. Before describing our
methodology (Sect. 5.4 ), we formally define RRM problem. This section first de-
scribes terminologies used in this Chapter and then formally describes the RRM
problem.
5.3.1
Terminologies
In this Chapter we will assume that there are p active applications; we identify
each application with an identifier α
. During its lifetime, each
application can be described as having a specific operating point which consists of
its actual cost , used resources and achieved QoS . A list of suitable operating points
is essential for the correct behavior of the run-time manager since it represents both
the goals to be optimized (cost, QoS and resources) as well as the independent
control parameters (the resources and their associated properties) with which the
optimization goal can be achieved.
A
={
α 1 ...α p }
Search WWH ::




Custom Search