1.2 What Is PSE?

PSE provides system software and tools to define and manage a cluster of Alpha systems. A PSE cluster is a collection of one or more Alpha workstations and SMP machines that are integrated to form a single processing entity. Each host in the cluster is referred to as a PSE cluster member. PSE manages the distribution of a parallel program among the cluster members while preserving UNIX syntax and semantics. PSE can be thought of as the operational glue between processors and HPF program execution. PSE also supplies development tools including a debugger and a profiler. PSE is layered upon a number of hardware, system, network, and configuration components.

1.2.1 PSE Cluster Definition

A PSE cluster is a collection of one or more Alpha workstations or SMPs that are integrated to form a single processing entity. Individual hosts belonging to the cluster are referred to as PSE cluster members.

A PSE cluster is more strictly defined as a collection of Alpha systems that run PSE cluster daemons and conform to a number of other requirements such as having a consistent file system name space. Each PSE cluster configuration is site specific. System managers have considerable control over the topology and configuration of their PSE cluster.

1.2.2 Baseline PSE Cluster Configuration

A baseline PSE cluster consists of a group of Alpha worksystems connected to a network with PSE installed and running, as illustrated in Figure 11-1.

1.2.3 Hardware Overview

The objective of creating a PSE cluster is to employ it in order to run parallel programs written in HPF. These programs will execute most efficiently when nearly identical machines with consistent system environment characteristics are connected using a high performance network. Some important considerations are:

1.2.4 Systems Software Overview

PSE defines several concepts, and requires a consistent software environment. These concepts are:

1.2.5 PSE Cluster Entities and Conventions

This section lists and defines the terminology associated with PSE clusters (PSE cluster database, servers, partitions, peers, and so on) and the conventions governing their use.

1.2.6 Parallel Application Execution

PSE is designed to support distributed parallel execution of HPF applications. Digital Fortran 90 supports the HPF extensions that are used to specify the distribution of data onto PSE cluster members during execution as shown in Figure 1-1.

Figure 1-1 Parallel Program Creation and Execution

A goal of PSE is allow the user to work with parallel applications in a manner as similar as possible to nonparallel applications. For example, setting the environment variables PSE_FARM to CHEMCLUSTER and PSE_PARTITION to BIGMEM targets parallel application execution onto the PSE cluster named CHEMCLUSTER on the partition BIGMEM.

A running application under PSE consists of a controlling process and n peer processes. When an application is started, it is the controlling process that communicates with the PSE cluster daemon to request load information to determine where to request the creation of peer processes. Next, the controlling process sends requests to the identified members to start the peer processes. Each peer process then creates communications channels to all other peers. Each peer communicates its stdio stream to the controlling process using an I/O Manager process.

1.2.7 Developing Parallel Applications

HPF is the language currently supported for developing parallel programs for execution under the PSE. The following facilities support HPF programming:

1.2.8 PSE Utility Commands

PSE offers a set of utilities to monitor and manage the environment. They are lspart(1), pspart(1), and psemon(1).