1 Optimization of Routing Algorithms Summer Science Research By: Kumar Chheda Research Mentor: Dr. Sean McCulloch.

Slides:



Advertisements
Similar presentations
Building a Conceptual Understanding of Algebra with Algebra Tiles
Advertisements

Heuristic Search techniques
AI Pathfinding Representing the Search Space
Presentation of Designing Efficient Irregular Networks for Heterogeneous Systems-on-Chip by Christian Neeb and Norbert Wehn and Workload Driven Synthesis.
Cadence Design Systems, Inc. Why Interconnect Prediction Doesn’t Work.
Chapter 4: Trees Part II - AVL Tree
Programmable Logic Devices
Balancing Interconnect and Computation in a Reconfigurable Array Dr. André DeHon BRASS Project University of California at Berkeley Why you don’t really.
FPGA chips and DSP Algorithms By Emily Fabes. 2 Agenda FPGA Background Reasons to use FPGA’s Advantages and disadvantages of using FPGA’s Sample VHDL.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 15: March 12, 2007 Interconnect 3: Richness.
Computational Methods for Management and Economics Carla Gomes
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day8: October 18, 2000 Computing Elements 1: LUTs.
CS294-6 Reconfigurable Computing Day 10 September 24, 1998 Interconnect Richness.
Lecture 3: Field Programmable Gate Arrays II September 10, 2013 ECE 636 Reconfigurable Computing Lecture 3 Field Programmable Gate Arrays II.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
Dynamic NoC. 2 Limitations of Fixed NoC Communication NoC for reconfigurable devices:  NOC: a viable infrastructure for communication among task dynamically.
The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Chapter 15.7 Buffer Management ID: 219 Name: Qun Yu Class: CS Spring 2009 Instructor: Dr. T.Y.Lin.
Network Topologies.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
By Saparila Worokinasih
CHP - 9 File Structures. INTRODUCTION In some of the previous chapters, we have discussed representations of and operations on data structures. These.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 4, 2005 Interconnect 1: Requirements.
FPGA Switch Block Design Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
Next-Gen Asset Streaming Using Runtime Statistics David Thall Insomniac Games.
TSV-Aware Analytical Placement for 3D IC Designs Meng-Kai Hsu, Yao-Wen Chang, and Valerity Balabanov GIEE and EE department of NTU DAC 2011.
PROGRAMMABLE LOGIC DEVICES (PLD)
March 16 & 21, Csci 2111: Data and File Structures Week 9, Lectures 1 & 2 Indexed Sequential File Access and Prefix B+ Trees.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Lacey Johnson Summer 2013 Student Research Project – James Madison University Sudoku can be described as a system of polynomials which can then be solved.
Incremental Placement Algorithm for Field Programmable Gate Arrays David Leong Advisor: Guy Lemieux University of British Columbia Department of Electrical.
Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
Topics Architecture of FPGA: Logic elements. Interconnect. Pins.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 1 Course Overview Mustafa Ozdal Computer Engineering Department, Bilkent University.
Tetris Agent Optimization Using Harmony Search Algorithm
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Chapter 9 Finding the Optimum 9.1 Finding the Best Tree.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
ICS3U_FileIO.ppt File Input/Output (I/O)‏ ICS3U_FileIO.ppt File I/O Declare a file object File myFile = new File("billy.txt"); a file object whose name.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 6, 2003 Interconnect 3: Richness.
Multiplication of Common Fractions © Math As A Second Language All Rights Reserved next #6 Taking the Fear out of Math 1 3 ×1 3 Applying.
P ROGRAMMING L OGIC GWDA123 Sharon Kaitner, M.Ed. Winter 2015: Week 2.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 11: January 31, 2005 Compute 1: LUTs.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
DEVELOPING CREATIVITY (OPPORTUNITIES AND IDEAS) Entrepreneurship 30.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Lists and Sorting Algorithms
Computer Organization
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
The minimum cost flow problem
Incremental Placement Algorithm for Field Programmable Gate Arrays
FPGA.
Example: Applying EC to the TSP Problem
Fundamentals of Programming
Chapter 13: Systems Analysis and Design
Xilinx CPLD Fitter Advanced Optimization
CS184a: Computer Architecture (Structures and Organization)
Planning and Scheduling
Algorithms Tutorial 27th Sept, 2019.
Presentation transcript:

