Method operating in each node of a computer system providing and utilizing special records for collective communication commands to increase work efficiency at each node
AssigneeInternational Business Machines Corporation
InventorDavid Corder Reynolds
Life of this patent
Estimating the term…
Abstract
A testing apparatus designed to check the completion of a command issued earlier in a multiprocessing system having a plurality of nodes. During an initialization phase, each command has been identified by a handle and a record containing the task to be performed asynchronously had been established. When a request for checking the completion of a command is issued, the pre-established record is simply checked for location of last task executed and completed. If the last or most current task is not the last task before the completion of the total command, the user application can choose to either continue the operation of command processing or permanently or temporarily abandon it.
Claims5
A method for performing collective message passing commands (collective commands) comprised of a plurality of primitive communication commands, and an application program at each node issuing collective commands to a local communication program at the node, the local communication program at each node performing the method by issuing primitive communication commands to other nodes in a multi-processing environment, the method being performed for each collective command issued at any node in order to increase the efficiency of operation of the node, the method at each node comprising the following steps:
- generating a record representing a sequence of primitive communication command operations to be performed at the node for the issued collective command, storing the record in a memory accessible to the node, the record being independent of, and separate from, any program representation for controlling other operations of the application program,
- assigning a current-operation pointer to locate the primitive communication command operation being indicated in the record as being performed for the collective command, and initially setting the pointer to the first primitive communication command operation represented in the record,
- performing by the local communication program each current primitive communication command operation indicated in the record by a current setting of the current-operation pointer, moving said pointer to point to a next primitive communication command operation in the record each time the current primitive communication command operation has been performed for the collective command, and completing the collective command when a last primitive communication command operation in the record is completed,
- detecting by the local communication program for the current primitive communication command operation indicated by the pointer any unresolved dependency requiring action by another node,
- shifting processing by the local communication program from work for the collective command represented by the record to other work available in the application program which may be unrelated to the collective command,
- interrupting the other work when the node receives an indication from another node that the dependency has been resolved to enable the node to shift back to processing for the current primitive communication command operation pointed to in the record by the current setting of the pointer,
- providing a completion indication at the node for the collective command after the pointer indicates a last primitive communication command operation represented in the record has been performed for the collective command,
- no longer using the record for the collective command after its successful completion is determined, and
- enabling the local communication at any node to concurrently execute plural collective commands having respective records for controlling work shifting at the node for each of the collective commands.
Dependencies are inferred from the claim text.