Exploring optimization techniques and runtime code selection mechanisms for heterogeneous systems

Description:
The goal of this cluster is to share the expertize that HiPEAC members have

at the different levels -from compilation, to execution- to improve
performance in multicore and heterogeneous architectures. This project
brings together experts in the relevant areas from the European academia
and industry.
We want to explore, combine and enhance the results of several
specialization and optimization techniques and runtime adaptation
mechanisms. Some of them are already partially implemented by the members
of this cluster, either in the application or in the runtime fields.
In this cluster we would like to explore the possibilities to introduce new

attributes in building the application's executable (i.e., compilation
options or profiling information), to model and evaluate different
behaviours of the application that might vary over time (i.e., phases of
execution), resources, heterogenous opportunities, and combine these into
one run-time optimization environment.
We plan to analize the impact that compilation options and runtime
selection of multiple versions of code sections have in heterogeneous
platforms. The idea is to explore different possibilities offered by the
compiler for run-time optimal selection that might be expressed as

different versions.
We would like to evaluate various runtime selection techniques for multiple
versions of functions depending on the available resources and program
phase behaviour. These techniques will be combined and applied to an
heterogeneous system. The compiler platform will be GCC.
Technical tasks:
- Explore compiler optimizations for different architectural requirements
that will appear in the heterogeneous architectures.
- Explore the possibilities to select the different versions of program

code sections at runtime based on the system configuration, resources and
program behaviour.
- Propose a framework for program models to exploit these optimizations
working across layers in multi-ISA environments.

Nature:
Research cluster

Total funding:
Requested: € 55200Granted: € 37600

Including fellowship funding:
Requested: € 21600Granted: € 21600

Description of how the funding will be used:
Travel:
We plan to have meetings in conjunction with other HiPEAC events:
- 7 people traveling x 4 meetings/years x 800 euros/trip = 22400 euros/year
Fellowship:
- One fellowship for a PhD student working on the topic at UPC:
1200 euros/month = 14400 euros/year

Total:
36800 euros/year
We request funding for 18 months (33600+21600), so the total is 55200
euros.
Duration of the funding:
Requested: 18 month(s)

Duration of the funding:

Requested: 18 month(s)Granted: 0 month(s), starting on: Sat, September 30, 2006

Participating members:
CORNERO Marco (STMicroelectronics) (--member--)MENDELSON Bilha (IBM) (--member--)NAVARRO Nacho (UPC) (--member--)MORANCHO Enric (UPC) (--member--)MARTORELL Xavier (UPC) (--member--)GIL Marisa (UPC) (--member--)TEMAM Olivier (INRIA) (--member--)FURSIN Grigori (INRIA) (--colleague--)ZAKS Ayal (IBM) (--member--)BERNSTEIN David (IBM) (--member--)

Other people collaborating:
Masayo Haneda (University of Leiden)
Zoraida Hidalgo (UPC), Victor Jimenez (UPC), Lluis Vilanova (UPC), Eric Alvarez (UPC)