1 Optimization of Routing Algorithms Summer Science Research By: Kumar Chheda Research Mentor: Dr. Sean McCulloch

2 What is optimization? Program optimization Process of removing or replacing parts of an existing program that make it slower, time intensive and space consuming. A program can be optimized by:  Changing data structures and other parts of the code to make it smaller and faster.  Modifying the algorithm or coming up with a better one.

3 What is routing? Routing: Process of finding the best route to reach or interconnect several given objects. Several logic gates on a chip need to be connected in an efficient way so that  All such sets of interconnected logic gates can be feasibly connected.  The placement and the number (channel width) of the wires is optimum.

4 Background Information Dr. Sean McCulloch’s research thesis:  University of Virginia  Auction based routing in Field Programmable Gate Arrays (FPGAs). Quark – an auction-based router On-going project, currently in its 2 nd year at Ohio Wesleyan University.

5 Understanding Quark Basic Components of FPGA as viewed by ‘Quark’: Auction Pin  A pin is defined as a wire connecting two blocks in a FPGA.  A auction pin is the abstraction of the pin in ‘Quark’. It is the object which all nets bid on to realize their path. Auction Block  Allows restrictive connections between wires.  The pins described above connect these blocks. Auction Net  A net is a path between the set of blocks (usually Logic Blocks).  An auction net is an abstraction of a regular net in ‘Quark’, and plays the main role in this algorithm.

6 Understanding Quark A example of a 5 x 8 x 1 FPGA Connection Block Switch Block Logic Block Pin Net Connections within blocks

7 Different Personalities A personality defines a bidding strategy which the nets can use 3 Main Personalities  Baseline  Split  Focused

8 Tasks for each personality Each personality is responsible for the following:  Place initial bids on pins needed  Bidding during the auction  Implement various strategies when a net is losing a critical pin required for its routing. These issues can be handled differently and hence every personality is defined by the set of rules it uses to perform them.

9 Focused Personality Most complicated of all personalities Difficult to implement Lot of areas where focused personality can be improved by inserting additional algorithms to cases differently.

10 Focused Personality Strategy: “Focus attention on a set of pins that are important to win.” We identify two kinds of objects  Branching Points: On a multi-terminal net, branching points are the ones that have more than two edges incident on them. Bid heavily on the branching points to win them.  Connection Path: Everything else. Fill in this part of the path however it can be filled. The length of the path does not matter as long as it fits the budget constraints

11 Focused Personality Branching Point Connection Points Connection Block Switch Block Logic Block

12 Connection Paths Connection Block Switch Block Logic Block The red and the blue paths are just two of the many ways to obtain a connection path between two pins. This gives us flexibility because we can choose a cheaper path to make sure we can use the money saved to bid for expensive branching points.

13 Major Problem with Focused Personality Bidding wars between two nets  War for a branching point ex: Net 5 wins BP A. Net 17 also wants BP A, bids more & wins. Net 5 needs A and is currently losing. Net 5 frees up some more money & bids. This goes on forever. (until some net runs out of money).

14 Bidding War (example) Net 5 ($ X 5 at start)Net 17 ($ X 17 at start) $ m 1 $ m 2 Net 5 is winning. Money remaining: Net 5: $ X 5 Net 17:$ X 17 $ m $ m Net 17 is winning. Money remaining: Net 5: $ X 5 Net 17:$ X … … … Net 5 is winning. Money remaining: Net 5: $ X 5 – 2k Net 17:$ 0 $ m 1 + k $ m 2 + k $X 5 ≤ $X 5

