© Copyright 1994 Maui High Performance Computing Center.

Parallel Operating Environment Overview

  1. What is the Parallel Operating Environment?

  2. Understanding the Parallel Operating Environment
    1. Partition
    2. Partition Manager
    3. Resource Manager

  3. Executing Parallel Programs Using the POE
    1. Set your Path
    2. Compiling and Linking a Parallel Program
      1. Fortran (mpxlf)
      2. C (mpcc)
    3. Setting up the Execution Environment
      1. Environment Variables
      2. Some Preset POE Environments
      3. Creating a .rhosts File
      4. Creating a host.list File
    4. Invoking the Executable

  4. Recommendations for Running on the SP2

  5. Miscellaneous Environment Variables

  6. Acknowledgements and References

What is the Parallel Operating Environment?


Understanding the Parallel Operating Environment

Click here to see a graphical representation of the Partition Manager and the Resource Manager.
Partition:
The group of processor nodes on which you run your program is called your partition.

Partition Manager:
The Partition Manager establishes and controls your partition. It consists of a set of subroutines that are linked into your program and an Internet daemon process called pmd. The Partition Manager is responsible for:

Resource Manager:
The Resource Manager keeps track of the nodes that are currently processing a parallel task. When requested by the Partition Manager, the Resource Manager will allocate nodes for your use. It attempts to enforce a "one parallel task per node" rule.

Processor Pool
The local systems administrator will divide the processor nodes into disjoint pools of processors for management purposes. You may request that your parallel tasks run on specific pools. The processor pools at the MHPCC are listed here. You may determine the available pools by typing:
     jm_status -P 

User Space Protocol
A fast method of communication between nodes. Can be used only with the high performance switch.

Internet Protocol
A slower method of communication between nodes. Can be used with ethernet or the high performance switch.

Communication SubSystem (CSS)
The Communication SubSystem (CSS) is the set of library routines which implement either of the above communication protocols.

Executing Parallel Programs Using POE

In order to execute a parallel program, you need to:

  1. Compile and link the program using shell scripts which call the C or FORTRAN compilers while linking in the Partition Manager and MPL subroutines.

  2. Set up your execution environment. This includes setting the number of tasks and specifying the method of node allocation.

  3. Optional: start either of the POE X-Windows analysis tools:
    1. Program Marker Array (Optional: click here).
    2. System Status Array (Optional: click here).

  4. Load and execute the parallel program on the processor nodes of your partition.
    1. Load the same executable on all nodes; normal procedure for SPMD programs.
    2. Individual load separate executables onto the nodes; normal procedure for MPMD programs.

Set Your Path

Before you execute any POE commands, make sure that your path includes /usr/lpp/poe/bin. This can be done by typing at the Unix prompt or adding it to one of your startup files (.cshrc, .profile or .login):

     set path = ($path /usr/lpp/poe/bin)

Compiling and Linking a Parallel Program


Other mpxlf and mpcc Compiler Options


Environment Variables

There are many environment variables and command line flags that you can set to influence the operation on PE tools and the execution of parallel programs. A complete list of the PE environment variables can be found in the IBM AIX Parallel Environment Operation and Use manual. Some things that critically affect program execution are:

Some Preset POE Environments

The following four sets of POE environment variables should cover most users' needs and are provided to help simplify getting started:


The .rhosts File


The Host List File (specific node allocation)


Invoking the Executable

Once the environment is setup and the executables are created, invoking the executables is relatively easy.

Recommendations for Running on the SP2


Miscellaneous Environment Variables


Acknowledgements and References

"IBM AIX Parallel Environment Operation and Use, Release 1.0". IBM Corporation.

"IBM AIX Parallel Environment Operation and Use, Release 2.0". IBM Corporation.

We gratefully acknowledge the IBM Corporation for providing much of the original material included in this document.


© Copyright 1994, Maui High Performance Computing Center. All rights reserved.

Documents located on the Maui High Performance Computing Center's WWW server are copyrighted by the MHPCC. Educational institutions are encouraged to reproduce and distribute these materials for educational use as long as credit and notification are provided. Please retain this copyright notice and include this statement with any copies that you make. Also, the MHPCC requests that you send notification of their use to help@mail.mhpcc.edu.

Commercial use of these materials is prohibited without prior written permission.

Last revised: 2/13/95 Blaise Barney