Partitioning 1 Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem.

Slides:



Advertisements
Similar presentations
L30: Partitioning 성균관대학교 조 준 동 교수
Advertisements

Graph Partitioning Problems Lecture 18: March 14 s1 s3 s4 s2 T1 T4 T2 T3 s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2.
Approximation Algoirthms: Graph Partitioning Problems Lecture 17: March 16 s1 s3 s4 s2 T1 T4 T2 T3.
Algorithms Analysis Lecture 6 Quicksort. Quick Sort Divide and Conquer.
Minimum Spanning Tree Sarah Brubaker Tuesday 4/22/8.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
CSE 421 Algorithms Richard Anderson Lecture 23 Network Flow Applications.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
100 Placement Assign logic blocks to specific chip locations Seek to minimize routing distance, congestion CLB IOB.
Discussion #36 Spanning Trees
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
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.
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.
Chapter 2 – Netlist and System Partitioning
Placement 1 Outline Goal What is Placement? Why Placement?
Partitioning 2 Outline Goal Fiduccia-Mattheyses Algorithm Approach
CS267 L15 Graph Partitioning II.1 Demmel Sp 1999 CS 267 Applications of Parallel Computers Lecture 15: Graph Partitioning - II James Demmel
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
CSEP 521 Applied Algorithms
CSE 242A Integrated Circuit Layout Automation Lecture 5: Placement Winter 2009 Chung-Kuan Cheng.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Lecture 17: Spanning Trees Minimum Spanning Trees.
ADA: 10. MSTs1 Objective o look at two algorithms for finding mimimum spanning trees (MSTs) over graphs Prim's algorithm, Kruskal's algorithm Algorithm.
1 Min-cut for Undirected Graphs Given an undirected graph, a global min-cut is a cut (S,V-S) minimizing the number of crossing edges, where a crossing.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Graph Partitioning Problem Kernighan and Lin Algorithm
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
Chapter 4 sections 1 and 2.  Fig. 1  Not connected  All vertices are even.  Fig. 2  Connected  All vertices are even.
Gordian Placement Tool: Quadratic and Linear Problem Formulation Ryan Speelman Jason Gordon Steven Butt EE 201A
Lecture 2: General Problem-Solving Methods. Greedy Method Divide-and-Conquer Backtracking Dynamic Programming Graph Traversal Linear Programming Reduction.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Minimum Spanning Trees Prof. Sin-Min Lee Dept. of Computer Science, San Jose State University.
Spanning Trees. A spanning tree for a connected, undirected graph G is a graph S consisting of the nodes of G together with enough edges of G such that:
Lecture 19: Solving the Correspondence Problem with Graph Cuts CAP 5415 Fall 2006.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Community structure in graphs Santo Fortunato. More links “inside” than “outside” Graphs are “sparse” “Communities”
Network Theory: Community Detection Dr. Henry Hexmoor Department of Computer Science Southern Illinois University Carbondale.
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
High Performance Computing Seminar
A vertex u is reachable from vertex v iff there is a path from v to u.
Graphs Representation, BFS, DFS
The minimum cost flow problem
Spanning Trees.
CS4234 Optimiz(s)ation Algorithms
Lecture 12 Algorithm Analysis
Community detection in graphs
Chapter 2 – Netlist and System Partitioning
CSCE350 Algorithms and Data Structure
Spanning Trees.
Haim Kaplan and Uri Zwick
Spanning Trees.
Lecture 12 Algorithm Analysis
Synthesis and Verification of Finite State Machines
AB AC AD AE AF 5 ways If you used AB, then, there would be 4 remaining ODD vertices (C, D, E and F) CD CE CF 3 ways If you used CD, then, there.
A Fundamental Bi-partition Algorithm of Kernighan-Lin
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
Lecture 12 Algorithm Analysis
Kruskal’s Algorithm AQR.
Parallel Graph Algorithms
Data Mining CSCI 307, Spring 2019 Lecture 24
Presentation transcript:

Partitioning 1 Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand partitioning algorithms

What is Partitioning Divide a design into smaller pieces –based on a set of constraints Constraints –amount of design in a partition –number of nets to/from partition –number of partitions allowed –balance between partition sizes –weight nets crossing partition boundaries Applications –divide large design into multiple packages –place circuit components on a chip or board

Partitioning Example Constraints –12 transistors per package –7 pins per package –few packages as possible –nets of equal weight Bounds –30 xistors => >=3 packages –21 terminals => <=3 packages xistors 7 pins 12 xistors 5 pins 6 xistors 4 pins xistors 7 pins 10 xistors 6 pins 8 xistors 5 pins etc.

Partitioning Theory Partitioning is NP-complete

Partitioning Theory Partitioning Set Formulation –V a set of nodes (components) –each node r having area a(r) –X a set of nodes (terminals) external to V –S = (S 1, S 2,..., S N ) a set of subsets of V U X »S i correspond to nets –partition V into disjoint subsets V 1, V 2,..., V k such that »area of nodes in V i <= A i »number of sets in S which have nodes external and internal to V i is <= T i, (pin count) Other formulations –graphs - weighted nets, edges –connection matrix - eigenvectors

Partitioning Algorithms Direct –seed each module, grow based on constraints Group Migration –randomly place components, then move between partitions Metric Allocation –goodness metric for each component pair, partition to minimize metric Simulated Annealing –shuffle components among partitions to minimize cost function, permit uphill moves to get around local minima

Direct Partitioning place a component r from V into each partition V i –pick relatively independent components for each remaining component r in V { for each V i with area of nodes <= A i and number of sets in S which have nodes external and internal to V i <= T i, compute cost of placing r in V i place r in lowest-cost V i } Complexity –O(V*k) –assumes placement cost computation is O(1) Issues –sensitive to initial seeding –sensitive to component examination order –gets stuck in local minimum

Direct Partitioning Example A B C D E F G A BC D E F G D A D A E D A E B E B A BC D E C G, F

Group Migration 1. Partition nodes into groups A and B 2. For every a in A, and every b in B { compute change in terminal counts D a and D b that occur if a and b are swapped.} –set queue to empty and i = Select from all pairs (a, b) the pair (a i, b i ) that gives most reduction in total terminal count when swapped. –add to queue –save the improvement in terminal count as g i 4. Remove a i from A and b i from B, recalculate D a and D b. –if A and B not empty, i++, go to Find k such that G = sum of g 1 to g k is a minimum. –swap a 1,...a k and b 1,...b k. –if G 0, go to 2, else stop.

Group Migration Example A B C D E F G A BC D E F G Initial Partition, Cutset = 6 (A,E) 0 -3 (A,F) -1 0 (A,G) -1 0 (D,E) (D,F) (D,G) (B,E) (B,F) 0 0 (B,G) 0 0 (C,E) (C,F) 0 0 (C,G) 0 0 Queue 1: (D,E) -5 2: (A,F) +1 (-1,+3)... Minimum G=-5 at k=1 Swap D and E Next iteration: all pairs positive k=0, quit D a D b A B CF G Final Partition, Cutset = 1 removed (D,E)

Group Migration Complexity –O(n 2 ) per iteration in worst case for n nodes »steps 2, 3 –converges in only a few iterations –newer versions are O(nlogn) - discuss in next lecture Application to partitioning –use bisection –divide into two partitions, then split those partitions, etc. –partition area is ignored, partitions remain balanced »subdivide until partition area is small enough –algorithm also called min-cut since it minimizes terminals