In deterministic routing, the path is fully determined by the source and destination nodes. Intermediate nodes are unable to direct messages even in the case of network congestion.
Deterministic routing can be further classified according to the node position where the deterministic path is selected. In source routing, it is the source node that selects the complete path between the source and destination nodes. Distributed routing gives each intermediate node the freedom to independently determine the next node of the path to which the message should be sent. There are three deterministic routing schemes are as follows −
Street-sign routing − Street-sign routing belongs to the source routing class and therefore the message must carry the complete path information. Since the length of the message influences the performance of the system, the header information should be kept as small as possible. In street-sign routing, this requirement is fulfilled by introducing the concept of default direction.
The message header contains routing information only for those intermediate nodes that change direction where the message should turn. Any node receiving a header flit compares the node address with its address. In the case of a mismatch, the message should follow the default direction.
If the address match the second part of the header flit describes the operation to be done by the node. Either the message is to turn direction or the message has appeared at its destination. In the case of a turn, the node and action identifiers are removed from the header which is forwarded to the specified neighbor node. The street-sign routing scheme is used in the Intel iWarp machine.
Dimension-ordered routing − Dimension-ordered routing is a distributed deterministic routing scheme applied in n-dimensional meshes. The main concept is that messages travel along a certain dimension until they reach a certain coordinate of the dimension. Deadlock-free routing is guaranteed if the dimension is strictly ordered.
Table look-up routing − Table-look-up routing is another distributed deterministic routing scheme. It can be used in any network topology. At each node, a routing table contains the identifier of the neighboring node to which the message should be forwarded for each destination node.
Table look-up routing is very advantageous if realized by software but introduces an unnecessary upper limit on the size of the network if it is realized by hardware. Furthermore, a large lookup table reduces the available chip area.
Accordingly, the main design concern in table-look-up routing is how to reduce the size of the lookup table. One solution is called interval labelling, which associates each output channel of the node with an interval. If the destination address carried in the header belongs to this interval, the header should be forwarded to the corresponding output channel. This scheme is realized by hardware in the C104 routing chip of the Inmos IMS T9000 Transputer system.