Routing mechanism and algorithm

Slides:



Advertisements
Similar presentations
Presentation of Designing Efficient Irregular Networks for Heterogeneous Systems-on-Chip by Christian Neeb and Norbert Wehn and Workload Driven Synthesis.
Advertisements

Flattened Butterfly Topology for On-Chip Networks John Kim, James Balfour, and William J. Dally Presented by Jun Pang.
Jaringan Komputer Lanjut Packet Switching Network.
1 EL736 Communications Networks II: Design and Algorithms Class3: Network Design Modeling Yong Liu 09/19/2007.
Advanced Networking Wickus Nienaber Daniel Beech.
What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet.
Miguel Gorgues, Dong Xiang, Jose Flich, Zhigang Yu and Jose Duato Uni. Politecnica de Valencia, Spain School of Software, Tsinghua University, China, Achieving.
High Performance Router Architectures for Network- based Computing By Dr. Timothy Mark Pinkston University of South California Computer Engineering Division.
CS 258 Parallel Computer Architecture Lecture 5 Routing February 6, 2008 Prof John D. Kubiatowicz
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Architecture and Routing for NoC-based FPGA Israel Cidon* *joint work with Roman Gindin and Idit Keidar.
1 Indirect Adaptive Routing on Large Scale Interconnection Networks Nan Jiang, William J. Dally Computer System Laboratory Stanford University John Kim.
Chapter 9 Classification And Forwarding. Outline.
Dragonfly Topology and Routing
Performance and Power Efficient On-Chip Communication Using Adaptive Virtual Point-to-Point Connections M. Modarressi, H. Sarbazi-Azad, and A. Tavakkol.
Switching, routing, and flow control in interconnection networks.
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
Infiniband subnet management Discuss the Infiniband subnet management system Discuss fat tree and subnet management in an Infiniband with a fat tree topology.
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
ECE669 L21: Routing April 15, 2004 ECE 669 Parallel Computer Architecture Lecture 21 Routing.
Data Communications and Networking Chapter 11 Routing in Switched Networks References: Book Chapters 12.1, 12.3 Data and Computer Communications, 8th edition.
NC2 (No.4) 1 Undeliverable packets & solutions Deadlock: packets are unable to progress –Prevention, avoidance, recovery Livelock: packets cannot reach.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies Alvin R. Lebeck CPS 220.
Network Layer Routing Networks: Routing.
William Stallings Data and Computer Communications
The Network Layer.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
How to Train your Dragonfly
Advanced Computer Networks
Network Layer.
Deadlock.
Azeddien M. Sllame, Amani Hasan Abdelkader
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
William Stallings Data and Computer Communications
Switching, routing, and flow control in interconnection networks
Lecture 14: Interconnection Networks
Chapter 20 Network Layer: Internet Protocol
Interconnection Networks: Routing
Introduction to Scalable Interconnection Networks
Storage area network and System area network (SAN)
COS 561: Advanced Computer Networks
The Network Layer Network Layer Design Issues:
Congestion Control (from Chapter 05)
Dr. Rocky K. C. Chang 23 February 2004
On-time Network On-chip
Switching Techniques.
Network Layer Routing Networks: Routing.
Congestion Control (from Chapter 05)
CEG 4131 Computer Architecture III Miodrag Bolic
Low-Latency Virtual-Channel Routers for On-Chip Networks Robert Mullins, Andrew West, Simon Moore Presented by Sailesh Kumar.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Data Link Layer 2019/2/19.
RECONFIGURABLE NETWORK ON CHIP ARCHITECTURE FOR AEROSPACE APPLICATIONS
Lecture: Interconnection Networks
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
Congestion Control (from Chapter 05)
EE382C Lecture 6 Adaptive Routing 4/14/11 What is tornado traffic?
CS 6290 Many-core & Interconnect
ECE 753: FAULT-TOLERANT COMPUTING
Congestion Control (from Chapter 05)
Networks: Routing and Design
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Switching, routing, and flow control in interconnection networks
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Presentation transcript:

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

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

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* …..

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

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

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?

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

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!

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

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

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!

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!

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!

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!

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

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!

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)

Scalability ...with respect to routing tables Network size Network size Routing area/delay does not increase with network size, but just with switch radix

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

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

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

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

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!

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

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