Accurate and Complexity-Effective Coherence Predictors


A Toolkit for MPSoC Architecture Evaluation and Optimization

The Parallel and Distributed Group at the Delft University of
Technology and the Computer Architecture and Parallel Processing group
at the University of Karlsruhe plan to establish a collaboration to
develop feasible tools for supporting architecture designers to
achieve high performance Multiprocessor System-on-Chips.

Current MPSoC architecture research focuses on increasing
architectural complexity in the presence of constraints like reduced
power consumption and small chip area. However, we argue that an
essential argument in designing MPSoC architectures is their system
level performance. High performance embedded systems - the high-end
designs of current MPSoC architecture range - must aim to obtain an
ideal balance between hardware constraints and system-level
performance in order to justify their claims as the embedded platforms
of the future.

This project proposes a toolkit to assist both hardware and software
designers in tuning system-level performance of their systems. The
system shall be capable of predicting system performance, detecting
performance bottleneck, and giving optimization suggestions. The main
components of this toolkit are a machine model and a set of analysis
models. The former describes the main resources of an MPSoC, their
interaction in terms of functionality, communication, and
contention. The set of analysis models stresses these performance
sensitive resources, trying to detect the performance bottlenecks and
their causes. This setup allows the architecture designers to correct
design drawbacks early in the process and thereby provide users with
high performance machines.

The Parallel and Distributed Group at the Delft University of
Technology is currently developing PAM-SoC, a light-weight performance
predictor that is able to quickly analyze MPSoC system level
performance of a given application on the target machine. PAM-SoC is
based on Pamela, a very successful static performance predictor for
parallel applications developed at Delft University of
Technology. Pamela couples an application model with the target
machine model in order to compute the lower bound of the execution
time of the application on the target architecture. To address the
specifics of MPSoCs, PAM-SoC includes new techniques for machine
modeling and tools for gathering memory behavior statistics. In its
prediction, PAM-SoC trades accuracy for estimation speed: in cases
when cycle-accurate simulation would take tens of minutes, application
behavior can be estimated in tens of seconds. Thus, PAM-SoC can be
part of the MPSoC design flow, allowing fast feedback for
architectural tuning. Further improvements in speeding up the
prediction process have to be made in analyzing and modeling the
memory behavior of the application (aided in the current PAM-SoC
version by the MemBE simulator). This is where valuable help from the
University of Karlsruhe comes in.

The Computer Architecture and Parallel Processing group at the
University of Karlsruhe has long been involved in performance analysis
and optimization. Starting with data locality on NUMA machines, the
Karlsruhe group has developed tools, models, analysis algorithms, and
runtime adaptive systems to achieve high parallel performance on
multiprocessors with distributed share memory. Currently, this
research group is investigating algorithms and models for detecting
cache misses, their causes and possible solutions to alleviate their
effects.

Given the very promising results achieved by PAM-SoC, Delft
contribution in this cluster will build on the machine modeling
framework and stress-tests development. Karlsruhe's contribution in
this cluster will be the integration of the current analysis models
for the memory system into Delft's framework. The collaboration
includes several steps:

1. Common interfac: the groups have to analyze and determine the best
common interface for both the machine and analysis models.
The specification and design of this new interface should meet requirements
of portability, as existing work must be easily made compliant with the
new interface, and flexibility, to support various types of machine models,
memory models and test cases.

2. Mapping to common interface: the groups will port their existing work to the new interface

3. A common framework: Karlsruhe's analysis models and their output are
plugged into the Delft's modeling framework.

4. Test cases development: Delft's set of stress applications are
adapted to the new complete framework.

5. Performance evaluation: includes the testing and measurements phases,
whose goals are twofold: (1) multiple architecture designs are evaluated,
aiming to prove the usability of the framework, and (2) the performance of
the new framework is evaluated in terms of speed and accuracy.

To conclude, the goal of this collaboration and in particular of this initial
cluster is to allow the researchers in both institutions to exchange their
complementary expertise in this topic, while forming the basis for a longer
term collaboration in the concerned area and other common research fields.


Research cluster

Requested: € 10800

Requested: € 0

The collaboration between Delft and Karlsruhe will be established
through several mutual visits and combined participation in the HiPEAC
cluster meetings. These activities provide not only the opportunity to
exchange and discuss ideas, but open up wider ranges of possibilities
for an intensive and problem directed collaboration.

We request resources for 5 visits and 2 cluster meetings. The 5 visits
are: a one-week visit by one of the project leaders (for the kick-off
meeting of the cluster), two one-week visits by one Karlsruhe member
to Delft, two one week visits by one Delft member to Karlsruhe. For
the cluster meetings, we consider two visits by at least two members
of each group to the cluster meeting. The estimated cost of each one
week visit is 1200 euros and each visit to the cluster meeting is 2400
euros, for a total of 10800 euros requested.


Requested: 12 month(s)

SIPS Henk (Delft University of Technology) (--member--)
KARL Wolfgang (University of Karlsruhe) (--member--)

Jan Heijnsdijk - Associate Professor, Delft University of Technology
Ana Lucia Varbanescu - ph.D student, Delft University of Technology
Jie Tao - Research associate, University of Karlsruhe
Rainer Buchty - Research associate, University of Karlsruhe