Distributed Computation Environment Tools
Objective:
The objective of this task is to develop application utilities and
interface tools for enhancing the ease of application development
and the efficiency of resource utilization in a distributed computing
environment.
Approach:
The objective of enhancing the distributed computing environment is
approached at two levels: the application level and the system level.
At the application level, the focus is on development both of parallel
algorithms and of utlities for data-parallel-specific applications.
At the system level, the focus is on development of mechanisms for
inter-process control and resource mapping.
The tools employ both the MPI protocol for the distributed-memory architectures
and threads for shared-memory architectures, in order to achieve platform
independence while preserving optimal performance.
Accomplishments:
- Application Level --
A Global Imageclass Library (C++) employing MPI was completed, and
it is available for the Cray T3D and for a heterogeneous workstation
environment.
An iterative Monte Carlo radiosity solution for a full-multiple-scattering
problem was implemented employing both threads and MPI.
- System Level --
The IPC Library, an inter-process communication protocol library,
developed for a physically-distributed-memory architecture, was
upgraded to employ threads in a shared-memory architecture.
Significance:
- MPI-based Global Imageclass Library --
This library enables platform-independent parallel implementations
for applications with multiple data-parallel functions.
- Distributed Comet coma-illumination modeling --
A paper on "Modeling Cometary Coma with a Three-Dimensional,
Anisotropic-Multiple-Scattering Distributed Processing Code" will be
presented at the Parco '97 (Parallel Computing Conference) in
September, 1997, in Germany.
For the PostScript display of the paper, press
here.
- Thread-based Inter-Process Communication Library --
This library allows pointers to be passed among processes, reducing
communication time significantly.
Status/Plans:
- The Comet coma-illumination model code was developed for a
distributed-memory architecture employing MPI, and for a shared-memory
architecture
employing threads. The code was benchmarked on four types of computational
platforms for scalability and communication efficiency:
- SGI Onyx (shared memory)
- SGI Origin (virtual shared memory)
- Cray T3D (distributed memory)
- heterogeneous workstations (SGIs and Suns)
- A volume renderer for semi-transparent objects will be implemented
for visualizing the phenomena
constructed by the Comet coma-illumination model.
- The thread-based inter-process communication library was applied in
executing MISR (Multi-angle Imaging Spectro-Radiometer) data processing
software in a multi-processor architecture by decomposing the software
into multiple processes and dynamically mapping them to the processors.
The distributed application will be ported to a 32-node SGI Origin at
Langley Center (NASA) and efficient process-to-processor mappings will
be studied.
Technical Contact:
Roberto Mendoza
Meemong Lee
Jet Propulsion Laboratory
(818) 354-2228
roberto@elroy.jpl.nasa.gov
luchini@elroy.jpl.nasa.gov
mark@elroy.jpl.nasa.gov
meemong@elroy.jpl.nasa.gov