A CORBA-based development environment for wrapping and coupling legacy scientific codes

Within NASA's High Performance Computing and Communication (HPCC) program, the NASA Glenn Research Center (GRC) is developing a large scale, detailed simulation environment for the analysis and design of aircraft engines called the Numerical Propulsion System Simulation (NPSS). The three major aspects of modeling capabilities focused in NPSS, including integration of different engine components, coupling of multiple disciplines, and engine component zooming at appropriate level of fidelity, require relatively tight coupling of different analysis codes. Most of these codes in aerodynamics and solid mechanics are written in Fortran. Refitting these legacy Fortran codes with distributed objects can increase the code reusability. We describe our experiences in building a CORBA-based development environment for programmers to easily wrap and couple legacy Fortran codes. This environment consists of a C++ wrapper library to hide the details of CORBA and an efficient remote variable scheme to facilitate data exchange between the client and the server. We also report empirical performance evaluation results and describe current applications.

[1]  Gregory Follen,et al.  Numerical Zooming Between a NPSS Engine System Simulation and a One-Dimensional High Compressor Analysis Code , 2000 .

[2]  Brian W. Kernighan,et al.  The UNIX™ programming environment , 1979, Softw. Pract. Exp..

[3]  Howard W. Johnson Fast Ethernet: dawn of a new network , 1995 .

[4]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[5]  Kai Li,et al.  IVY: A Shared Virtual Memory System for Parallel Computing , 1988, ICPP.

[6]  Rudolf Berrendorf,et al.  Evaluating the basic performance of the Intel iPSC/860 parallel computer , 1992, Concurr. Pract. Exp..

[7]  Michael Stonebraker,et al.  Migrating Legacy Systems: Gateways, Interfaces, and the Incremental Approach , 1995 .

[8]  Luis E. Anido-Rifón,et al.  A Java/CORBA virtual machine architecture for remote execution of optimization solvers in heterogeneous networks , 2001, Softw. Pract. Exp..

[9]  Dennis Gannon,et al.  Developing component architectures for distributed scientific problem solving , 1998 .

[10]  Jami J. Shah,et al.  The implementation and evaluation of the use of CORBA in an engineering design application , 1999 .

[11]  Jami J. Shah,et al.  The implementation and evaluation of the use of CORBA in an engineering design application , 1999, Softw. Pract. Exp..

[12]  Chung-Ta King,et al.  Adsmith: An Object-Based Distributed Shared Memory System for Networks of Workstations , 1997 .

[13]  Isaac Lopez,et al.  High-Performance Cluster Computing over Gigabit/Fast Ethernet , 1999, Informatica.

[14]  Anthony Skjellum,et al.  A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard , 1996, Parallel Comput..

[15]  Charles Lawrence An Overview of Three Approaches to Multidisciplinary Aeropropulsion Simulations , 1997 .

[16]  Thomas M. Lavelle,et al.  Enhanced capabilities and modified users manual for axial-flow compressor conceptual design code CSPAN , 1995 .

[17]  John K. Lytle The Numerical Propulsion System Simulation: A Multidisciplinary Design System for Aerospace Vehicles , 1999 .

[18]  Ira Pohl C++ for C programmers , 1989 .