Engineering high-performance legacy codes as CORBA components for problem-solving environments

This paper describes techniques used to leverage high-performance legacy codes as CORBA components to a distributed problem-solving environment. It first briefly introduces the software architecture adopted by the environment. Then it presents a CORBA oriented wrapper generator (COWG) which can be used to automatically wrap high-performance legacy codes as CORBA components. Two legacy codes have been wrapped with COWG. One is an MPI-based molecular dynamic simulation (MDS) code, the other is a finite element-based computational fluid dynamics (CFD) code for simulating incompressible Navier-Stokes flows. Performance comparisons between runs of the MDS CORBA component and the original MDS legacy code on a cluster of workstations and on a parallel computer are also presented. Wrapped as CORBA components, these legacy codes can be reused in a distributed computing environment. The first case shows that high-performance can be maintained with the wrapped MDS component. The second case shows that a Web user can submit a task to the wrapped CFD component through a Web page without knowing the exact implementation of the component. In this way, a user's desktop computing environment can be extended to a high-performance computing environment using a cluster of workstations or a parallel computer.

[1]  L. Verlet,et al.  Computer "Experiments" on Classical Fluids. III. Time-Dependent Self-Correlation Functions , 1970 .

[2]  David M. Beazley,et al.  Lightweight Computational Steering of Very Large Scale Molecular Dynamics Simulations , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[3]  Hyeon Soo Kim,et al.  Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique , 2000 .

[4]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[5]  Anthony J. G. Hey,et al.  Predictive resource management for meta-applications , 1999, Future Gener. Comput. Syst..

[6]  E. Gallopoulos,et al.  Computer as thinker/doer: problem-solving environments for computational science , 1994, IEEE Computational Science and Engineering.

[7]  Markus Aleksy,et al.  A CORBA-based object group service and a join service providing a transparent solution for parallel programming , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[8]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[9]  Robert Cole,et al.  Computer Communications , 1982, Springer New York.

[10]  Steve Plimpton,et al.  Fast parallel algorithms for short-range molecular dynamics , 1993 .

[11]  Craig A. Knoblock,et al.  Semi-automatic wrapper generation for Internet information sources , 1997, Proceedings of CoopIS 97: 2nd IFCIS Conference on Cooperative Information Systems.

[12]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[13]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[14]  C. Brooks Computer simulation of liquids , 1989 .

[15]  James R. Rice,et al.  From Scientific Software Libraries to Problem Solving Environments John R. Rice , 1996 .

[16]  J. G. Powles,et al.  Non-destructive molecular-dynamics simulation of the chemical potential of a fluid , 1982 .

[17]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[18]  David W. Walker,et al.  The software architecture of a distributed problem‐solving environment , 2000 .

[19]  Douglas C. Schmidt,et al.  Overview of the CORBA component model , 2001 .

[20]  Harry M. Sneed,et al.  A case study in software wrapping , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[21]  Ian T. Foster,et al.  The Globus project: a status report , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[22]  Maozhen Li,et al.  An XML Based Component Model for Generating Scientific Applications and Performing Large Scale Simulations in a Meta-computing Environment , 1999, GCSE.

[23]  Gregor von Laszewski,et al.  Design and Implementation of a CORBA Commodity Grid Kit , 2001, GRID.

[24]  Douglas C. Schmidt,et al.  Optimizing the CORBA Component Model for High-performance and Real-time Applications , 2000 .

[25]  Luis F. G. Sarmenta,et al.  Bayanihan Computing .NET: Grid Computing with XML Web Services , 2002, 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'02).

[26]  A. J. Baker,et al.  INCOMPRESSIBLE COMPUTATIONAL FLUID DYNAMICS AND THE CONTINUITY CONSTRAINT METHOD FOR THE THREE-DIMENSIONAL NAVIER-STOKES EQUATIONS , 1996 .

[27]  Yan Huang,et al.  The software architecture of a distributed problem-solving environment , 2000, Concurr. Pract. Exp..

[28]  Dennis Gannon,et al.  PARDIS: A parallel approach to CORBA , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[29]  Bruce W. Char,et al.  Software components using symbolic computation for problem solving environments , 1998, ISSAC '98.

[30]  Maozhen Li,et al.  Wrapping MPI-based legacy codes as Java/CORBA components , 2001, Future Gener. Comput. Syst..

[31]  Spiros Mancoridis,et al.  A tool for securely integrating legacy systems into a distributed environment , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[32]  L. Verlet Computer "Experiments" on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules , 1967 .

[33]  Maria-Esther Vidal,et al.  A meta-wrapper for scaling up to multiple autonomous distributed information sources , 1998, Proceedings. 3rd IFCIS International Conference on Cooperative Information Systems (Cat. No.98EX122).

[34]  Thierry Priol,et al.  Cobra: A CORBA-compliant Programming Environment for High-Performance Computing , 1998, Euro-Par.

[35]  Maozhen Li,et al.  A Wrapper Generator for Wrapping High Performance Legacy Codes as Java/CORBA Components , 2000, ACM/IEEE SC 2000 Conference (SC'00).