Routing Algo in NoC
-
Upload
sumantabose -
Category
Documents
-
view
222 -
download
0
Transcript of Routing Algo in NoC
-
8/3/2019 Routing Algo in NoC
1/17
Routing Algorithms in NoC
Scope of Presentation:
1. Concept of Deadlock, Livelock and Starvation2. Taxonomy of Routing Algorithms in NoC
3. Network Flow Control in NoC
4. Classical Routing Algorithms
5. Adaptive Routing Algorithms
6. Genetic Algorithm based Routing Algorithm
7. Artificial Neural Network bases Routing Algorithm
-
8/3/2019 Routing Algo in NoC
2/17
1. Deadlock, Livelock and Starvation
Deadlock : Routing is in deadlock whentwo packets are waiting each other tobe routed forward. Both of the packetsreserve some resources and both arewaiting each other to release theresources.
Livelock : Livelock occurs when apacket keeps spinning around itsdestination without ever reachingit. This problem exists in non-minimal routing algorithms.Livelock should be cut out toguarantee packets throughput.
Starvation : Using different prioritiescan cause a situation where somepackets with lower priorities neverreach their destinations. This occurswhen the packets with higher
priorities reserve the resources all thetime. Starvation can be avoided byusing a fair routing algorithm orreserving some bandwidth only forlow-priority packets.
-
8/3/2019 Routing Algo in NoC
3/17
2. Taxonomy of Routing Algorithms in NoC
Based on :
1. No. of Destinations: Unicast or Multicast
2. Routing Decision Locality: Source or Distributed
3. Implementation: LUT or FSM4. Adaptability: Deterministic or Adaptive
5. Progressiveness: Progressive or Backtrace-enabled
6. Minimality: Profitable or Misrouting
7. No. of paths: Fully Adaptive or Partially Adaptive
-
8/3/2019 Routing Algo in NoC
4/17
3. Network Flow Control in NoCNetwork flow control, also called as routing mode, determines how packets
are transmitted inside a network.
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 routedsimilarly 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.
-
8/3/2019 Routing Algo in NoC
5/17
4. Classical Routing Algorithm 4.1 Dimension Order Routing
4.1.1 XY routing
4.2 Turn Models
4.3 Deterministic Routing Algorithms
4.3.1 Shortest Path Routing
4.3.2 Source Routing
4.3.3 Destination-tag Routing
4.3.4 Topology Adaptive Routing
4.4 Stochastic Routing Algorithms
4.4.1 Flooding Algorithms
4.5 Gaming and Graph Theory Derived Routing Algorithms
4.5.1 A-Star Routing Algorithm
4.5.2 Dijkstras Algorithm
4.5.3 Floyd Warshall Algorithm
-
8/3/2019 Routing Algo in NoC
6/17
4.1 Dimension Order RoutingDimension order routing (DOR) is a typical minimal turn algorithm. The
algorithm determines to what direction packets are routed during everystage of the routing.
4.1.1 XY RoutingPseudo Code:
Note: There are other varients of the XY Routing Algorithm as well, such as
the Pseudo Adaptive XY Routing & the Surrounding XY Routing.
-
8/3/2019 Routing Algo in NoC
7/17
4.2 Turn Models
-
8/3/2019 Routing Algo in NoC
8/17
Some more Pseudo Codes
-
8/3/2019 Routing Algo in NoC
9/17
4.3 Deterministic Routing AlgorithmsDeterministic routing algorithms route packets every time from a certain point A to a
certain point B along a fixed path. Deterministic algorithms are used in both regular and
irregular networks. They suit well on real time systems because packets always reach the
destination in correct order and so a reordering is not necessary.
4.3.1 Shortest Path Routing: A shortest path routing is the simplest deterministic routing
algorithm. Packets are always routed along the shortest possible path.
Types of Shortest Path Routing :1. Distance Vector Routing
2. Link State Routing
4.3.2 Source Routing: In a source routing a sender makes all decisions about a routing path
of a packet. The whole route is stored in a header of packet before sending, and routers
along the path do the routing just like the sender has determined it.Types:
Arbitration look ahead scheme (ALOAS) is a faster version of source routing. The
information of routing path has been supplied to routers along the path before the packets
are even sent.
A contention-free routing is a algorithm based on routing tables and time division
multiplexing (TDM).
-
8/3/2019 Routing Algo in NoC
10/17
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 thebeginning 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. Systemsadministrator can update the routing tables of the routers if necessary.
-
8/3/2019 Routing Algo in NoC
11/17
4.4 Stochastic Routing Algorithms
Routing with stochastic routing algorithms is based on coincidence and anassumption that every packet sooner or later reaches its destination.
Stochastic algorithms are typically simple and fault-tolerant.
4.4.1 Flooding Algorithm:
Types:
1. Probabilistic Flood
2. Directed Flood
3. Random Walk
4. Valiants Random Algorithm
-
8/3/2019 Routing Algo in NoC
12/17
Summary of Classical Routing Algorithm
-
8/3/2019 Routing Algo in NoC
13/17
4.5 Gaming & Graph Theory based Routing
Algorithm4.5.1 A-Star Algorithm
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.
-
8/3/2019 Routing Algo in NoC
14/17
4.5.2 Dijkstras Algorithm: Please refer the book on graph theory
4.5.3 Floyd-Warshall Algorithm : Please refer the book on graph theory
-
8/3/2019 Routing Algo in NoC
15/17
5. Adaptive Routing Algorithm
5.1 Minimal Adaptive Routing
5.2 Fully Adaptive Routing
-- 5.2.1 Congestion Look Ahead
5.3 Turnaround Routing
-
8/3/2019 Routing Algo in NoC
16/17
6. Genetic Algorithm bases Routing
Algorithm
-
8/3/2019 Routing Algo in NoC
17/17
7. Artificial Neural Network based
Routing Algorithm