Network control system

Abstract: A network control system in a hyper cube type network constituted by 2 n nodes (n > 0, integer), each of the nodes (30) being on an apex of a cube, and having n sets of links (31...34) for interconnecting other nodes so as to form an n-dimensional hyper cube type network; and a plurality of processors, each processor being connected to each node by input/output links, (35,36,37) thereby providing communication paths between processors through the nodes and links; each of the nodes comprising, a device (43) for setting 2 n different connection patterns corresponding to 2 n phase signals (52), and a switching device (40) for interconnecting between the links (31...34) and between the input/output links (35, 36, 37) in accordance with the connection patterns synchronized with the phase signals.

Description: The present invention relates to a network control system in a hyper cube type network used in a multi-processors interconnection system. As is well known, the hyper cube type network is constituted by a plurality of nodes (2 n nodes, n > 0, integer), each node being arranged on an apex of the cube, a plurality of links connecting the nodes, and a plurality of processors, each connected to each node. In general, two types of the multi-processors interconnection system are used, i.e., a multi-stage network and a multi-processors network. The multi-stage network includes various types of networks based on differences in the connection configuration thereof. For example, an omega network, a delta network, a banyan network, a shuffle-exchange network, etc. In general, these types, for example, the omega network and the shuffle-exchange network, have a plurality of switch boxes, and each switch box generally has two input terminals and two output terminals. Each switch box can take two connection configurations, i.e., cross and straight corresponding to a bit "1" and a bit "0". The switch boxes are connected by links from input stages to output stages in accordance with the above connection configurations, to form communication paths. In these types of network, however, although a high transfer speed can be achieved, a problem arises in that the number of communication paths which can be simultaneously used is limited, because the switch box can deal with only one communication path at a time. The multi-processor network is constituted by a plurality of nodes and links connected between the nodes, wherein each node has at least one buffer memory for temporarily storing input messages. This type of network is constituted by a ring type, tree type, hyper cube type, etc., in accordance with different arrangements of the nodes. In these types of network, however, a problem arises in that much time is required for writing/reading a message to and from the buffer memory, and thus transmission of a message is delayed in an all-to-all burst communication when many loads are connected to the network. The hyper cube type network can be obtained in both the multi-stage and the multi-processor type of network, in the connection configuration of the nodes and the links, by rewriting a topology thereof. That is, the network having the hyper cube topology exists in the multi-stage and multi-processor networks. In this case, it is possible to modify the shuffle-exchange network to the hyper cube topology by rewriting the structure thereof when the former does not have the hyper cube topology. It is desirable to achieve an improvement of the total processing performance of the processors connected to the hyper cube type network, particularly, in an all-to-all burst communication. The all-to-all burst communication is a communication pattern in which each processor can simultaneously communicate to all processors including oneself in the system. Therefore, in the present invention, all communication paths are previously scheduled to achieve an effective all-to-all burst communication in the hyper cube type network. One example of the multi-stage network is disclosed in, New Generation Computing, 1984, "A Multi Page-Memory Architecture and A Multiport Disk-Cache System", by Yuzuru Tanaka. This network is constituted by a plurality of ports, a plurality of memory banks, a plurality of switch boxes, and a controller. The controller controls the connection of switch boxes based on a predetermined control program. In this proposal, however, the network is formed between the ports and the memory banks. Furthermore, the topology of the network is a type of shuffle-exchange network, and the switch box comprises two inputs and two outputs. When the network of this proposal is adapted to a hyper cube topology, one half of the links are not used, and thus the processing performance is unsatisfactory. One example of a hyper cube network is disclosed in WO-A-87/01485 by the University of Southampton. This network has the features of the preamble of accompanying claim 1, and each node of the network may be provided by a device, comprising sixteen transputers and a switching network for connecting the transputers, the switching network being controlled to set a certain connection state between the transputers in accordance with algorithms to be carried out. However, no overall control of the hyper cube network or provision for all-to-all communication is disclosed. It is therefore desirable to provide a hyper cube type network enabling a uniform access upon an all-to-all burst communication among all nodes without congestion and waiting at the links, by which the processing performance of the processor can be improved. According to the present invention, there is provided a hyper cube type network constituted by 2 n nodes (n > 0, integer), each node being notionally arranged at an apex of a cube, and having n sets of links for interconnecting other nodes so as to form an n-dimensional hyper cube type network; and a plurality of processors, each processor being connected to a said node by input/output links thereby providing communication paths between processors through said nodes and links; each of said nodes comprising means for setting 2 n different connection patterns and switching means for interconnecting between said links and between said input/output links in accordance with said connection patterns; characterised in that said network includes a network control system for issuing periodic control signals, each period constituted by 2 n phase signals, simultaneously to the connection pattern setting means of each node; and in that under control of said connection pattern setting means, said switching means of each node sequentially sets each of said 2 n different connection patterns in turn, in synchronism with said 2 n phase signals, so as to enable all-to-all communication between the nodes in the network to take place every period of said periodic control signals. Reference is made, by way of example, to the accompanying drawings in which: Fig. 1 is a schematic diagram of one example of the structure of a three-dimensional hyper cube type network having eight nodes; Fig. 2 is a schematic block diagram of a previously proposed node; Fig. 3 is a basic structural view of a node according to the present invention; Fig. 4 is one example of the connection of a four-dimensional hyper cube type network; Fig. 5 is a schematic block diagram of a node according to one embodiment of the present invention; Fig. 6 is a view for explaining the connection configuration of the switch unit corresponding to each connection pattern; Figs. 7A, 7B and 7C are views for explaining various communication paths corresponding to various connection patterns; Fig. 8 is a schematic block diagram of a node according to another embodiment of the present invention; Figs. 9A and 9B are views for explaining connection configurations of the switch box in Fig. 8; Fig. 10 is a view for explaining one example of the connection configuration of the communication path in the embodiment shown in Fig. 8; Fig. 11 is a schematic block diagram for explaining the relationship between the node and the interfaces to the processor with regard to the first embodiment shown in Fig. 5; Fig. 12 is a detailed block diagram of the reception memory interface shown in Fig. 11; Fig. 13 is a detailed block diagram of the transmission memory interface shown in Fig. 11; Fig. 14 is a schematic block diagram for explaining the relationship between the node and the interfaces to the processor regarding the second embodi-ment shown in Fig. 8; and Fig. 15 is a graph for comparing the present invention and a previous proposal. Before describing the preferred embodiments, an explanation will be given of a previously proposed hypercube type network. Figure 1 is a schematic diagram of one example of the structure of a three-dimensional (n = 3) hyper cube type network having eight (2³ = 8) nodes 1 to 8. Each node is designated by binary numbers "000", "001" ---"111", has three links, and is connected to another node based on the following connection rule. For example, the first bit of the node designation of the node 1 is different from that of the node 2, and thus the link 1 of the node 1 is connected to the link 1 of the node 2. Further, the second bit of the node designation of the node 1 is different from that of the node 3, and accordingly, the link 2 of the node 1 is connected to the link 2 of the node 3. Still further, the third bit of the node designation of the node 1 is different from that of the node 5, and therefore, the link 3 of the node 1 is connected to the link 3 of the node 5. The same rule is applied to the other nodes, and thus all of the nodes are connected to each other in such a manner that they constitute a three-dimensional hyper cube type network. In general, 2 n nodes are distinguished by 2 n node designations. Each of the node designations can be expressed by a binary number having n bits in the n-dimensional hyper cube type network. As is obvious from the above example, each node is connected to the other n nodes. Figure 2 is a schematic block diagram of a prior proposed node. This node is used in a multi-processors network. In Fig. 2, reference number 10 denotes a reception control unit, 11 a transmission control unit, 12 an input control unit, 13 an output control unit, 14 a buffer memory, 15 a router, and 16 a bus line. The input control unit 12 and the output control unit 13 are connected to the processor (not shown), for controlling the reception or transmission of messages from or to the processor. The reception control unit 10 and the transmission control unit 11 are connected to the link for controlling the transmission and reception of messages from another node. The buffer memory 14 temporarily stores transmission and reception messages, and the router 15 distinguishes an address of the message and controls another node to which it is to be relayed. The reception control unit 10 and the input control unit 12 transfer messages input from the processor and the link, and the buffer memory 14 stores the messages to the predetermined memory area. The transmission control unit 11 and the output control unit 13 transfer the messages read out from the memory area under the control of the router 15. The router 15 comprises a suitable processing means for running a control program, and accordingly, based on the control program, the router 15 distinguishes the node designation of the destination of the received message, determines the transmission destination to which it is to be relayed, and sends a command concerning the destination to the transmission control unit 11 and the output control unit 13. In each node, the message from the processor has the node designation of the destination at the head thereof, and the input control unit 12 informs the router 15 that the message has been stored. The router 15 compares the node designation of the destination of the received message stored in the buffer memory 14 with the own node designation. If the former coincides with the latter, the destination of the received message is determined to be the own node. In this case, the received message is output to the processor connected to the own node through the output control unit 13. If the former does not coincide with the latter, the received message is output to another node having the number corresponding to the inconsistent bit of the former and the latter. For example, when the above node is applied to the hyper cube type network shown in Fig. 1, if the message is transmitted from the node 1 (000) to the node 6 (101) through the link (indicated by thick lines), the message from the processor connected to the node 1 is temporarily stored in the buffer memory 14 of the node 1. The router 15 then compares the node designation "101" of the destination node 6 with the own node designation "000" of the node 1 and determines the link to be selected. In this case, since the first and the third bits of the node designation "000" and the node designation "101" are different, the link denoted by the thick line is selected. Namely, when the router 15 of the node 1 selects the third link, the message is transferred from the buffer memory 14 of the node 1 to the third link through the transmission control unit 11, and the message is stored in the buffer memory 14 of the node 5 through the reception control unit 10 therein. The router 15 of the node 5 compares the node designation "101" of the destination node 6 with the own node designation "100" of the node 5, and determines the link to be selected. In this case, since the first bit is different in the node designation "101", the message is transferred from the buffer memory 14 of the node 5 to the first link through the transmission control unit 11 therein. The message is stored in the buffer memory 14 of the node 6 through the reception control unit 10 therein, the router 15 of the node 6 distinguishes that the message designates the own node designation "101", and the message is then transferred to the processor connected to the node 6 through the output control unit 13 therein. As explained above, since the control of each node is independently performed, a plurality of messages can be transferred and processed in parallel in the hyper cube type network. Nevertheless, problems arise in this type of node when it is applied to the hyper cube type network and many messages to be processed exist in the network. First, the message quantities passing through each of the links are unbalanced so that a complex relation-ship of busy links and not-busy links exists in the network since it is not possible to make completely uniform the message quantities passing through each link. Accordingly, the rate of utilization of the link is reduced, and thus the total processing performance of the network is considerably lowered. Second, a router having a higher processing performance must be provided in each node, to process many messages passing through the link, and accordingly, the manufacturing cost per node is increased. A network control system according to the present invention will be explained in detail hereinafter. Figure 3 is a basic structural view of a node embodying the present invention. A plurality of nodes are connected to each other through links in such a manner that they form the hyper cube type network shown in Fig. 1. In Fig. 3, reference number 20 denotes a node, 21 a switch unit, 22 links, 23 input links, 24 output links, 25 a connection pattern setting unit and 26 a phase signal. Each link 22 is connected to another node, and the input link 23 and the output link 24 are connected to the processor. The switch unit 21 is connected to the link 22, the input link 23, and the output link 24, and switches the interconnection among these links in accordance with the connection pattern set by the setting unit 25 synchronized with the phase signal 26. The node 20 is one of 2 n nodes, each having the same structure in the n-dimensional hyper cube type network, and each node 20 is connected by n sets of links 22 to the other n nodes. The connection pattern setting unit 25 determines 2 n connection patterns synchronized with the phase signal 26. In this case, one period is constituted by 2 n phases simultaneously supplied to all nodes. One phase signal contains n messages and can process 2 n messages, and accordingly, the all-to-all burst communication is processed by 2 n phases. The switch unit 21 controls 2 n kinds of connections during one period to interconnect the link 22 and the input link 23, and the link 22 and the output link 24, based on the connection patterns supplied from the unit 25. According to the above control, the busy state and waiting state of the link when relaying the message do not occur in the network without congestion of the message at the communication path, so that the processing performance of the network can be raised when performing an all-to-all burst communication. Figure 4 is one example of the connection of a four-dimensional hyper cube type network. Each of the nodes of the four-dimensional (n = 4) hyper cube type network is connected in accordance with the above mentioned connection rule. The binary number (0000, 0001 ---) at each node is the node designation, and the number at each line is the link number. Figure 5 is a schematic block diagram of a node according to one embodiment of the present invention. In Fig. 5, reference number 30 denotes a node, 31 to 34 links, 35 an input link, 36 and 37 two output links, 39 an input line, 40 a switch unit, 41 a control unit, 42 a buffer memory, 43 a connection pattern setting unit, 44 a register, 50 a global controller, 51 a bit train generator, 52 a signal line, 53 an invertor, and 54 a signal line. The node 30 is connected to the links 31 to 34 and to the processor through the input link 35 and two output links 36, 37. The input link 35 is connected to the switch unit 40 through the buffer 42 and the input line 39. The messages are temporarily stored in the buffer 42 and sequentially read out from the buffer 42 to the switch unit 40 through the input signal line 39. The buffer 42 has, for example, sixteen memory areas corresponding to the sixteen nodes shown in Fig. 4, and temporarily stores each message to be transferred from the processor to each node. The control unit 41 controls the connection configuration at the switch unit 40 and selection of the message read out from the buffer 42 based on the connection patterns supplied from the connection pattern setting unit 43 and the own node designation held in the register 44. The connection pattern setting unit 43 receives the bit train (here the bit train has four bits, since this embodiment concerns a four-dimensional (n = 4) network) of the phase signal simultaneously supplied from the global controller 50 to each node 30. This bit train is transferred to the control unit 41 as a four-bits connection pattern. The global controller 50 comprises the bit train generator 51 and the invertor 53, and is provided in common in the hyper cube network. The bit train generator 51 generates different bit trains at constant time intervals set as being sufficient for transferring one message. This bit train is transferred to all nodes having an even node designation through the signal line 52, and simultaneously, the bit train inverted by the invertor 53 is transferred to all nodes having an odd node designation through the signal line 54. The bit train generator 51 can generate 2 n kinds of bit trains during one period. The even node designations are those containing zero or even numbers of the bit "1" in the bit train, and the odd node designations are those containing odd numbers of the bit "1" in the bit train; for example, the node designations "0000", "0101", "1111", etc., are even node designations, and the node designations "0001", "1011", etc., are odd designations. The control unit 41 decodes the connection pattern from the con-nection pattern setting unit 43 and generates the predetermined control signal. The connection rule at the switch unit 40 is briefly explained hereinafter. The interconnection between the links and between the input/output links is performed in such a way that, each of bits from the first to n'th of the connection pattern is corresponded to each of links from the first to n'th, respectively, the input link is connected to the link corresponding to the most significant bit of the bit "1" contained in the connection pattern, the remaining bits "1" are paired from the upper bit and each pair of link is connected to corresponding each pair of bit, respectively, and the bits "0" contained in the connection pattern are paired from the upper bit and each pair of link is connected to corresponding each pair of bit, respectively; further, when the bit "1" does not exist in the connection pattern, the input link is connected to the output link 36; when even numbers of the bit "1" exist in the connection pattern, the bit "1" of the least significant bit disconnected by the above connection manner is connected to the output link 36, then, when odd numbers of the bit "1" exist in the connection pattern, the bit "0" of the least significant bit disconnected by the above connection manner is connected to the output link 37. Figure 6 is a view for explaining the connection configuration of the switch unit corresponding to each connection pattern. In Fig. 6, reference numbers 1 to 4 denote links corresponding to links 31 to 34 in Fig. 5, "I" denotes an input line corresponding to the input line 39, and "O₁" and "O₂" denote two output lines corresponding to the output lines 36 and 37. In this case, the control unit 41 in Fig. 5 obtains an "exclusive OR" between the connection pattern and the own node designation of the register 44, as the node designation of the destination, and transfers the exclusive OR as the control signal to the buffer 42, where the message at the area assigned by the destination is read out from the buffer and transferred to the input line 39. For example, when the connection pattern is "0011", the node having an even node designation, for example, "1001", is connected to the node designated "1010", as shown by the thick lines in Fig. 4. The connection configuration of the connection pattern "0011" is shown in Fig. 6. The input line I is connected to the first link 1 so that the input message is transferred to the node designated "1000" shown in Fig. 4. In this case, since the node designation "1000" is for an odd node designation, the inverted connection pattern "1100" is used as the connection pattern. The connection pattern "1100" is shown in Fig. 6. That is, the first link 1 is connected to the second link 2 so that the message input from the first link 1 is transferred to the second link 2 and further transferred to the node designated "1010". In the node designation "1010", since this is an even node designation, again the connection pattern "0011" is used. The connection configuration of the connection pattern "0011" is shown in Fig. 6, as already explained. That is, the second link 2 is connected to the output O₁. Accordingly, the message input from the processor of the node designated "1001" is transferred to the processor of the node designated "1010". Figures 7A, 7B and 7C are views for explaining various communication paths in the hyper cube network. Fig. 7A shows the case where the connection pattern at the even node designation is "0010", Fig. 7B shows the case where the designation is "0101", and Fig. 7C shows the case where the designation is "1111". As obvious from the above, the connection patterns at the odd node designations are "1101", "1010", and "0000", respectively. In the above embodiment, the output links O₁ and O₂ are not used simultaneously because the dimension of the network is even (for example, n = 4). When the dimension is odd (for example, n = 3), both output lines O₁ and O₂ are used in a certain node and not used in the remaining nodes. Figure 8 is a schematic block diagram of the node according to another embodiment of the present invention. In Fig. 8, reference number 60 denotes a node, 61a to 64b links, 65 to 68 switch boxes, 69 a buffer memory, 73 to 75 input signal lines, and 72 a control unit. Each of the switch boxes 65 to 68 is connected to each of a pair of links 61a and 61b, 62a and 62b, 63a and 63b, and 64a and 64b. The switch box 65 is connected to two input links 70 and 71, and the switch box 68 is connected to two output links 36 and 37. The interconnections between the links, and between the link and the input/output links are performed in such a way that, when the bit of the connection pattern is "1", the switch box is set to the first connection configuration, and when the bit of the connection pattern is "0", the switch box is set to the second connection configuration, as explained in detail hereinafter. Figures 9A and 9B are views for explaining the connection configurations of the switch box. Each switch box comprises two input terminals I₁ and I₂ , two output terminals O₁ and O₂ , two link terminals L₁ and L₂ , and a control terminal C. These connection configurations are switched by a control signal input to the control terminal C from the control unit 72. Two output terminals O₁ and O₂ are connected to the next corresponding input terminals I₁ and I₂ , and two output terminals O₁ and O₂ of the end switch box 68 are connected to the output links 36 and 37, respectively. The message is input from the input link 35 and stored in the buffer 69. The buffer 69 is divided into, for example, sixteen memory areas corresponding to all of the nodes, and sequentially stores the message from the processor. The control unit 72 generates one destination node designation based on the exclusive OR from the connection pattern and the own node designation held in the register, and the other destination node designation based on the bits inverted from the exclusive OR. Two destination nodes determined by the control unit 72 are input to the buffer 69 through the signal line 77. Two messages designated by the control signal are read out from the predetermined area and input to the switch box 65 through the signal lines 70 and 71. The connection pattern setting unit 43 receives the bit trains to be simultaneously transferred to each mode as the phase signal. The bit trains are supplied from the bit train generator 51 in the global controller 55 commonly provided in the hyper cube network. The bit trains, for example, four-bits trains, are transferred to the controller 72 through the connection pattern setting unit 43. The bit train generator 51 generates different bit trains at constant time intervals set as being sufficient for transferring one message. In this case, the bit train generator 51 generates 2 n kinds of bit trains during one period. The control unit 72 generates the control signal to be input to each control terminal C of each switch box. Each switch box is changed by the control signal between two connection configurations shown in Figs. 9A and 9B. That is, when the connection pattern is "1", the connection configuration is shown by Fig. 9A, and when the connection pattern is "0", the connection configuration is shown by Fig. 9B. Accordingly, for example, when the connection pattern is "0110", the switch boxes 65 and 68 are set to the connection configuration shown in Fig. 9B, and the switch boxes 66 and 67 are set to the connection configuration shown in Fig. 9A. As explained above, the first connection configuration shown in Fig. 9A is formed by connecting the first input terminal I₁ and the first link terminal L₁ , the second input terminal I₂ and the second output terminal O₂ , and the second link terminal L₂ and the first output terminal O₂. The second connection configuration shown in Fig. 9B is formed by connecting the first input terminal I₁ and the first output terminal O₁ , the second input terminal I₂ and the first link terminal L₁ , and the second link terminal L₂ and the second output terminal O₂ , respectively. Figure 10 is a view for explaining one example of the connection configuration of the communication path. In Fig. 10, the connection pattern is "0110". Each of the boxes (dotted line) corresponds to the switch box 65 to 68 shown in Fig. 10. Further, I₁ and I₂ are the input links and O₁ and O₂ are, the output links. As is obvious, when the connection pattern is "0", the switch box takes the connection configuration shown by Fig. 9B, and when the connection pattern is "1", the switch box takes the connection configuration shown by Fig. 9A. For example, as shown by the thick line, the input link I₁ of the node designated "0000" is connected to the node designated "0010" by both switch boxes 66 passing through the switch box 65 of the node designated "0000". Further, the node designated "0010" is connected to the node designated "0110" by both switch boxes 67, and connected to the output link O₁ of the node designated "0110". In case of the input link I₂ of the node designated "0000", as shown by another thick line, the node designated "0000" is connected to the node designated "1001" through the switch box 65 of the node designated "0000", the switch boxes 65 to 68 of the node designated "0001", and the switch box 68 of the node designated "1001". As is obvious, the destination node designation "1001" is similar to the node designation inverted from the node designation "0110". Accordingly, it is possible to automatically designate two destination nodes in the present invention. Figure 11 is a schematic block diagram for explaining the relationship between the node and the interfaces to the processor. In Fig. 11, RIF denotes a reception memory interface, TIF a transmission memory interface, E an exclusive OR circuit, OE an odd/even judgement circuit, IV a bit inverter, N a NOT circuit, TB a transmission buffer, and RB a reception buffer. This figure corresponds to the first embodiment shown in Fig. 5; i.e., the switch unit 40 corresponds to the switch unit 40 in Fig. 5; two interfaces RIF, the interface TIF, and the memory correspond to the buffer 42 and the peripheral portions in Fig. 5; and the connection pattern setting unit, the register, the exclusive OR circuit and the odd/even judgement circuit correspond to the register, the control unit and the connection pattern setting unit shown in Fig. 5. The node includes two interfaces RIF and one interface TIF both connected to the address bus and the data bus of the processor. The interface TIF inputs the messages read out sequentially from the buffer TB to the switch unit 40 through the address and the data bus line. The interface RIF stores the messages read out from the switch unit to the buffer RB in the memory through the address and the data bus line. The buffer TB has, for example, sixteen entries corresponding to all of the nodes. The interface TIF comprises, for example, sixteen registers corresponding to all of the nodes, and each of the registers stores the start address of each entry in the buffer TB. Similarly, the buffer RB has, for example, sixteen entries corresponding to all of the nodes. The interface RIF comprises, for example, sixteen registers corresponding to all of the nodes, and each of registers stores the start address of each entry in the buffer RB. The interconnections between links are controlled by the control signal received from the connection pattern setting unit. As mentioned above, the connection pattern setting unit receives the bit train simultaneously transferred from the global controller to each mode as the phase signal, and inverts to the control signal of the switch unit. Figure 12 is a detailed block diagram of the reception memory interface, and Figure 13 is a detailed block diagram of the transmission memory interface. The interfaces RIF and TIF are controlled by the phase signal from the global controller, and the control signal generated by the own node number from the register having the own node number. The interface RIF receives a node number designation signal and a start signal as the control signal. The direct memory access controller DMAC refers the entry of the buffer RB based on the address stored in the register corresponding to the node designated by the node number designation signal when the start of the reception is designated by the start signal, and stores the message, which is input from the output link of the switch unit to the FIFO, to the corresponding entry. The interface TIF receives the node number designation signal and the start signal as the control signal. The DMAC refers the entry of the buffer TB based on the address stored in the register corresponding to the node designated by the node number designation signal when the start of the transmission is designated by the start signal, and inputs the message stored in the corresponding entry to the FIFO. The transmission message input to the FIFO is output immediately to the input link of the switch unit. The node number designation signal to the interface TIF is generated by calculating the exclusive OR between the phase signal and the own node number. The start signal to the interface TIF is always turned ON. The node number designation signal to the interface RIF (connected to the line 36) is generated by calculating the exclusive OR between the phase signal and the own node number. The node number designated signal to the interface RIF (connected to the line 37) is generated by calculating the exclusive OR between the inverted phase signal and the own node number. Further, the start signal to the interface RIF (connected to the line 36) is turned ON when the phase signal is even, and the start signal to the interface RIF (connected to the line 37) is turned ON when the phase signal is odd. Figure 14 is a schematic block diagram for explaining the relationship between the node and the interfaces to the processor. This figure corresponds to the second embodiment shown in Fig. 8. The same reference numbers shown in Fig. 11 are used for the same components of Fig. 14. S denotes the start signal generation circuit. The node includes two interfaces RIF and two interfaces TIF connected to the address bus and the data bus. Two input terminals of the first switch box are connected to the corresponding interfaces TIF. Two output terminals of the fourth switch box are connected to the corresponding interface RIF. The interface TIF reads out the message from the buffer TB, as in the first embodiment, and outputs the message to the corresponding input terminal. The interface RIF inputs the message from the corresponding output terminal, as in the first embodiment, and stores the message to the buffer RB. The transmission buffer TB and the reception buffer RB have the same structure as in the first embodiment. The interconnection of each switch box is controlled by the control signal from the connection pattern setting unit. The connection pattern setting unit receives the bit train, and transmits the control signal to control the connection configuration of each switch box in such a way that the switch box is set to the first connection configuration when the bit is "1", and set to the second connection configuration when the bit is "0". The node number designation signal to the interface TIF (connected to the line 70) is generated by calculating the exclusive OR between the phase signal and the own node number in the register, and the node number designation signal to the interface (connected to the line 71) is generated by calculating the inverted exclusive OR between the phase signal and the own node number. The node number designation signal to the interface RIF (connected to the line 36) is generated by calculating the exclusive OR between the phase signal and the own node number, and the node number designation signal to the interface RIF (connected to the line 37) is generated by calculating the inverted exclusive OR between the phase signal and the own node number. The start signal to the interfaces TIF and RIF are always turned ON. Further, the start signal generation circuit S is provided for detecting the start point of the phase signal from the global controller. Figure 15 is a graph for comparing the present invention and the previous proposal. In Fig. 15, the ordinate denotes an elapsed time (msec), and the abscissa denotes a packet length (Kbyte). A CAP (Cellar Array Processor), multi-processor system developed by Fujitsu Laboratories Ltd. and constituted by sixty-four processors, is used in the experiment, and accordingly, the present invention is constituted by switch boxes of the CAP and the routing according to the present invention, and the comparison system is constituted by message passing by the CAP and the routing according to the previous proposal. Therefore, the former is compared with the latter with regard to the transmission arrays and the reception arrays. That is, the elapsed time is measured between the time when each element of the transmission arrays is transferred to different destination nodes and the time when the messages from the different destination nodes are received by each element of the reception arrays. As is clear from the graph, the lapsed time of the present invention is about ten times better than that of the previous proposal. In embodiments of the present invention, it is possible to uniformly perform an all-to-all burst communication among all nodes without congestion and waiting of the links in the hyper cube network. Further, in the second embodiment shown in Fig. 8, it is possible to reduce the processing time to a half of that of the first embodiment since two sets of all-to-all burst can be processed during one period in the second embodiment.

