A Linear-Time Heuristic for Improving Network Partitions

Slides:



Advertisements
Similar presentations
Introduction to Algorithms Quicksort
Advertisements

Clustering k-mean clustering Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein.
Multilevel Hypergraph Partitioning Daniel Salce Matthew Zobel.
Decision Maths 1 Sorting Algorithms Bubble Sort A V Ali : 1.Start at the beginning of the data set. 2.Compare the first two elements,
Jump to first page DISTRIBUTED GENERATION OF PAIRWISE COMBINATIONS PARALLEL GRAPH PARTITIONING ON A HYPERCUBE F. Ercal, P. Sadayappan, and J. Ramanujan.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
Binder Object-Oriented Testing Metrics. Lack of Cohesion in Methods b b In order to calculate the lack of Cohesion in methods, the Software Engineer must.
EE 5301 – VLSI Design Automation I
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 20, 2008 Partitioning (Intro, KLFM)
2004/9/16EE VLSI Design Automation I 85 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part III: Partitioning.
Chapter 2 – Netlist and System Partitioning
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Yangjun Chen 1 Network Flow What is a network? Flow network and flows Ford-Fulkerson method - Residual networks - Augmenting paths - Cuts of flow networks.
CS294-6 Reconfigurable Computing Day 13 October 6, 1998 Interconnect Partitioning.
Partitioning 2 Outline Goal Fiduccia-Mattheyses Algorithm Approach
Incremental Path Profiling Kevin Bierhoff and Laura Hiatt Path ProfilingIncremental ApproachExperimental Results Path profiling counts how often each path.
1 Enhancing Performance of Iterative Heuristics for VLSI Netlist Partitioning Dr. Sadiq M. Sait Dr. Aiman El-Maleh Mr. Raslan Al Abaji. Computer Engineering.
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
Loops are MATLAB constructs that permit us to execute a sequence of statements more than once. There are two basic forms of loop constructs: i. while.
Advance Data Structure 1 College Of Mathematic & Computer Sciences 1 Computer Sciences Department م. م علي عبد الكريم حبيب.
© 1999, by Que Education and Training, Chapter 7, pages of Introduction to Computer Programming with Visual Basic 6: A Problem-Solving Approach.
Graph partition in PCB and VLSI physical synthesis Lin Zhong ELEC424, Fall 2010.
COMPE 111 Introduction to Computer Engineering Programming in Python Atılım University
9/17/20151 Chapter 12 - Heaps. 9/17/20152 Introduction ► Heaps are largely about priority queues. ► They are an alternative data structure to implementing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: January 28, 2015 Partitioning (Intro, KLFM)
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Converting, Comparing and Ordering Rational Numbers
Graph Partitioning Problem Kernighan and Lin Algorithm
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
Force-Directed Placement Heuristics A Comparative Study.
Yangjun Chen 1 Network Flow What is a network? Flow network and flows Ford-Fulkerson method - Residual networks - Augmenting paths - Cuts of flow networks.
Ho-Lin Chang, Hsiang-Cheng Lai, Tsu-Yun Hsueh, Wei-Kai Cheng, Mely Chen Chi Department of Information and Computer Engineering, CYCU A 3D IC Designs Partitioning.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
4-4: Everyday Forces Objectives: Explain the difference between mass and weight Find the direction and magnitude of the normal force Describe air resistance.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 23, 2002 Partitioning (Intro, KLFM)
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 3 Partitioning Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa.
Linear Equation: an equation whose graph forms a line. is linear. is not. In linear equations, all variables are taken to the first power. Linear means.
Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced.
1 Presented by Sarbagya Buddhacharya. 2 Increasing bandwidth demand in telecommunication networks is satisfied by WDM networks. Dimensioning of WDM networks.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
ICS 252 Introduction to Computer Design
Logistic Regression Saed Sayad 1www.ismartsoft.com.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: January 30, 2013 Partitioning (Intro, KLFM)
Hypergraph Partitioning With Fixed Vertices Andrew E. Caldwell, Andrew B. Kahng and Igor L. Markov UCLA Computer Science Department
CSE 144 Project. Overall Goal of the Project Implement a physical design tool for a two- row standard cell design
Notes: Friction Static friction (F s ) is the force that opposes initial motion between two contacting surfaces. (standing friction) When a force is applied.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
1 مرتضي صاحب الزماني Partitioning. 2 First Project Synthesis by Design Compiler Physical design by SoC Encounter –Use tutorials in \\fileserver\common\szamani\EDA.
Loops causes program to execute the certain block of code repeatedly until some conditions are satisfied. Suppose you want to execute some code/s 10 times.
Partitioning Jong-Wha Chong Wireless Location and SOC Lab. Hanyang University.
Topic : While, For, Do-While Loop Guided By : Branch : Batch :
Output “Funds not available”
Adaptive Resonance Theory (ART)
VLSI Quadratic Placement
CS137: Electronic Design Automation
Ch 7: JavaScript Control Statements I.
A Linear-Time Heuristic for Improving Network Partitions
Selection Sort – an array sorting algorithm
Chapter 2 – Netlist and System Partitioning
EE5780 Advanced VLSI Computer-Aided Design
Register-Transfer (RT) Synthesis
Algorithms (2IL15) – Lecture 7
ESE535: Electronic Design Automation
Rusakov A. S. (IPPM RAS), Sheblaev M.
NET 424: REAL-TIME SYSTEMS (Practical Part)
PROGRAM FLOWCHART Iteration Statements.
Informed Search Idea: be smart about what paths to try.
Informed Search Idea: be smart about what paths to try.
An Improved Two-Way Partitioning Algorithm with Stable Performance
Presentation transcript:

A Linear-Time Heuristic for Improving Network Partitions C. M. Fiduccia R. M. Mattheyses

Calculating Gain g(i) = FS(i) - TE(i) FS(i) TE(i) The number of nets which only contain cell i and not connected to any other cell in the same partition as cell i TE(i) The number of nets that connect to cell i and only other cells currently in the same partition as cell i

Example Gain cell FS TE gain 1 2 +2 +1 3 4 -1

Example Gain

Calculate Gain For each free cell i do G(I) = 0 F = the “from block” of cell(i) T = the “to block” of cell(i) For each net n on cell i do If F(n) = 1 increment g(i) If F(n) = 0 increment g(i) End for

Balance Condition Where r is the tolerance factor (usually close to 0.5) V is the full set of cells A is the set of cells in partition A smax is the maximum cell size

Fiduccia-Mattheyses Select the cell with the greatest gains that satisfies balance conditions Swap the cell and lock it Update gains Repeat until all cells are locked or will dissatisfy balance conditions

Fiduccia-Mattheyses Create an initial partition Iteratively execute the FM heuristic Start again using the result partition as the initial partition Continue until the resulting gain is no longer greater than zero

Results Total Cells Total Nets gain Avg gain 50 100 25 23 28 25.3 500 1000 211 233 215 219.6 2500 422 429 414 421.6