1 / 25

Routing Mechanism and Algorithm: LBDR

Learn about the source-based, node-table, and algorithmic routing mechanisms and algorithms. Explore the logic-based distributed routing (LBDR) and its implementation on on-chip settings.

elukes
Download Presentation

Routing Mechanism and Algorithm: LBDR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Routing mechanism and algorithm Instructor:Davide Bertozzi Email: davide.bertozzi@unife.it

  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 • 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 routingdecisionlogic. • 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. ARBITER NORTH ARBITER SOUTH Logic-Based Distributed Routing (LBDR) LBDR WEST LBDR EAST LBDR West wants to go north OUTPUT NORTH OUTPUT SOUTH INPUT WEST INPUT EAST . . . . . . • 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? • 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! ? ARBITER NORTH LBDR WEST Determine the target quadrant Am I going north (not east nor south)? NO

  12. Logic-Based Distributed Routing Shall I assert a request for the NORTH arbiter? • 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! ? ARBITER NORTH LBDR WEST Determine the target quadrant NO NO Going north-east, and at next hop it is possible to turn East?

  13. Logic-Based Distributed Routing Shall I assert a request for the NORTH arbiter? • 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! ? ARBITER NORTH LBDR WEST Determine the target quadrant NO NO Going north-west, and at the next hop it is possible to turn west? NO

  14. Logic-Based Distributed Routing Shall I assert a request for the NORTH arbiter? • Final decision: this packet will NOT go NORTH! • Works for shortest-path routing! ? ARBITER NORTH LBDR WEST Determine the target quadrant NO NO NO YES Is the North port connected? NO

  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 thesecases!

  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 Whatkind of routingalgorithm shouldweprogram 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. 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. 03 13 23 02 12 22 01 21 11 00 10 20 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 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 20 -x

  22. Adaptive routing Multiple routing options available for a source-to-destination pair • A locally optimum decision may lead to a globally sub-optimal route • Minimal path diversity makes adaptive routing potentially effective 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

  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-symmetricalNxMswitches • An irregular topology is custom-tailored to the communication pattern of the application domain athand • Keyissue: choice of a routingalgorithm • xy routing does not work in thiscontext! • Routing pathschosen to balance the load, and to avoiddeadlock • Physicalconvergenceistough • Heterogeneous and asymmetricswitches • Links of differentlengths

  25. vu au mcp rst 0.5 190 60 600 40 40 idct sdr sr1 sr2 0.5 670 500 dsp 32 910 173 risc ups bab 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

More Related