Claims: A hyper cube type network constituted by 2 n nodes (n > 0, integer), each node (20, 30, 60) being notionally arranged at an apex of a cube, and having n sets of links (22; 31,...34; 61a, 61b,...64a, 64b) for interconnecting other nodes so as to form an n-dimensional hyper cube type network; and a plurality of processors, each processor being connected to a said node by input/output links (23, 24; 35, 36, 37), thereby providing communication paths between processors through said nodes and links; each of said nodes comprising means (25; 43) for setting 2 n different connection patterns, and switching means (21; 40; 65,...68) for interconnecting between said links and between said input/output links in accordance with said connection patterns; characterised in that: said network includes a network control system (50, 55) for issuing periodic control signals, each period constituted by 2 n phase signals, simultaneously to the connection pattern setting means (25; 43) of each node; and in that under control of said connection pattern setting means, said switching means of each node sequentially sets each of said 2 n different connection patterns in turn, in synchronism with said 2 n phase signals, so as to enable all-to-all communication between the nodes in the network to take place every period of said periodic control signals. A network control system as claimed in claim 1, wherein each of said nodes (30) has a node designation consisting of a bit train having n bits; said n dimensional hyper cube network is constituted in such a way that two nodes, whose node designations differ in only one bit, are interconnected by one link (31,...34); said input/output links of each of said nodes comprise one input link (35) and first and second output links (36, 37); each of said connection patterns is applied by a bit train having n bits corresponding to n links, and is applied in such a way that the connection pattern of one node including zero or an even number of bits "1" in the node designation is determined by a bit train inverted from all bits of the connection pattern of the other node including an odd number of bits "1" in the node designation; and said interconnection between said links (31,...34) and between said input/output links (35, 36, 37) is performed in such a way that the first to n'th bits of the connection pattern correspond to first to n'th links, respectively, the input link (35) is connected to the link (31, ...34) corresponding to the most significant bit "1" contained in the connection pattern, the remaining bits "1" are paired from the upper bit and each pair of links is connected to each corresponding pair of bits, respectively, and the bits "0" contained in the connection pattern are paired from the upper bit and each pair of links is connected to each corresponding pair of bits, respectively; further, when no bit "1" exists in the connection pattern, the input link (35) is connected to the first output link (36); when an even number of bits "1" exist in the connection pattern, the least significant bit "1" disconnected by the above connection rule is connected to the first output link (36), or, when an odd number of bits "1" exist in the connection pattern, the least significant bit "0" disconnected by the above connection manner is connected to the second output link (37). A network control system as claimed in claim 1, wherein each of said nodes (60) has a node designation consisting of a bit train having n bits; said n dimensional hyper cube network is constituted in such a way that two nodes, whose node designations differ in only one bit, are interconnected by one link; said input/output links of each of said nodes comprise two input links (70, 71) and two output links (36, 37); each of said connection patterns is applied by a bit train having n bits corresponding to n links; said switching means comprises a set of n switch boxes (65,...68), each of said switch boxes having first and second input terminals (I₁, I₂), first and second output terminals (O₁ O₂), first and second link terminals (L₁, L₂), and a control terminal (C); each of said switch boxes (65,...68) being settable to a first connection configuration or a second connection configuration; each of said switch boxes being interconnected in series by connecting the first and the second output terminal (O₁, O₂) to the first and the second input terminal (I₁, I₂) of the next switch box, respectively; and each of said switch boxes corresponding to a respective bit of the connection pattern; each input terminal (I₁, I₂) at one end of the set of switch boxes is connected to one of the input links (70, 71); each output terminal (O₁, O₂) at the other end of the set of switch boxes is connected to one of the output links (36, 37); the first link terminal (L₁) is connected to the second link terminal of another node, and the second link terminal (L₂) is connected to the first link terminal of another node; and the interconnections between the links (61a,...64b), and between the links and the input/output links (70, 71, 36, 37) are performed in such a way that, when a bit of the connection pattern is "1", the respective switch box is set to the first connection configuration, and when a bit of the connection pattern is "0", the respective switch box is set to the second connection configuration. A network control system as claimed in claim 3, wherein said first connection configuration is formed by connecting the first input terminal (I₁) and the first link terminal (L₁), the second input terminal (I₂) and the second output terminal (O₂), and the second link terminal (L₂) and the first output terminal (O₁); and said second connection configuration is formed by connecting the first input terminal (I₁) and the first output terminal (O₁), the second input terminal (I₂) and the first link terminal (L₁), and the second link terminal (L₂) and the second output terminal (O₂).

Inventors: TAKE RIICHIRO, TAKE, RIICHIRO
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1988
Main classification: G06F15
IPC codes: G06F15