A Component-Based Software Infrastructure for Grid Computing
by Christian Pérez
Recent advances made by researchers from the IRISA/INRIA PARIS project-team in the design of runtime systems will allow automatic deployment of software components on large-scale distributed systems and grids while making the best use of the available resources (computers and networks). The design of next-generation grid middleware is based on the concept of software components and a new approach to implementing complex multi-physics applications.
The Padico project, which commenced in 2000, is investigating different aspects of software-component programming to allow the design of middleware and applications for large-scale distributed systems and grids in particular. We concentrated on the challenging problem of designing runtime systems to support efficient execution of software components within a grid. We also proposed extending an existing software component-model to support coarse-grain parallelism within a software component while maintaining scalable connections between components. Two INRIA researchers and three PhD students, within the PARIS project-team at IRISA/INRIA, were involved in this research.
The motivation behind this research was to handle the complexity of grid infrastructures by promoting the use of software components both for the design of the grid middleware itself and the design of applications. However, existing software component models (OMG CCM, Sun EJB, Microsoft DCOM) are unsuitable for grids since they were not designed to handle large-scale distributed systems, to use various networking technologies or to support coarse-grain parallelism. Moreover, automatic deployment of software components on available resources was not possible. The PARIS project-team started several research projects to deal with these problems.
|Figure 1: The PadicoTM framework decouples the runtimes from the actual networks.
One of the first projects was to extend an existing component model to support coarse-grain parallelism. We selected CORBA from the OMG as the target model simply because it was a standard with several existing open-source implementations. We first proposed an extension of the distributed object model providing distributed parallel CORBA objects aiming at encapsulating parallel SPMD codes easily and efficiently. A parallel CORBA object is just a collection of identical standard CORBA objects managed as a single entity. Data distribution and communication between parallel CORBA objects is being done transparently to the programmers. This extension of the object model implemented in PaCO/PaCO++ was later incorporated in GridCCM, a parallel extension to the component model proposed by the OMG (CCM). It is thus possible nowadays to design multi-physics applications based on the connection of parallel components, each of them solving a particular physics.
In parallel, we worked on the design of a runtime system called PadicoTM, to allow components to exchange data independently of the underlying networking technologies. Most of the runtime systems associated with existing component models are only able to communicate through the plain TCP/IP protocol. Efficient networking technologies found in clusters were therefore inefficiently used. Similarly, high-bandwidth Wide Area Networks are under-exploited without the use of advanced features such as parallel streams. Thanks to the PadicoTM communication framework, software components can exchange data in a very efficient way whatever the networking technologies (SAN, LAN, WAN).
|Figure 2: Example of a complex grid and its network topology description.
One of the issues under current investigation is the automatic deployment of software components onto grids. We propose a network topology description model that is capable of describing the available networking resources and their configuration. This model has been implemented in the Globus middleware within the information service. It will allow an efficient mapping of the application component graph to the grid infrastructure, taking into consideration the application requirements.
These different projects are being integrated in a single software platform based on Globus. We are cooperating with different project-teams within INRIA to experiment with real applications. One of them deals with simulation of fluid and solute transport in sub-surface geological layers. It requires the coupling of several parallel codes for simulating salt-water intrusion and reactive transport. The software component model provides a convenient model for handling the complexity of the application while hiding the complexity of the grid.
This research received financial support from the ACI GRID the French national program funding Grid research activities. Researchers involved in the Padico project are A. Denis, S. Lacour, C. Pérez, T. Priol and A. Ribes.
Christian Pérez, INRIA, France
Tel: +33 2 99 84 72 05