Abstract
In recent years, we are witnessing the dawning of the Multi-Processor Systemon-
Chip (MPSoC) era. In essence, this era is triggered by the need to handle
more complex applications, while reducing overall cost of embedded (handheld)
devices. This cost will mainly be determined by the cost of the hardware platform
and the cost of designing applications for that platform.
The cost of a hardware platform will partly depend on its production volume. In
turn, this means that ??exible, (easily) programmable multi-purpose platforms will
exhibit a lower cost. A multi-purpose platform not only requires ??exibility, but
should also combine a high performance with a low power consumption. To this
end, MPSoC devices integrate computer architectural properties of various computing
domains. Just like large-scale parallel and distributed systems, they contain multiple
heterogeneous processing elements interconnected by a scalable, network-like
structure. This helps in achieving scalable high performance. As in most mobile or
portable embedded systems, there is a need for low-power operation and real-time
behavior.
The cost of designing applications is equally important. Indeed, the actual value of
future MPSoC devices is not contained within the embedded multiprocessor IC, but
in their capability to provide the user of the device with an amount of services or
experiences. So from an application viewpoint, MPSoCs are designed to ef??ciently
process multimedia content in applications like video players, video conferencing,
3D gaming, augmented reality, etc. Such applications typically require a lot of processing
power and a signi??cant amount of memory. To keep up with ever evolving
user needs and with new application standards appearing at a fast pace, MPSoC
platforms need to be be easily programmable. Application scalability, i.e. the ability
to use just enough platform resources according to the user requirements and with
respect to the device capabilities is also an important factor.
Hence scalability, ??exibility, real-time behavior, a high performance, a low power
consumption and, ??nally, programmability are key components in realizing the success
of MPSoC platforms.
The run-time manager is logically located between the application layer en the platform
layer. It has a crucial role in realizing these MPSoC requirements. As it abstracts
the platform hardware, it improves platform programmability. By deciding on resource
assignment at run-time and based on the performance requirements of the
user, the needs of the application and the capabilities of the platform, it contributes
to ??exibility, scalability and to low power operation. As it has an arbiter function
between different applications, it enables real-time behavior.
This thesis details the key components of such an MPSoC run-time manager and
provides a proof-of-concept implementation. These key components include application
quality management algorithms linked to MPSoC resource management
mechanisms and policies, adapted to the provided MPSoC platform services.
First, we describe the role, the responsibilities and the boundary conditions of an
MPSoC run-time manager in a generic way. This includes a de??nition of the multiprocessor
run-time management design space, a description of the run-time manager
design trade-offs and a brief discussion on how these trade-offs affect the key
MPSoC requirements. This design space de??nition and the trade-offs are illustrated
based on ongoing research and on existing commercial and academic multiprocessor
run-time management solutions.
Consequently, we introduce a fast and ef??cient resource allocation heuristic that considers
FPGA fabric properties such as fragmentation. In addition, this thesis introduces
a novel task assignment algorithm for handling soft IP cores denoted as hierarchical
con??guration. Hierarchical con??guration managed by the run-time manager
enables easier application design and increases the run-time spatial mapping freedom.
In turn, this improves the performance of the resource assignment algorithm.
Furthermore, we introduce run-time task migration components. We detail a new
run-time task migration policy closely coupled to the run-time resource assignment
algorithm. In addition to detailing a design-environment supported mechanism that
enables moving tasks between an ISP and ??ne-grained recon??gurable hardware, we
also propose two novel task migration mechanisms tailored to the Network-on-Chip
environment. Finally, we propose a novel mechanism for task migration initiation,
based on reusing debug registers in modern embedded microprocessors.
We propose a reactive on-chip communication management mechanism. We show
that by exploiting an injection rate control mechanism it is possible to provide a
communication management system capable of providing a soft (reactive) QoS in a
NoC.
We introduce a novel, platform independent run-time algorithm to perform quality
management, i.e. to select an application quality operating point at run-time based
on the user requirements and the available platform resources, as reported by the
resource manager. This contribution also proposes a novel way to manage the interaction
between the quality manager and the resource manager.
In order to have a the realistic, reproducible and ??exible run-time manager testbench
with respect to applications with multiple quality levels and implementation tradev
offs, we have created an input data generation tool denoted Pareto Surfaces For Free
(PSFF). The the PSFF tool is, to the best of our knowledge, the ??rst tool that generates
multiple realistic application operating points either based on pro??ling information
of a real-life application or based on a designer-controlled random generator.
Finally, we provide a proof-of-concept demonstrator that combines these concepts
and shows how these mechanisms and policies can operate for real-life situations.
In addition, we show that the proposed solutions can be integrated into existing
platform operating systems.
Original language | English |
---|---|
Qualification | Doctor of Philosophy |
Awarding Institution |
|
Supervisors/Advisors |
|
Award date | 23 Apr 2008 |
Place of Publication | Eindhoven |
Publisher | |
Print ISBNs | 978-90-386-1804-3 |
DOIs | |
Publication status | Published - 2008 |