routing algo in noc

Upload: sumantabose

Post on 06-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 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