next up previous contents
Next: Ongoing research Up: Project: Architectures and Programming Previous: Summary   Contents

Background

Recent advances in parallel and distributed computing architectures made evident that there is a huge gap between the rough computing power available and the programming models and tools available to develop high performance applications on these architectures.

In the field of programming models, advanced models (algorithmic skeletons, design patterns, components) are becoming more and more interesting and look like to be able to overcome traditional models (plain message passing or shared memory models as well as data parallel ones, such as HPF) in a short time. In the field of compiling techniques, new techniques are being designed that take advantage of the knowledge relative to the underlying target architecture as well as of the knowledge derived from (structured) source code to produce highly optimized object code. Concerning run time supports, layered implementation techniques, frameworks and JIT techniques all provide effective mechanisms and ways of implementing very efficient, portable and extensible run time supports for high performance programming environments. Last but not least, computing GRIDs introduced new problems, such as those related to heterogeneity and dynamicity that must be faced and solved in order to be able to take complete control (and advantage) of these new distributed architectures.

On the application side, irregular problems (Barnes Hut, Fast Multipole Method, Adaptive Multigrid Methods for the solution of partial differential equations) pose several problems with respect to both memory constraint and completion time when uniprocessor architectures are considered. As a matter of fact, only parallel machines provide the computational power and the main memory capacity required to solve such large scale problems. Due to the features of irregular problems, the parallel solutions based on the most common current high level parallel programming tools (like HPF or Open MP) achieve low efficiency, and low level tools, like MPI or a shared memory, are required, at the moment, to achieve reasonable performance. Therefore a standard parallelization methodology and or higher level programming tools are needed to cope with such irregular problems.

The research group is closely following the research activity in these fields and actually, most of the members are involved in research activity concerning some of these topics. Group members have been and currently are responsible of different activities in several national research projects, either as national coordinators or as responsible of project work-packages involving different university, national research council and industrial partners. In particular, M. Vanneschi is the coordinator of the big national FIRB project GRID.it. Also, group members have been involved in several activities in the EU research framework on grids and high performance architectures. In particular, M. Danelutto participated to the NGG3 (Next Generation Grid Expert Group) meetings that lead to the document ``Future for European Grids: GRIDs and Service Oriented Knowledge Utilities, Vision and Research Directions 2010 and Beyond'' (available at
http://cordis.europa.eu/ist/grids/ngg.htm
) setting up the scene for the grid related research in Europe for the next decade.

The research group is currently also involved in several distinct EU funded projects:


next up previous contents
Next: Ongoing research Up: Project: Architectures and Programming Previous: Summary   Contents
Maria Simi 2006-10-23