gtpm3m0cMulti-Processor Interconnect Facility Reference

Services Provided by MPIF

MPIF allows users in two TPF systems to communicate. It does this through its path, connection, and data transfer services. MPIF also supports user exits to process different events.

Path Services Support

MPIF defines logical paths and physical units. Logical paths are identified by a name, and are defined by operator commands. Physical units are defined with operator commands. When a logical path is started, two physical units are assigned to it. This allows logical paths to be assigned different functional characteristics.

Path Class

Path classes are supported to allow users to select paths based on algorithms for bandwidth or functional criteria. Paths can be defined as belonging to a class, and users can request a connection by class when connecting to other users.

Multiple Path Support

MPIF supports multiple paths between systems for bandwidth or user functional requirements. Multiple paths can be established when multiple CTC links exist, which allows for maximum bandwidth capability.

Users desiring multiple paths can issue a connect request to another user over each available path to that user. It is the user's responsibility to manage the multiple paths for performance and for sequencing of data, if relevant.

Users needing to separate their data requests for functional reasons can do so using their own algorithm, as is done for path classes.

Protected Path

A protected path cannot have the last path of a path class to a system stopped by the ZMPIF STOP PATH command. In addition, a protected path causes messages to be placed on the receiving system's ready list instead of its input list, as in standard MPIF message processing. Changing the list used to receive messages from the input list to the ready list raises the priority associated with MPIF message processing.

Load Balancing

MPIF load balancing supports multipathing by ensuring that each path, within a path class defined with load balancing, is assigned to a unique device (for example, a 3088 communication unit or an ESCON CTC where appropriate). The number of paths defined within such a class should be equivalent to, or a multiple of, the number of devices used by the class. The association of a path to a CTC link is made during cross-system startup.

Alternate Path Support

For backup support, each system should have two paths established through CTC support. When a path fails, MPIF notifies affected users about the failure, and allows them to re-establish their connections using alternate paths, if they exist.

Dedicated Path Support

MPIF users can separate their requests by data types or priority by using dedicated paths. A dedicated path supports one user-to-user connection. A path class can be defined that identifies dedicated paths on one or more CTC communication links. Users can then send their requests to the paths in the appropriate class.

MPIF also allows users to restrict CTC links to certain path classes. Users can then direct their requests to the links restricted to the appropriate class. In this way, a CTC link can be restricted to a specific function or purpose.

Directory Update

MPIF maintains a global directory that contains an entry for each user in a MPIF complex. Each system in the MPIF complex maintains its own copy of the directory, which is updated by activity from other systems in the MPIF complex. As each MPIF user identifies itself, using the IDENTIFY parameter on the MPIFC macro, its name is broadcast to all attached systems as a directory update request.

Connection Services

MPIF provides services for creating and terminating logical connections between MPIF users. The main services are called connection and disconnection. A connection must be established between two users before any communication between them can take place. The connection process involves coordinated actions of the two users and a series of requests, which are exchanged between the two users and the two associated MPIF systems. Both users must be activated before a connection can be established. A user becomes activated by identifying itself to MPIF.

When the users no longer want to communicate, the connection can be terminated. Either of the users can request a disconnection.

The following sections describe the MPIF connection protocols and services.

Connection Protocols

MPIF supports two types of connection protocols:

A MPIF-to-MPIF connection is used to exchange messages between the two MPIF systems, for the purpose of managing connections between users in the two systems. A MPIF system uses the path startup process to establish logical connections to other MPIF systems in other processors.

A user-to-user connection is used to exchange data between the two users. A connection is assigned to a single path. The connection is broken on path failure or failure, or on a disconnect request from either user.

Using the Connection Services

Users initiate connection services by coding one of the following parameters on the MPIFC macro:

The definition of these parameters follows:

IDENTIFY
This function identifies the user to MPIF. The user is associated with MPIF resources that are required for other MPIF functions. Once a user is identified, MPIF considers that user as active.

CONNECT
To establish a logical connection between two MPIF users, the two users must agree to the connection. One of the users indicates the desire to connect to another specifically named MPIF user by using the CONNECT parameter.

ACCEPT
This function is used by a user to agree to a connection request from another user.

DISCONNECT
This function is used by one of two connected users to remove a logical connection, or by a user to reject a CONNECT request. MPIF also uses this function for a given connection during failure of connection, user, or MPIF processing.

FORGET
This function removes the named user from the MPIF complex. Additionally, FORGET does the same processing as DISCONNECT. FORGET is the opposite of IDENTIFY.

QUERY
This function is used to determine if other specified users have identified themselves to MPIF. QUERY also provides the user the option to request notification when one or more specified users become identified to the resident MPIF system, or when one or more paths become available to a specific system.

Data Transfer

When a user wants to send data to another user with which it has established a connection, the user invokes the MPIFC macro. In the macro, the user codes a request type of SEND, and creates a parameter list describing the data. When the request is transferred to the destination MPIF user, it executes a user exit routine to process the data.

User Exits

MPIF supports the following user exits: