• 沒有找到結果。

Chapter 2: Survey of On-Chip Data Communication

2.6  Routers for OCINs

2.6.1  Routing Algorithm for Link Control

The design of link control unit highly relies on the topologies of OCINs. Most routing algorithms were developed for regular mesh OCINs. The routing schemes for mesh OCINs can be classified into several categories. The routing decision at every router can be static or dynamic. In static routing schemes (or called oblivious routing), the path is completely determined the source and destination address [2.79], [2.80].

The routing scheme does not consider the current load and the situation on the network. On the contrary, the dynamic routing scheme decides the path by not only source and destination address but also the dynamic network condition. The advantage of static routing scheme is its simplicity of design and hardware overhead.

Dynamic routing schemes can use alternative paths which consider the network traffic situation but it may cost much hardware resource [2.81].

Furthermore, routing techniques can be classified according to where the routing information decisions are determined. In distributed routing, the routing decisions are decided in each router. Therefore, each packet carries its source and destination addresses, and the router according to the information to lookup the routing table or to

execute the routing function for the routing decisions. For example, XY routing, a very common routing in OCIN, the router compares the router address and the destination address, and the routing will first arrive the X coordinate, then arrive Y coordinate [2.82]-[2.85]. In source routing, the pre-computed routing tables are stored in the NIs. The routing decisions are determined according to the destination address and the routing table at the source router. Each packet carries its header including routing choices for each hop along its path. When the packet arrive a router, its next routing output is read from the header file. In comparison to distributed routing, source routing does not need extra routing table or function in the intermediate router [2.86]-[2.88]. On the other hand, it requires a source route header in the packet header and requires additional routing tables for each source. Moreover, the classification can be distinguished between minimal and non-minimal distance routing [2.89], [2.90].

Note that the minimal power routing is not equal to the minimal distance routing.

Based on the above description of routing algorithm, a category of routing algorithms grouping is given as shown in Fig. 2.23 [2.91].

Fig. 2.23 A category of Routing Algorithms Grouping. [2.91]

The major constraint for any routing algorithm is assuring the freedom from deadlock. The definition of deadlock is that a packet is blocked at some intermediate resource and cannot reach its destination. Deadlock occurs when one or more packets in the network are blocked during an indefinite time, waiting for an event that can’t happen. An example as depicted in Fig. 2.24 is a situation where four packets are routed in a circle between the routers in a square mesh. The packet in A1 router is allocated to west and another packet in A2 router is allocated to south, and so as A3 and A4. The four packets are already held by another packet and will never be released [2.92], [2.93].

Fig. 2.24 An example of deadlock. [2.92]

The prominent strategy for dealing with deadlock problems is avoidance and most deadlock-free routing algorithms are deduced by the strategy. (1) Choose a particular routing algorithm. (2) Check whether this algorithm is deadlock free. (3) If need, add hardware resource or restrict routing to guarantee that this algorithm is deadlock free.

Deadlock free can be analyzed via building a dependency graph, and this dependency graph cannot be cyclic. Another constrain for the routing algorithms is livelock. The definition of livelock is a packet enters a cyclic path dose not reach its destination.

Livelock is only induced by dynamic routing algorithms.

A1

A3

A2

A4

Fig. 2.25 A dynamic routing algorithm for avoiding hot spots. [2.90]

Several routing algorithms of the mesh-OCIN have been proposed for enhancing performance, and are described as follows. A dynamic routing algorithm for avoiding hot spots was proposed in [2.90] as shown in Fig. 2.25. Each input port has input buffer and a controller. The input controller receives packets from the link and requests the crossbar arbiter for the packet injection grant. Additionally, this input controller also detects whether the space of the input buffer is becoming full or empty via the full/empty status flag. The full/empty status flag indicates the congestion condition of the router.

Neighbors-on-Path (NoP) was presented as shown in Fig. 2.26 [2.94]. A header flit is transferred from the node (0,0) to the node (1,0). In the node (1,1), the score of next nodes (1,2) and (2,1) is computed. Additionally, the next nodes must be on minimal paths. The decision of next node is according to its score. For example, Fig. 2.26 shows that two nodes (1,2) and (2,1) check whether their neighbors are available or not. If available, mark a circle. Fig. 2.26(a) and Fig. 2.26(b) indicate that the scores are determined using the number of available nodes. The score of node (2,1) is 1, and node (1,2) is 2. Consequently, node (1,1) will select node (1,2) as the output.

Additionally, (1,3) and (0,2) also send the information of available to (1,2).

Nevertheless, these two nodes are not on minimal paths with given destination (3,2) as shown in Fig 2.4 (c)-(d). In view of this, only two nodes (1,2) and (2,1) send the score to(1,1), and node (1,1) decides that the next node is (2,1).

Fig. 2.26 Example for neighbors-on-path algorithm. [2.94]

Antnet algorithm uses a nature method to route the least latency way [2.95]. At first, every packet chooses the next node randomly with a forward ant for recording the paths. When the packet reaches the destination, send back a backward ant along the same path as the forward ant passed, and update the routing table of every router on the path (increase the priorities of directions of the router on the path). After a period, the less latency the path is, the more backward ants come back, so the directions of routers on the path will get higher priority due to backward ants.

Therefore, more and more packets will follow the way which has less latency dynamically.

In recent years, research of routing algorithms focuses on routing for irregular topologies [2.96], [2.97], routing for hierarchical topologies [2.98], [2.99], fault

tolerant routing [2.100]-[2.102] and 3-D routing[2.103]-[2.105].