15 One solution Mechanism to detect such bidding war  Eminent Domain If net P needs a point A but ran out of money to bid for it Give it a one-time grant. If later on net P loses point A to some net Q and needs it back, but can’t free up enough money P goes to eminent domain. Eminent Domain realizes a bidding war and quits! Eminent Domain is so useful a concept that it is provided for all other nets as last resort as well.

16 Another thought While eminent domain is important, we can only call it once per net. So we think of a different strategy. Eminent domain still stays as last resort. However, the net should have some way to abandon an overly expensive pin and look for other cheaper pins.

17 Solution So when a net P runs out of money, it tries to:  restructure and re-route  ask for a grant from eminent domain only if it fails. We need to shift the originally preset branching point.  i.e. If a net needs a branching point and is losing an important pin even after using up all its money, it should try to find nearby branching points and re-route.

18 Continued… The process is complicated by the fact that all pins are inter-connected. Changing one pin on a block requires changing quite a few pins on neighboring blocks and thus the need to find new pins that would minimize this change.

19 Routing before the new algorithm Connection Block Switch Block Logic Block The pin A being lost by Net P The neighbor A’ of pin A Bid on $M A Pin A Bid $M A’ on Pin A’ Total Bid on losing pins = $(M A + M A’ )

20 Inner Workings of a Switch Block Connection Block Switch Block Inside a switch block, there are only a limited number of legal connections. Hence changing a pin on one side may require us to change the pins that are being used on other sides and their neighboring pins on connection blocks as well.

21 Cascading effect Connection Block Switch Block Logic Block The pin A being lost by Net X Bid on $M A Pin A Bid $M A’ on Pin A’ …… Total Bid on losing pins = $(M A + M A’ + …) The neighbor A’ of pin A Need to find a pin within the box X 1 whose neighbor is also within box X 1’ Box X 1 Box X 1’ Need to find a pin within the box X 2 which is connected to pin A and whose neighbor is also within box X 2’ and so on for every side… Box X 2 Box X 2’

22 Need a new pin like pin B Connection Block Switch Block Logic Block Old pin A Freed $M A Pin J Freed $M A’ on Pin J’ …… Total money freed = $(M A + M A’ + …) The neighbor A’ of pin A New Pin B

23 Need a new pin like pin B After finding an alternate pin B on the same side as A that connects to other pins that are similar to the pins that A connects to in terms of their side as well as their neighbors, we need to make sure that the money required to win all those pins is at most as much as we can spare by replacing the older pins.

24 Need a new pin like pin B Connection Block Switch Block Logic Block Freed $M A Pin J Freed $M A’ on Pin J’ …… Total money freed = $(M A + M A’ + …) The neighbor A’ of pin A Box X 1 Box X 1’ Box X 2 Box X 2’ Bid $M B Pin J Bid $M B’ on Pin J’ …… Total money bidded = $(M B + M B’ + …) ≥

25 If we find a new pin… … on the same side as pin A with all the above characteristics, we continue trying to find all such sets of pins possible. This helps us to compare all the newly found sets of pins price-wise. We pick the set of pins that is going to cost the cheapest to the net without changing too much.

26 Record Keeping After picking a new set of pins, its time to replace. It is very important that we cancel our bids from all the pins that are going to be replaced. The money gets returned to total pool and only then it is possible to bid on the new pins.

27 Results & Problems The focused personality now goes much further in evaluation and creation of a new routing. In the process, we found other areas where work can be focused in the future.  Handling of data structures needs to be re- thought. Under certain cases, some branching points can also be connection points, thus leading to problems.

28 Future Work Optimizing focused personality further by adding the capability to find newer pins on different blocks. Building new data structures for optimum handling of branching and connection points. Building new faster personalities. Implementation of opportunity cost model. Adaptation of “game-theoretic” models of economics to an implementation of Quark.

29 Acknowledgements Many thanks to: Dr. Sean McCulloch Summer Science Research Program, OWU The Dept. of Mathematics & Computer Science My family and friends