Method of conducting asynchronous distributed collective operations
First Claim
1. In a multiprocessor system having multiple nodes, a method of distributing data from a first node to at least a second node using request commands, each node having a user application for issuing said request command, said method comprising the steps of:
- assigning a handle for identifying a command, said handle being set to a value for non-blocking mode and to null for blocking mode;
processing a requested non-blocking command when said handle is assigned a value in said assigning step;
building a report for recording a sequence of functions to be executed asynchronously given said non-blocking command;
executing in order, the sequence of functions recorded in said report;
when reaching a function that cannot be executed due to an internal dependency which requires some other operation to be completed before execution, returning control to said user application whereby said user application may perform other, unrelated operations; and
providing a handler routine to notify said user application when said internal dependency is resolved and removing said control away from said user application to continue with executing said requested non-blocking command.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for distributing data in a multiprocessing system having a plurality of nodes. Each node has a user application for issuing a blocking or a non-blocking command. A request handle identifies each non-blocking command, while being set to a null value when in blocking mode.
For each requested command issued by any of the user applications, a report is generated comprising of data structures, for recording the sequence of functions to be executed asynchronously given a non-blocking command. Blocking commands are processed synchronously. Once the report is generated the sequence of functions recorded in the report are executed in the sequence presented in the report. However, whenever an internal dependency is encountered the control is returned to user application until the internal dependency is resolved. Upon completion of requested command, the user application is notified.
-
Citations
13 Claims
-
1. In a multiprocessor system having multiple nodes, a method of distributing data from a first node to at least a second node using request commands, each node having a user application for issuing said request command, said method comprising the steps of:
-
assigning a handle for identifying a command, said handle being set to a value for non-blocking mode and to null for blocking mode; processing a requested non-blocking command when said handle is assigned a value in said assigning step; building a report for recording a sequence of functions to be executed asynchronously given said non-blocking command; executing in order, the sequence of functions recorded in said report; when reaching a function that cannot be executed due to an internal dependency which requires some other operation to be completed before execution, returning control to said user application whereby said user application may perform other, unrelated operations; and providing a handler routine to notify said user application when said internal dependency is resolved and removing said control away from said user application to continue with executing said requested non-blocking command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
Specification