Download presentation
Presentation is loading. Please wait.
1
Routing mechanism and algorithm
Instructor: Davide Bertozzi
2
Acknowledgement The theory about LBDR routing and OSR runtime reconfiguration has been conceived and mainly developed at Universidad Politecnica de Valencia Prof. Josè Flich The implementation effort of such ideas in an on-chip setting has been mainly led by University of Ferrara, within a many-year cooperation with Universidad Politecnica de Valencia Prof. Davide Bertozzi
3
Key distinction Routing Mechanism Routing Algorithm
Source-based routing Node-table routing Algorithmic routing Logic-based distributed routing (LBDR) Routing Algorithm xy routing Segment-based routing Up*/down* …..
4
Source routing Source specifies output port for each switch in route
Table lookup of precomputed routes Routing path field in packet header Very simple switches No routing decisions (zero routing delay) just strip output port off header Topology independent Reuse of switches in arbitrary-sized networks Cannot be made adaptive Packet overhead Length of routing path field accounts for worst case number of hops
5
Node-table routing Routing tables distributed at each switch instead of at the network interface Appropriate for adaptive routing Multiple entries for each destination Look-up table entries just consist of next hop information Comes at the expense of performance penalty routing delay at each switch Scalability is also sacrificed Tables contain next hop to all destinations in the largest possible network
6
Algorithmic routing For given topology and routing algorithm, use simple algorithms to compute the route usually implemented as combinational logic may require info to process in packet header specific for a network topology! sx x sy y E.g., 2D Torus Packet header contains signed offset to destination (per dimension) At each hop, switch +/- to reduce offset in a dimension When x == 0 and y == 0, then at correct processor =0 =0 Productive direction vector CAN WE MAKE THIS APPROACH MORE FLEXIBLE?
7
Routing Restrictions A deterministic routing algorithm without cyclic dependencies among links or buffers can be represented by the set of routing restrictions it imposes For irregular topologies as well A routing restriction forbids any packets to use two consecutive channels
8
Configuration bits With respect to algorithmic routing, let us introduce a few configuration bits (way less than a routing table) to add some flexibility to routing decision logic. Connectivity bits Cx: port in direction x is connected Routing bits Rxy: indicate whether taking the x port, it becomes then possible to turn y at the next hop Important: a switch does not know its routing restrictions!
9
Logic-Based Distributed Routing (LBDR)
LBDR West wants to go north INPUT WEST OUTPUT NORTH ARBITER NORTH INPUT EAST OUTPUT SOUTH SOUTH LBDR EAST . LBDR WEST An LBDR routing module is placed at each input port It consists of routing logic + few configuration bits
10
LOGIC-BASED DISTRIBUTED ROUTING (LBDR)
Destination Switch (Xcurr,Ycurr) FORBIDDEN! LBDR logic: While (you are not at destination) 1- compute the target quadrant NORTH-EAST QUADRANT 2- Take North if at next hop I can turn east 3- Take East if at next hop I can turn north 4- Go East...provided the East port is connected! Better scalability than routing tables
11
Logic-Based Distributed Routing
Shall I assert a request for the NORTH arbiter? ? ARBITER NORTH Determine the target quadrant LBDR WEST Am I going north (not east nor south)? NO E.g., you should go north if you want to go to the north-east quadrant and at the next hop (if you choose to go north) it is possible to turn east Works for shortest-path routing!
12
Logic-Based Distributed Routing
Shall I assert a request for the NORTH arbiter? ? ARBITER NORTH Determine the target quadrant LBDR WEST NO NO Going north-east, and at next hop it is possible to turn East? E.g., you should go north if you want to go to the north-east quadrant and at the next hop (if you choose to go north) it is possible to turn east Works for shortest-path routing!
13
Logic-Based Distributed Routing
Shall I assert a request for the NORTH arbiter? ? ARBITER NORTH Determine the target quadrant LBDR WEST NO NO Going north-west, and at the next hop it is possible to turn west? NO E.g., you should go north if you want to go to the north-east quadrant and at the next hop (if you choose to go north) it is possible to turn east Works for shortest-path routing!
14
Logic-Based Distributed Routing
Shall I assert a request for the NORTH arbiter? ? ARBITER NORTH Determine the target quadrant LBDR WEST NO NO NO YES NO Is the North port connected? Final decision: this packet will NOT go NORTH! Works for shortest-path routing!
15
Deroute options When non-minimal paths are required, LBDR does not return any solution (see example below) Deroutes become necessary Deroute bits can be hardwired for each input port, in compliance with routing restrictions Packets entering A (destination: B): - Coming from South: deroute to West - Coming from West: deroute to South Can route up to 80% of irregular (although still connected) topologies derived from a 2D mesh
16
Upper bound on coverage
In B (coming South): Going to C: should go North Going to A: should go West In some cases, the target port would depend on the destination Since LBDR works in quadrants, it cannot work even with deroutes in these cases!
17
Solution In B (coming South): Going to C: Fork! Going to A: Fork!
By replicating the packet to both directions, one replica will certainly get to destination. The other one will be discarded, since it will be requesting an output that does not make sense Coverage: 100% of evaluated cases 4 more bits to the basic LBDR set indicate which direction to replicate Subject to deadlock with wormhole switching (implicitely seen so far) - Requires virtual cut-through to operate safely (deadlock-free)
18
Scalability ...with respect to routing tables
Network size Network size Routing area/delay does not increase with network size, but just with switch radix
19
Routing Algorithm What kind of routing algorithm
should we program on top of LBDR (by setting the routing bits) ? Routing algorithms can be: Deterministic: The path is always the same Ignore path diversity exposed by the topology Poor load balancing Easy to implement, easy to make deadlock-free Adaptive: we can choose among different routing options at each node, based on congestion status of links and faults Needs: historical link load information, buffer avg occupancy, status of nodes and links,.. Destroys the in-order-delivery property
20
Deadlock occurs due to a cyclic routing dependency
Main issue Each packet holds a link, and is requesting for the next one, which it is not able to reserve! Deadlock occurs due to a cyclic routing dependency
21
Routing in a regular topology
xy (or dimension-order) routing: a deadlock-free shortest path routing which routes packets in the X-dimension first and then in the Y-dimension. Used for tori and meshes Destination address expressed as absolute coordinates 00 10 20 01 11 21 02 12 22 03 13 23 03 13 23 For torus, a preferred direction may have to be selected. For mesh, the preferred direction is the only valid direction. 02 12 22 01 11 21 +y 00 10 -x 20
22
Adaptive routing Multiple routing options available for a source-to-destination pair 03 13 23 03 13 23 Thick lines represent high-traffic links 02 12 22 02 12 22 01 11 21 01 11 21 00 10 20 00 10 20 RISK: To avoid slight congestion in (01-02), packets then incur more congested links Minimal adaptive routing is unable to avoid congested links in the absence of minimal path diversity A locally optimum decision may lead to a globally sub-optimal route Minimal path diversity makes adaptive routing potentially effective
23
Adaptive routing Additional path diversity can be provided by fully adaptive routing Packets may be misrouted to avoid congestion 03 13 23 02 12 22 01 11 21 00 10 20 Pay attention to livelock!
24
Irregular Network Topologies
In general, non-symmetrical NxM switches An irregular topology is custom-tailored to the communication pattern of the application domain at hand Key issue: choice of a routing algorithm xy routing does not work in this context! Routing paths chosen to balance the load, and to avoid deadlock Physical convergence is tough Heterogeneous and asymmetric switches Links of different lengths
25
Design Flow for application-specific NoCs
Typically, the design of an application-specific NoC starts with the core graph representation of an application with annotated average communication requirements vu au sdr sr1 sr2 mcp rst idct dsp ups bab risc 190 0.5 60 40 600 173 910 32 670 500
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.