Hardware Reference
In-Depth Information
a trade off between resources needed to execute the application and the application
performance.
In this context, a Run-time Resource Management layer (RRM), part of the Oper-
ating System (OS), is expected to dynamically decide which application version has
to be executed for each active application. In particular the design of future MPSoC
should consider a complex multi-programmed scenario where many applications,
each one composed of multiple parallel threads, are competing for accessing the
shared computing resources.
The RRM problem becomes more complex as the number of run-time tunable
parameters to be controlled by the OS increases; e.g., when operating frequencies
of processors executing different threads have to be set together with the application
parallelization. The RRM should set at run-time, for each active application, an op-
erating configuration to dynamically match the user requirements while minimizing
non-functional costs as energy or power consumption of the MPSoC platform.
Run-time decision making involves the solution of a combinatorial problem to
fit, with the lowest cost and highest QoS, a set of predetermined resources. In fact,
deciding which operating configuration has to be set for each application can be
modeled as a Multi-dimension Multiple-choice Knapsack Problem (MMKP) [ 9 ] and
belongs to the NP-hard class of problems [ 3 ].
Performing an exhaustive exploration of the possible candidate solutions at run-
time would be too slow and even a trial-and-error procedure, where the RRM
physically tries on the platform different operating configurations and then takes
decisions based on observed system behaviors, would be unacceptable. To cope
with this problem, in Chap. 5 we introduced a lightweight RRM exploiting design-
time knowledge for efficiently selecting at run-time a reasonable assignment of the
run-time tunable parameters while, in Chap. 6, we presented system-wide OS level
methodologies that can be applied when detailed design-time information are not
available.
The present Chapter demonstrates the effectiveness of the approach proposed in
Chap. 5 for an industrial scenario. In this context, we target both the number of
allocated cores and their operating frequencies as run-time configurable parameters
of an application. Our case study concerns the automotive field and the RRM is
responsible for allocating system resources to multiple instances of MPEG4 encoder
where each instance has a different QoS requirement in terms of frame rate. The
partitioning of system resources is here obtained by loading different parallel versions
of the MPEG4 encoder to the different application instances. Each MPEG4 parallel
version is composed of a different amount of threads and thus it needs for a different
number of cores to be executed.
This Chapter shows both design-time and run-time sides of the methodology.
During the design-time DSE phase, a multi-level simulation framework is used to
search for the Pareto optimal operating configurations within the space identified
by the run-time tunable parameters. Within the multi-level simulation framework a
detailed but slow cycle accurate simulator and an approximate but fast High Level
Simulator (HLSim) are available. This allows the quick exploration on HLSim of a
large amount of the design space while the accuracy of the final solution is obtained
Search WWH ::




Custom Search