|
|
| |
 Parallel Environment (PE)
 | | |
Parallel Environment is a high-function development and execution environment for parallel applications (distributed-memory, message-passing applications running across multiple nodes). It is designed to help organizations develop, test, debug, tune and run high-performance parallel applications written in C, C++ and Fortran on pSeries clusters. Parallel Environment runs on AIX® or Linux®.
Parallel Environment includes the following components:
- The Parallel Operating Environment (POE) for submitting and managing jobs.
- IBM's MPI and LAPI libraries for communication between parallel tasks.
- PE Benchmarker, a suite of applications and utilities to analyze program performance.
- A parallel debugger (pdbx) for debugging parallel programs.
- Parallel utilities to ease file manipulation.
POE enables users to develop and execute parallel applications across multiple operating system images (nodes). POE includes parallel application compile scripts for programs written in C, C++ and Fortran, as well as a command line interface to submit commands and applications in parallel. POE also provides an extensive set of options and additional functions to fine-tune the application environment to suit the execution of the application and system environment.
POE can work in conjunction with
IBM LoadLeveler to assist in resource management, job submission and node allocation.
MPI and LAPI provide communications between parallel tasks, enabling application programs to be "parallelized."
MPI provides message passing capabilities that enable parallel tasks to communicate data and coordinate execution. The message passing routines call communication subsystem library routines to handle communication among the processor nodes.
LAPI differs from MPI in that it is based on an "active message style" mechanism that provides a one-sided communications model in which one process initiates an operation and the completion of that operation does not require any other process to take a complementary action. LAPI is also the common transport layer for MPI and is packaged as part of AIX's RSCT component.
PE Benchmarker provides two performance analysis tools, an MPI trace tool and an application profiling tool. Both tools can instrument applications without requiring the applications to be recompiled.
The MPI trace tool allows the user to generate traces of MPI calls in an MPI application run under Parallel Environment. The tool also allows the user to place user markers at function boundaries and at call sites (function calls); these markers will be visible in the trace to provide information to the user about application execution. The trace contains information on the MPI calls including a subset of the parameters on the MPI call and process dispatch information to show the user how each process is dispatched. The trace is post-processed to generate a file which is viewable using the
Jumpshot visualization tool developed by Argonne National Laboratory.
The profiling tool allows the user to profile both serial applications and parallel applications running under Parallel Environment. The tool can collect data on wall clock execution time, system resource utilization and hardware performance counters. Profiling data is collected by placing probes at function entry and exit points rather than using a sampling, timer-based approach. PE Benchmarker includes a separate viewer program used to view the data collected in a profiling run.
PE Benchmarker uses
DPCL as a support layer to instrument the application. PE Benchmarker allows the user to select the points where instrumentation is placed, enabling the user to instrument the entire application or specific subsets of the application code. Instrumentation can be added or removed application while the application is running. PE Benchmarker also allows the user to invoke an application under PE Benchmarker control or to connect to and instrument an already-running application.
The parallel debugger (pdbx) streamlines debugging of parallel applications, presenting the user with a single command line interface that supports most dbx execution control commands and provides the ability to examine running tasks. In order to simplify management of large numbers of tasks, dbx allows tasks to be grouped so that the user may examine any subset of the debugged tasks.
pdbx allows users to invoke a POE job or attach to a running POE job and place it under debug control. pdbx starts a remote dbx session for each task of the POE job put under debugger control.
A collection of utilities to perform functions such as interrupt handling, checkpoint/restart operations and determining application environment statistics. Also included are commands for parallel file copy and manipulation.
|
| |
|
|
|