200 likes | 309 Views
Electrical Engineering Department Technion, Haifa, Israel. Routing Table Minimization for Irregular Mesh NoCs. Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny. QNoC Research Group Technion. Practical System. Practical NoC (QNoC and others). Motivation. Generic NoC:
E N D
Electrical Engineering Department Technion, Haifa, Israel Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny QNoC Research GroupTechnion
Practical System Practical NoC (QNoC and others) Motivation Generic NoC: • Mesh Topology • Low Cost Links • Shortest Path (SP) Static Function Routing • Low Cost Router • Power-Efficient Communication • Low Cost Interfaces (no reordering) Example: XY routing • Custom/Irregular • Low Cost
Routing in Irregular Mesh NoC The Problem: Simple Function (e.g. XY) is not working • Around the Block • Dead End
Large Area/Power Cost • Increased Access Time Traditional Approach Traditional Irregular Routing • Distributed Routing – Tables in Routers • Output Port for All Destinations • Size of Tables ~ • Source Routing – Tables in Sources • List of routing tags (for each hop) for All Destinations • Size of Tables ~ Can we do better than full routing tables?
Low Cost Routing Solution: • Don’t Use Full Routing Tables (Customize) • Store only relevant destinations Routing Table Cost : Area [gates] ≈ Sizof(Entries) + Sizof (Lookup Logic) Power ≈ Const * Area • Minimize Routing Table Size: • Routing Function + Reduced Routing Table ( for deviations only)
“Go XY” – XY Deviations Table (XYDT) • “Don’t Turn” – Turn-Table (TT) No Entries Routing Entry Minimize Table Entries • Distributed Routing: • Default Function (“Go XY” or “Don’t turn”) • Reduced Routing Tables (for deviations) No Entries Routing Entry
Minimize Table Entries • Source Routing: • Default Function (“Go XY” or “Don’t turn”) • Reduced routing-tag list (only for deviations) • Source Routing for Deviation Points (SRDP) • Example: • Specific routers are Deviation Points • Default function routing in other routers
Path Selection Algorithms Shortest Path with Minimal Number of Turns: ‘K’- Large Number, price of “Hop” ‘1’- Price of “Turn” ‘0’- Price of “Don’t Turn” Build Auxiliary Graph: Turns-Graph Original Turns-Graph • Apply Shortest Path (Dijkstra) on Turns-Graph: • Primary objective: minimal number of hops • Secondary objective: minimal number of turns
Scenario A Scenario B Path Selection Algorithms • Turn-Table (TT) Algorithm Among all shortest paths between all S-D pairs, choose covering set of paths that minimize the total number of entries in the network Turns-Tables. Question: Is it Shortest Path with Minimal Number of Turns? Answer: No! • Example: Choose: • Scenario A: Green path makes 3 Turns • Scenario B: Green path makes 2 Turns A: Green doesn’t add new entries (uses existing) TT Idea: Combine routing paths from different sources
Choose Closest Src Create Path to D Choose Closest Src Create Path to D Update Distances Calc Distances Turn-Table (TT) Algorithm TT Algorithm (greedy) – Informal Explanation: Iteration #2 Iteration #1 In each iteration choose a shortest path from closest Src to D, or to an already existing path to D, which adds the minimal number of turns
XY-Deviation Table (XYDT) XYDT Problem definition: Among all shortest paths between each S-D pair, select a path that minimizes number of routing steps which deviate from XY routing policy. XYDT Algorithm Outline: For each destination D: • Sort nodes according to distance from D • For nodes at same distance from D: • Among all shortest-path steps choose XY step if exists • Repeat until paths from all sources are found
Further Minimization Tricks • Turn-Table Routing: • At source router every step is turn • Default Direction at the source router • XY-Deviation Table Routing: • Save entry if XY-port is missing and routing goes YX No Entries Routing Entry
SRDP Algorithm Outline: • Find paths using algorithms above • Find deviation points (DPs) • Calculate Reduced SRDP headers Source Routing for Deviation Points (SRDP) The Idea: Specific routers are Deviation Points Default function for all other routers
Evaluation Method • Efficient Routing Path Selection Algorithms • Distributed/Source Routing • “XY”/ “ Don’t Turn” • Irregular grid • Random holes insertion • Inter-module Connections Matrix • Random hotspots insertion • Connection to hotspot (high probability) • Connection to non-hotspot (low probability) • Real examples - Video Processing Apps (MPEG, VOPD) • Compare Cost [gate count] • Tables containing relevant destination only • Our method : Routing function + Table for deviations
Results - Typical NoC Savings in small system with high irregularity and few destinations
Results - Typical NoC Savings in large system with low irregularity and many destinations
Results –Video Apps Savings in video processing app. system
Scaling of Savings : DR and SR Savings Network Size
Scaling: Source vs. Distributed Routing Large system with low irregularity and many destinations • Good Scaling with Distributed Routing • Best Scaling with XYDT
Summary • The Problem – Low Cost Routing In Irregular Mesh • Idea: Combine Default Function + Reduced Deviation Tables • Distributed Routing and Source Routing • Path Selection Algorithms • Shortest path + Minimum Total Table Entries • Numerical Results • Significant Cost Reduction – DR(40X); SR(3X) • Scalability of Savings • Good Scalability of Distributed Routing (XYDT the best)