Anne Jaigu
07-25-2004, 02:49 AM
PI-1562: PaCO++: A parallel object model for high performance
distributed systems
Christian Pérez, Thierry Priol, André Ribes
http://www.irisa.fr/bibli/publi/pi/2003/1562/1562.html
21 pages - novembre 2003
Abstract
With the availability of high bandwidth wide area networks, it is
nowadays feasible to couple several computing resources ---
supercomputers or PC clusters --- together to obtain a high performance
distributed system. The question is to determine a suitable programming
model that provides transparency, interoperability, reliability,
scalability and performance. Since such distributed systems appear as a
combination of distributed and parallel systems, it is very tempting to
extend programming models that were associated to distributed or to
parallel systems. Another choice is to combine the two different worlds
into a single coherent one. A parallelism oriented model appears more
adequate to program parallel codes while a distributed oriented model is
more suitable to handle inter-code communications. We have designed the
concept of parallel Corba object to address this issue. It extends the
Corba specification with the notion of parallel object. A parallel Corba
object is a collection of Corba object with a Single Program Multiple
Data (Spmd) execution model. This paper deals with PaCO++, a portable
implementation of the concept of parallel Corba object. It examines how
the different design issues have been tackled with. For example,
scalability is achieved between two parallel Corbao bjects by involving
all members of both collections in the communication. Early experiments
with a 1 Gbit/s WAN show scalable performance: an aggregated bandwidth
of 874 Mbit/s has been obtained between two parallel Corba objects made
of twelve nodes each. Such a performance has been obtained while
preserving the semantics of Corba. For example, parallel Corba objects
are interoperable with standard Corba objects via a proxy
mechanism. PaCO++ is currently used as the high performance object
platform for several multiphysics applications like hydrology and
aircraft simulations.
Résumé
La simulation numérique prend de plus en plus d'importance dans la
conception de nouveaux prototypes dans des industries telles que
l'automobile ou l'aéronotique. Ces simulations multi-physiques sont
réalisées grâce au couplage de plusieurs codes de calcul scientifique.
Ces simulations sont devenues possibles grâce à l'émergence des
environnements de calculs distribués haute performance. Ceux-ci, appelés
grilles de calculs, sont composés de centres de calculs distants reliés
par des réseaux longue distance haute performance. Afin de maîtriser la
complexité de réalisation de ces applications, une approche orientée
objet apparaît comme une solution prometteuse. Cependant, les modèles
objets actuels ne proposent pas de support pour encapsuler efficacement
des codes parallèles. Ce papier décrit PaCO++, une extension parallèle
portable pour Corba, qui propose un modèle permettant d'encapsuler des
codes parallèles dans des objets Corba. Un prototype a été réalisé et a
permis de valider le modèle proposé.
Keywords: PaCO++, Corba, parallel object
Mots clefs: PaCO++, Corba, objet parallèle
distributed systems
Christian Pérez, Thierry Priol, André Ribes
http://www.irisa.fr/bibli/publi/pi/2003/1562/1562.html
21 pages - novembre 2003
Abstract
With the availability of high bandwidth wide area networks, it is
nowadays feasible to couple several computing resources ---
supercomputers or PC clusters --- together to obtain a high performance
distributed system. The question is to determine a suitable programming
model that provides transparency, interoperability, reliability,
scalability and performance. Since such distributed systems appear as a
combination of distributed and parallel systems, it is very tempting to
extend programming models that were associated to distributed or to
parallel systems. Another choice is to combine the two different worlds
into a single coherent one. A parallelism oriented model appears more
adequate to program parallel codes while a distributed oriented model is
more suitable to handle inter-code communications. We have designed the
concept of parallel Corba object to address this issue. It extends the
Corba specification with the notion of parallel object. A parallel Corba
object is a collection of Corba object with a Single Program Multiple
Data (Spmd) execution model. This paper deals with PaCO++, a portable
implementation of the concept of parallel Corba object. It examines how
the different design issues have been tackled with. For example,
scalability is achieved between two parallel Corbao bjects by involving
all members of both collections in the communication. Early experiments
with a 1 Gbit/s WAN show scalable performance: an aggregated bandwidth
of 874 Mbit/s has been obtained between two parallel Corba objects made
of twelve nodes each. Such a performance has been obtained while
preserving the semantics of Corba. For example, parallel Corba objects
are interoperable with standard Corba objects via a proxy
mechanism. PaCO++ is currently used as the high performance object
platform for several multiphysics applications like hydrology and
aircraft simulations.
Résumé
La simulation numérique prend de plus en plus d'importance dans la
conception de nouveaux prototypes dans des industries telles que
l'automobile ou l'aéronotique. Ces simulations multi-physiques sont
réalisées grâce au couplage de plusieurs codes de calcul scientifique.
Ces simulations sont devenues possibles grâce à l'émergence des
environnements de calculs distribués haute performance. Ceux-ci, appelés
grilles de calculs, sont composés de centres de calculs distants reliés
par des réseaux longue distance haute performance. Afin de maîtriser la
complexité de réalisation de ces applications, une approche orientée
objet apparaît comme une solution prometteuse. Cependant, les modèles
objets actuels ne proposent pas de support pour encapsuler efficacement
des codes parallèles. Ce papier décrit PaCO++, une extension parallèle
portable pour Corba, qui propose un modèle permettant d'encapsuler des
codes parallèles dans des objets Corba. Un prototype a été réalisé et a
permis de valider le modèle proposé.
Keywords: PaCO++, Corba, parallel object
Mots clefs: PaCO++, Corba, objet parallèle