Research areas
Research is being conducted along four main axes:
- adaptive MPSoC platforms;
- networks-on-chip;
- model-driven engineering of embedded systems; and
- self-organizing 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
- memory organization
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 exploring various memory organizations for MPSoC platforms based on networks-on-chip -
shared, distributed, and combinations of them, trying to evaluate their impact on performance and
energy consumption and looking for the right programming abstractions.
We are also exploring hardware implementations of transactional memory
models as an alternative to traditional memory organizations.
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.
Self-Organizing Systems
We investigate coordination mechanisms in wireless sensor networks and in self-organizing
systems that exhibit emerging behavior, applying biological paradigms such as pheromone
traces. We also investigate coordination mechanisms in heterogeneous sensor networks, which
combine simple sensors on the ground and more sophisticated sensors embedded on unmanned
autonomous aerial vehicles. We further investigate middlewares for wireless sensor networks,
integrating coordination mechanisms that are implemented following the multi-agent paradigm.
|