gtpm3m0c | Multi-Processor Interconnect Facility Reference |
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.
See User Exits for a complete description of the MPIF user exits.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
Users initiate connection services by coding one of the following parameters on the MPIFC macro:
The definition of these parameters follows:
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.
MPIF supports the following user exits:
See User Exits for details on these user exits.