Dynamic routing system for a multinode communications network
First Claim
1. In a multiprocessor in which messages are exchanged between processors interconnected for message communication by a multinode network wherein each node is connected to other nodes of said network by a plurality of message communication links, a system for transferring messages from nodes associated with processors which are the sources of said messages to nodes associated with processors which are the destinations for said messages so that said messages which are assigned priorities based on the topology of the network are passed continually among nodes without being blocked at any node and while minimizing the average time spent by messages in traveling between their source and destination nodes regardless of the distance in number of said links between said source and destination nodes, said system comprising non-blocking routing means for routing said messages at each node along links of minimal length to reach their destination nodes and along other links with priority given to the messages having longest distance between their source and destination nodes, said routing means including means based upon the present topology of the network, means at each node for increasing the priority of messages each time they are routed on links which are along paths of more than minimal length, and means at each node for receiving and then sending a number of said messages not exceeding the number of said plurality of links connected thereto.
1 Assignment
0 Petitions
Accused Products
Abstract
A communication network having a multiplicity of nodes provides efficient exchange of messages between the nodes. The messages may be originated and received by the computers of a parallel computer system, the processors and associated memories of which are connected to each node. Each node includes a routing system which results in efficient system performance for the parallel computer system associated with the nodes. The messages have control information (a message tag) to which the routing system at each node is responsive. The tag contains data identifying the destination node of the message in the network and prioritization data which, when the message is generated, is initialized to have a value (weight) corresponding to the length (number of links) of the minimal path from the source node where the message originates to the destination node of the message. The routing system utilizes the weights to establish message priority. The routing system receives and sends messages not exceeding the number of links connected thereto on each cycle such that messages flow in and flow out of each routing node on each cycle without being held or stored in queues in the node. Messages of lesser priority are switched by the router to alternate links in accordance with their weights thereby dynamically routing and resolving conflicts among messages.
-
Citations
19 Claims
- 1. In a multiprocessor in which messages are exchanged between processors interconnected for message communication by a multinode network wherein each node is connected to other nodes of said network by a plurality of message communication links, a system for transferring messages from nodes associated with processors which are the sources of said messages to nodes associated with processors which are the destinations for said messages so that said messages which are assigned priorities based on the topology of the network are passed continually among nodes without being blocked at any node and while minimizing the average time spent by messages in traveling between their source and destination nodes regardless of the distance in number of said links between said source and destination nodes, said system comprising non-blocking routing means for routing said messages at each node along links of minimal length to reach their destination nodes and along other links with priority given to the messages having longest distance between their source and destination nodes, said routing means including means based upon the present topology of the network, means at each node for increasing the priority of messages each time they are routed on links which are along paths of more than minimal length, and means at each node for receiving and then sending a number of said messages not exceeding the number of said plurality of links connected thereto.
- 10. A digital multinode message communication network which comprises a multiplicity of nodes, each having a plurality of message communication links which are not necessarily equal in number, said communication links connecting each of said nodes to a plurality of other nodes of said network, a routing system in each node which comprises means for receiving a plurality of messages which are assigned priorities based on the topology of the network and which is equal or less than the number of said links and sending said messages out along the links of each said node on successive routing cycles so that all said messages flow into and out of each said node on said successive cycles, non-blocking routing means for transferring messages which are received first on one of said plurality of links along a main path of minimum length in number of links, from said node to another of said plurality of nodes which is the destination thereof, then to another of said plurality of links along an alternate path which is also of said minimum length, and then to any of said plurality of links which is free in order according to the length of the path to said destination node of said message so that the messages having longer path lengths are given priority over messages of shorter path lengths to their respective destination nodes, said routing means including means based upon the present topology of the network.
Specification