Main
Overview
News
People
Talks
Deliverables
Publications
Hardware
Sponsors
Links
Private

GasTurbnLab PSE Design


Objective
We describe the design of an agent-based PSE (Problem Solving Environment) to simulate a gas turbine. The simulation will be performed on a distributed computational grid consisting of several machines. The simulation is carried out by splitting the problem into smaller subproblems, each of which is solved independently with mediator interactions for interface relaxation until the desired global solution is obtained.


Design Requiements
The prototype uses a graphical user interface using the Iris Explorer application builder and visualization system plus an underlying software framework using the Grasshopper Agent System as middleware to incorporate the computational components in a distributed/agent computation. The prototype implementation utilizes the TrueGrid software tool for problem specification. The computational components consists of ALE3D, KIVA-3V and PELLPACK legacy Fortran code.


Design Scenario
The Iris Explorer interface controls everything that is potentially under user-control such as problem specification and solution visualization. This interface also controls the launching of the computational module which interacts with Grasshopper which, in turn, controls the launching and execution of the agent or server wrapped legacy codes, and monitors the processing until the user-specified stopping condition is reached. When the computational module completes its task, control is returned to the Explorer interface, where solution visualization and inspection take place. Grasshopper's graphical monitoring tool allow for users to view the underlying agent interactions and possible computational steering.


Design Restrictions
Software availability (see the table below) on the hardware platforms used imposes certain restrictions on the design. The GasTurbnLab user interface runs on Win32 platforms and the computational grid will initially consist of SGIs and a Solaris x86 machine cluster.

Software Availability
Software Solaris x86   SGI   Win32 Other
Kiva-3V X X X  
Ale3D X X    
Pellpack X X   SunOS5
Iris Explorer   X X Linux
TrueGrid X X X SunOS5
Grasshopper X X X SunOS5, Linux


Software Infrastructure
The simulation software mainly consists of legacy Fortran code (ALE3D, KIVA-3V, and PELLPACK) and the interface relaxation code. Each subproblem will be solved using one of the legacy codes.

The middleware used for the distributed computations is the Java-based Grasshopper mobile agent platform. The legacy Fortran code is either inserted within Java wrappers as stationary agents or is accessed via local servers (implemented with C/C++ wrappers) by agent clients. The second option will be employed if the legacy code proves to be too complicated to be used with JNI (the Java Native Interface). Both options will be significantly challenging tasks since we need to optimize memory usage, bandwidth, performance and robustness in addition to dealing with Fortran, C and Java code interactions.

The Iris Explorer-based interface will be built by creating the required modules and wiring them together (via the Iris Explorer's map editor) to create GasTurbnLab. A significant challenge will be "fitting" our PSE design into Explorer's dataflow steering paradigm along with its visual programming interface. We will need to build truly self-contained, small modules with the requisite dataflow interfaces.

Additional Notes
Since KIVA-3V and ALE3D belong to the computational component, the Grasshopper based component (module) "controls" them. They run on the computational grid, and are not directly accessible to GasTurbnLab users. The Iris Explorer interface provides user access to modules for problem specification (the TrueGrid module, other specification software), for launching the computational component, and for visualizing the solution via existing Iris Explorer modules or via a MeshTV module. We assume that the Grasshopper platform is available and running on all potential machines (the frontend interface machines and computational grid machines) at the startup of GasTurbnLab.