Routing Algo in NoC
Routing Algo in NoC
Routing Algo in NoC
Scope of Presentation:
1. 2. 3. 4. 5. 6. 7. Concept of Deadlock, Livelock and Starvation Taxonomy of Routing Algorithms in NoC Network Flow Control in NoC Classical Routing Algorithms Adaptive Routing Algorithms Genetic Algorithm based Routing Algorithm Artificial Neural Network bases Routing Algorithm
Livelock : Livelock occurs when a packet keeps spinning around its destination without ever reaching it. This problem exists in nonminimal routing algorithms. Livelock should be cut out to guarantee packets throughput.
Starvation : Using different priorities can cause a situation where some packets with lower priorities never reach their destinations. This occurs when the packets with higher priorities reserve the resources all the time. Starvation can be avoided by using a fair routing algorithm or reserving some bandwidth only for low-priority packets.
Types:
Store-and-Forward Routing : Packets move in one piece, and entire packet has
to be stored in the routers memory before it can be forwarded to the next router. So the buffer memory has to be as large as the largest packet in the network.
Virtual cut-through Routing: A router can begin to send packet to the next
router as soon as the next router gives a permission. Packet is stored in the router until the forwarding begins. Forwarding can be started before the whole packet is received and stored to router.
Wormhole Routing: In wormhole routing packets are divided to small and equal
sized flits (flow control digit or flow control unit). A first flit of a packet is routed similarly as packets in the virtual cut-through routing. After first flit the route is reserved to route the remaining flits of the packet. This route is called wormhole. It requires less memory than other two.
Note: There are other varients of the XY Routing Algorithm as well, such as the Pseudo Adaptive XY Routing & the Surrounding XY Routing.
4.3.3 Destination-tag Routing: A destination-tag routing is a bit like an inversed version of the source routing. The sender stores the address of the receiver, also known as a destination-tag, to the header of the packet in the beginning of the routing. Every router makes a routing decisions independently on the grounds of the address of the receiver. 4.3.4 Topology Adaptive Routing: A topology adaptive routing algorithm is slightly adaptive. The algorithm works like a basic deterministic algorithm but it has one feature which makes it suitable to dynamic networks. Systems administrator can update the routing tables of the routers if necessary.
Path Scoring: F = G + H where G = movement cost to move from the starting point A to a given square on the grid, following the path generated to get there. H = the estimated movement cost to move from that given square on the grid to the final destination, point B. This is often referred to as the heuristic. Our path is generated by repeatedly going through our open list and choosing the square with the lowest F score.