Claims
- 1. A multi-stage interconnection network and barrier synchronization apparatus jointly functioning in a system comprising:
- a plurality of transmitting elements for transmitting data to the interconnection network and to the barrier synchronization apparatus;
- a plurality of receiving elements for receiving data from the interconnection network and from the barrier synchronization apparatus;
- a multi-sender switch apparatus means comprising the network for coupling said elements asynchronously through input to output port connections for establishing point to point input to output port connections, single input to multiple or all output port connections, and multiple or all input port connections to multiple or all output port connections;
- a barrier synchronization apparatus located at every system element, the barrier synchronization apparatus including:
- a barrier select register for identifying barriers required to be updated;
- a local barrier status register for storing global barrier status data;
- a global barrier status register for storing global barrier status data and having an input coupled from the network and an output means coupled to the barrier select register and the local barrier status register;
- a barrier synchronization control means for controlling a barrier synchronization operation over the network and for providing global barrier status data to the system elements and having an input means coupled from the node and the network and an output means coupled to the network; and
- a data selection multiplexer, controlled by the barrier synchronization control means for selecting data sources from the barrier select register and the local barrier status register for transmission of data to the network.
- 2. The system of claim 1 wherein the barrier synchronization apparatus comprises a means for calculating a status of multiple barriers simultaneously, said means including the local barrier status register, the global barrier status register, and the barrier select register.
- 3. The system of claim 1 wherein the barrier synchronization apparatus comprises a means for mixing priority calculation cycles and barrier synchronization calculation cycles on an alternating, back to back basis until all requestors of barrier updates are satisfied.
- 4. The system of claim 1 wherein the barrier synchronization apparatus comprises a means for barrier synchronization hardware to work jointly with a node processor to respond individually to every joint calculation over the network, for the barrier synchronization hardware to interrupt a processing node and request information pertinent to the joint calculation, and for the node processor to provide the information to barrier synchronization logic which in turn supplies the information to the network for performing the joint calculation.
- 5. The system of claim 3, wherein the barrier synchronization apparatus and said network continue to perform said back-to-back priority calculation and barrier synchronization calculation cycles until a priority of all zeroes is detected over the network which is interpreted as an operation termination command.
- 6. The system of claim 1 wherein the barrier synchronization apparatus comprises a means for an initiating requestor to control sequencing of joint calculations until all said calculations are exhausted.
- 7. The system of claim 1 wherein the network provides a means for all the system elements to transmit a data bit pattern simultaneously and to use said network to logically OR the data bit patterns and to provide a result back to all said elements simultaneously.
- 8. A barrier synchronization apparatus comprising:
- a plurality of nodes;
- a network for establishing simultaneous unbuffered asynchronous communication between the nodes;
- initiation means included in at least one of the nodes for transmitting a barrier status initiation signal through the network to others of said nodes;
- synchronization means included in said others of the nodes for synchronizing at least one barrier between said nodes, each synchronization means including
- means for receiving the barrier status initiation signal over the network,
- means for transmitting and receiving barrier status signals over the network and coupled to the means for receiving the barrier status initiation signal,
- means for storing local and global status data of said at least one barrier and coupled to said means for transmitting and receiving barrier status signals, and
- means for updating the global status data of said at least one barrier in response to a global barrier status signal received over the network.
- 9. The apparatus according to claim 8, wherein the network includes means for producing the global barrier status signal in response to barrier status signals transmitted simultaneously by the nodes.
- 10. The apparatus according to claim 8, wherein the network includes means for distributing the global barrier status signal to said plurality of nodes.
- 11. The apparatus according to claim 8, wherein the network includes a multi-stage, unclocked, unbuffered, asynchronous network.
- 12. The apparatus according to claim 8, wherein each of the nodes includes said initiation means and said synchronization means.
- 13. The apparatus according to claim 8, wherein the synchronization means further includes means for storing local barrier status data.
- 14. The apparatus according to claim 13, wherein the means for storing the local barrier status data and the means for storing the global barrier status data comprise registers.
- 15. The apparatus according to claim 8, further comprising arbitration means for determining a highest priority requestor from among the nodes, and wherein the highest priority requestor is granted immediate usage of the apparatus for barrier synchronization.
- 16. The apparatus of claim 15, further comprising:
- means for withdrawing nodes from the barrier synchronization which are not determined to be the highest priority requestor;
- means for keeping pending barrier initiation signals from withdrawn nodes;
- means for maintaining network connections of the withdrawn nodes; and
- means for continuing the withdrawn nodes' participation in subsequent determinations of highest priority until they are determined to be the highest priority requestor.
- 17. The apparatus according to claim 15, wherein the arbitration means includes means for determining that more than one of the nodes is a highest priority requestor, and wherein the highest priority requestor nodes jointly participate in the barrier synchronization.
- 18. The apparatus according to claim 15, further comprising means for joining at least one node not determined by the arbitration means to be the highest priority requestor into the barrier synchronization.
- 19. The apparatus of claim 8, wherein the means for storing stores the global status data of two or more barriers, and wherein the means for updating updates the status of said two or more barriers in response to the global barrier status signal.
- 20. The apparatus according to claim 8, wherein a subset of the plurality of nodes participates in a barrier synchronization.
- 21. The apparatus of claim 17 wherein the highest priority requestor nodes are all simultaneously satisfied by a single and immediate usage of the network and all said highest priority requestor nodes withdraw a present request to use the network for barrier synchronization.
- 22. The apparatus of claim 15 wherein the network includes a means for providing the network for usage by a next highest priority requestor without the next highest priority requestor's having to re-establish network connections for its individual usage.
- 23. The apparatus of claim 8 wherein the network provides a means for all said nodes to receive a positive indication via a composite ACCEPT signal that the barrier synchronization has been completed by all participating nodes.
RELATED APPLICATIONS
The present U.S. patent application claims priority and is related to the following application of which this is a continuation-in-part: U.S. Ser. No. 07/677,543, filed Mar. 29, 1991 now abandoned, entitled "ALLNODE SWITCH--AN UNCLOCKED, UNBUFFERED, ASYNCHRONOUS, SWITCHING APPARATUS"; Lusch et al.
The present U.S. patent application is also related to the following U.S. patent applications filed concurrently herewith.
U.S. Ser. No. 07/748,316, filed Aug. 21, 1991 entitled "BROADCAST/SWITCHING APPARATUS FOR EXECUTING BROADCAST/MULTI-CAST TRANSFERS OVER UNBUFFERED ASYNCHRONOUS SWITCHING NETWORKS"; Olnowich et al.
U.S. Ser. No. 07/748,302, filed Aug. 21, 1991 entitled "MULTI-SENDER/SWITCHING APPARATUS FOR STATUS REPORTING OVER UNBUFFERED ASYNCHRONOUS MULTI-STAGE NETWORKS": Olnowich et al.
U.S. Pat. No. 5,250,943 entitled "GVT-NET-A GLOBAL VIRTUAL TIME CALCULATION APPARATUS FOR MULTI-STAGE NETWORKS"; Olnowich et al.
These applications and the present application is owned by one and the same assignee, namely, International Business Machines Corporation of Armonk, N.Y.
The descriptions set forth in the previous application and the concurrently filed applications are hereby incorporated herein by reference.
US Referenced Citations (27)
Non-Patent Literature Citations (4)
Entry |
IBM TDB vol. 30, No. 1, Jun. 1987 pp. 72-78, Pol Actuated Multiple Access Technique for Broadgathering Systems. |
IBM TDB vol. 22, No. 12, May 1980 pp. 5450-5452, Distributed Star Network with Unrooted Tree Topology. |
IEEE Trans. Computers C-32, 175-189 (Feb. 1983), NYU Ultracomputer Gottlieb et al. |
IBM Research Parallel Processor Prototype "Proceedings of 1985 International Conference on Parallel Processing", pp. 764-769. |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
677543 |
Mar 1991 |
|