[[PE LOGO]] Introduction Parallel computing is vital to many enterprises. To protect their valuable software assets, users of scalable parallel computing wish to utilize the same product family for today's as well as tomorrow's computing requirements. The IBM AIX Parallel Environment addresses these needs with a programming environment for the development and execution of parallel applications on a parallel processor, the IBM Scalable POWERparallel 2 (SP2), built upon a superior serial processor, the RISC System/6000. Highlights Full function development environment for parallel applications. Consistent with UNIX development tools. Integrated with other SP2 software offerings for system management and job management. Utilizes advanced visualization techniques Exploits SP2 High-Performance Switch for communications between parallel program tasks. Interfaces with parallel languages and libraries. Flexible operations across IBM workstation platforms. Consistent with existing and emerging standards. Description The AIX Parallel Environment is a complete solution for enterprises that need to create and execute parallel programs through an AIXwindows interface. This application development solution is made up of: A Parallel Message Passing Library (MPL) containing APIs for communications between executing tasks of a FORTARN or C parallel program. A Parallel Operating Environment (POE) for managing the development and execution of parallel applications. A user friendly Visualization Tool (VT) for viewing the unique performance characteristics of a parallel application through trace driven program visualization through program and system statistics gathered during execution and later playback; and an online performance monitor to study operational activity of SP2 nodes in real time. A Parallel Debugger based on AIX debugging capabilities for parallel application task debugging. Details on these components of the AIX Parallel Environment follow. Parallel Message Passing Library The Parallel Message Passing Library is a programming interface for converting a serial FORTRAN, C, or C++ program into a parallel application via subroutine calls. The MPL provides a rich and diverse set of subroutines for coding simple operations, such as task-to-task message passing, as well as the more advanced operations required for highly complex communications. At execution time, the user specifies whether parallel task communications can occur via the Internet Protocol (IP) through token ring, ethernet or SP2 High-Performance Switch adapters (configured for IP) or via 'User Space' access to the SP2 High-Performance Switch for maximum performance. Collective communication functions of MPL are subroutines for frequently needed operations involving multiple tasks. For example, the 'scatter' call lets you distribute messages from a single source task to each task in a group. Conversely, with the 'gather' call, you can gather messages from each task in a group into a single destination task. These capabilities can greatly reduce the time and effort spent on developing parallel applications. Parallel Operating Environment POE eases the transition from serial to parallel processing by allowing the use of standard AIX tools and techniques. This includes the areas of program compilation, scheduling, execution and monitoring in a manner familiar to the UNIX programmer. POE has an AIX Windows/6000 Desktop interface, Parallel Desktop, which simplifies use of POE. Source files, executables, and AIX Parallel Environment tools are represented on the Parallel Desktop as icons, easily manipulated to compile and execute parallel programs or start other AIX Parallel Environment tools. The Partition Manager of POE allows a user to compile his program using the XL FORTRAN or C Set ++ (C and C++) compilers and link in all required run-time libraries. It also controls parallel program execution by allocating nodes required to run the job, copies the executable tasks into the individual allocated nodes and invokes their execution, monitors the status of task execution, and communicates with job scheduling systems. POE also contains two X Window System analysis tools: Program Marker Array and System Status Array. The Program Marker Array is a run-time analysis tool allowing the monitoring of a program's execution by presenting a graph- ical representation of the program tasks. This window representation consists of a number of small squares called lights that change color under program control. Each parallel task has its own row of lights. Subroutine calls inserted into these tasks change the light colors. This visual feedback can be invaluable in detecting application problems. The System Status Array is an on-line analysis tool for examining the utilization of processor nodes. A window consisting of a number of colored squares representing SP2 or RISC System/6000 cluster processor nodes shows the percent of CPU utilization so the nodes that are least busy may be better utilized. For identifying problem areas in parallel programs and to assist in tuning them, the Parallel Operating Environment contains the familiar AIX profilers, prof and gprof, allowing the determination for each executed task of: Execution time in each routine Number of times the routine was called Average milliseconds per call. Visualization Tool The AIX Parallel Environment's Visualization Tool (VT) is designed to graphically show the performance and communications characteristics of an application program, (Trace Visualization), and also to act as an on-line monitor, (Performance Monitoring). Essentially, the VT is a group of displays, or visuals, which each show some unique execution characteristic of an application or system. The VT conforms to Motif and X Window System standards. Trace Visualization: During Trace Visualization, you play back program and system statistical and event records (trace records) generated during a program's execution. These trace records are stored during execution into a trace file that, when played back with the Visualization Tool, lets you visualize information about the program as well as its use of the underlying system. For playing back trace files, the Visualization Tool provides an easy-to-use control panel that mimics the familiar operation of a compact disk (CD) player. Using the CD-like controls, which includes buttons for play, fast forward, rewind, and so on, you can easily control playback of the trace files. The information can help you analyze the program, tune it, optimize its use of the underlying system, and perform effective load balancing. The Visualization Tool is easy to understand and use. A few of the possible views include: Connectivity graph Interprocessor communication Kiviat diagrams Message status Message status Performance Monitoring: During 'Performance Monitoring', the VT displays show current system activity at a configurable sampling frequency in realtime. This job-independent system-wide view indicates the operational status of each of the nodes. Kernel statistics describing system and communication subsystem activity on each node can be visualized from the user's workstation. Parallel Debugger The AIX Parallel Environment builds on the familiar and effective AIX dbx debugging facility but adds additional functions specific to parallel program debugging. The Parallel Debugger provides a command line interface, pdbx and a graphical user interface, xpdbx designed for users not familiar with dbx. xpdbx uses a Motif-based X Window System interface and does not require the user to know dbx subcommands. Both interfaces allow the unique capability of grouping parallel tasks for debugging freeing the user from entering the same commands over and over again for each task. The Parallel Debugger also lets you: 'Unhook' program processes not to be monitored Debug object files Set breakpoints at selected statements or run a program line-by-line Debug a program using symbolic values, displaying them in the correct format. Standards Adherence The AIX Parallel Environment follows established standards to reduce learning time and maximize ease-of-use. Most commands use familiar UNIX syntax and various AIX/6000 tools are enabled for use with the AIX Parallel Environment. In addition, the AIX Parallel Environment's graphical user interfaces run with the AIX Windows/6000 system and comply with Motif style standards. Operating Environment AIX Parallel Environment runs on the SP2 processor for which it has been optimized to allow the user to take full advantage of the flexible architecture and High-Performance Switch. AIX Parallel Environment also runs on the RISC System/6000 platform with the AIX/6000 3.2.5 operating system. You can develop your parallel applications on any RISC System/6000 workstation or SP2 that has AIX Parallel Environment installed and then easily port them to a RISC System/6000 network cluster or an SP2, also running AIX Parallel Environment, for execution. Parallel Client Function For Clusters AIX Parallel Environment also provides a parallel development and execution environment on a RISC System/6000 cluster. At least one processor must have the complete package installed for application development and job initiation. An optional licensing feature, the Parallel Client Function, is available for additional processors in the cluster at a lower cost. This feature provides these processors with the run-time environment necessary for performing parallel application execution. Summary. Additional Information. Copyright Information. [Image] [Image] [Image]