INRIA Rennes, PARIS team, in WP3
The
PARIS team aims at contributing to the programming of parallel and distributed
systems for large scale numerical simulation applications. Distributed
component models seem to be a pertinent solution. However, they need to be
tailored for scientific applications, in particular with respect of encapsulation
of parallel codes into components, communications between
"parallel" components, required runtime support, deployment and
adaptability.
Parallel Component
We
have proposed the concept of parallel component [1] so as to handle the distributed nature of
grids, and the parallelism of computational code. A parallel code (written in
MPI, OpenMP, etc.) is embedded into a parallel component. The model enables
data redistribution and scalable communications between parallel components. We
have implemented this model as an extension of the CORBA Component Model
without losing interoperability with standard CORBA component nor suffering
performance degradation.
We
are currently working on automatizing the deployment of component-based
applications on grids [2]. The goal is to
make grids easier to utilize by hiding resource selection from the user while
achieving efficient resource selection. Our approach is to introduce additional
constraints to components and to component assemblies. Then, our
deployment tool is able to transparently launch the application.
Adaptability
Our
work concerns dynamic adaptation of parallel and distributed components on Grid
environments. Since Grid architectures are known to be highly dynamic, using
resources efficiently on such architectures is a challenging problem. Software
must be able to dynamically react to changes of the underlying execution
environment to maximize the quality of the provided services. In order to help
developers to create reactive software for the Grid, we are investigating a
model for the adaptation of parallel components. Our model complies to the
separation of concerns paradigm, since it completely separates the adaptation
mechanism and policy (defined at a meta-level) from the functional code of the
components. Whereas others projects in that domain mainly focuses on
configuration at start-up, we are looking to adaptation at execution time. In
the case of parallel processes this means that the processes should agree to
coherent adaptation points. We are currently working on a generic protocol to
determine such points.
More information is available on PARIS web page.
Bibliography:
[1] Christian Pˇrez, Thierry Priol, and
Andrˇ Ribes. A
Parallel CORBA Component Model for Numerical Code Coupling. The International Journal of High Performance
Computing Applications (IJHPCA),
17(4):417--429, 2003.
[2] Sˇbastien Lacour, Christian Pˇrez,
and Thierry Priol. Deploying
CORBA Components on a Computational Grid: General Principles and Early
Experiments Using the Globus Toolkit. In Wolfgang Emmerich and
Alexander L. Wolf, editors, Proceedings
of the 2nd International Working Conference on Component Deployment (CD 2004), volume 3083 of LNCS,
Edinburgh, Scotland, UK, pages 35-49, May 2004. Springer-Verlag.
[3] Fran¨oise Andrˇ, Jˇrˇmy Buisson, and
Jean-Louis Pazat. Dynamic
adaptation of parallel and distributed components on Grid environments. 11th
International Conference on Advanced Computing and Communications (ADCOM), Coimbatore, India, December 2003.
[4] Fran¨oise Andrˇ, Jˇrˇmy Buisson, and Jean-Louis Pazat. Dynamic adaptation of parallel codes: toward self-adaptable components for the Grid. In ICS'04 Workshop on Component Models and Systems for Grid Applications, June 2004.