Research areas
Research is being conducted along three main axes that
are very tightly coupled:
- adaptive MPSoC platforms;
- networks-on-chip; and
- model-driven engineering of embedded systems.
Adaptive MPSoC Platforms
We are interested in the development of MPSoC (Multiprocessor
Systems-on-Chip) platforms
that can be adapted, both at design and execution
times, to the conflicting requirements and
constraints of embedded systems that
must execute application loads that vary dynamically,
such as performance, energy,
power, and real-time. Configuration and adaptive mechanisms
may include, for
instance:
- placement of cores in a network-on-chip
- dynamic or static allocation of tasks to processors
- dynamic task migration
- Dynamic Voltage Scheduling and Power Management,
combined to task scheduling
Since dynamic mechanisms should not harm the system
performance, we are interested in
light-weight mechanisms, mostly based on
heuristics that can find sub-optimal solutions in a
very short time.
We are also developing a middleware for MPSoCs based
on Networks-on-Chip that offers an
adequate abstraction for programming such
systems (e.g. remote invocation of tasks that are
allocated in other nodes of
the network). This middleware integrates adaptive mechanisms and
makes them
transparent to the system developer. It also allows a transparent communication
between objects that are implemented either in software or hardware. Middleware
services may
be also implemented in hardware for performance or energy saving
purposes.
Networks-on-Chip
We are interested in the exploration of the huge design
space that is available in MPSoCs
based on Networks-on-Chip. This design space
is available due to the very large number of
design decisions to be taken in
such systems – placement of cores and memory nodes, task
allocation, memory organization, router architecture, etc. Design
solutions must consider
conflicting requirements – performance, energy, power, real-time, thermal
constraints.
Experiments are being conducted upon a SystemC virtual
platform built on top of the SoCIN
network-on-chip, developed at UFRGS.
Model-Driven
Engineering of Embedded Systems
The architecture of embedded systems combines hardware
and software components, to
which different application functions must be
mapped. The architecture is usually designed
as an instance (a configuration)
of a pre-defined platform. Finding the right architecture and
the right match
between application functions and architecture componentes is a hard design
task, due to the very large design space to be explored.
We are interested in using the Model-Driven
Engineering (MDE) approach, using application
and platform models that follow
appropriate meta-models. Model transformations are thus
applied to find the
right mapping between application and platform and to generate an
adequate implementation. UML is used as language for expressing all those models. The
mapping task is performed in a design space exploration context, where adequate
heuristics
(such as simulated annealing and ant colony optimization) are used
to find solutions that
meet design requirements and constraints.
|