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.