Edge Separability Based Circuit Clustering with ... - Semantic Scholar

2 downloads 0 Views 137KB Size Report
HK95], Rent Parameter [NOP87], Closeness [SK93],. Connectivity [SU72], etc… – Signal flow based : MFFC [CD93], MFFS [CL+97], etc… • Top-down clustering.
Edge Separability Based Circuit Clustering with Application to Circuit Partitioning Jason Cong and Sung Kyu Lim UCLA VLSI CAD Lab Support : MARCO/DARPA GSRC and Fujitsu Laboratories of America under CA MICRO

Outline • Preliminaries – Problem formulation – Previous works – Motivation and contribution

• ESC algorithm – Overview – Two-phase framework

• Experimental results • Conclusions and ongoing works

2/27

Problem Formulation • Clustering vs partitioning – Divide cells into groups under area constraint A – Clustering if A is small; partitioning otherwise – Clustering = pre-process of partitioning

• Clustering Metrics – Absorption, Density, Rent Parameter, Ratio Cut, Closeness, Connectivity, etc….

• Partitioning Metrics – Cutsize and delay

3/27

Previous Works • Clustering algorithms – Cutsize oriented vs delay oriented

• Bottom-up clustering – Connectivity based : Absorption [SS93], Density [CS93, HK95], Rent Parameter [NOP87], Closeness [SK93], Connectivity [SU72], etc… – Signal flow based : MFFC [CD93], MFFS [CL+97], etc…

• Top-down clustering – Ratio Cut [WC92]

4/27

Motivation • Existing algorithms rely on local connectivity w(e) e2 e3 e1

v1

v2 e4

e5 v3

e6

C1 DEN (C1 ) =

∑ w (e ) / ∑ s(v ) =

e∈C1

v∈C1

w ( e 3 ) + w ( e4 ) + w ( e5 ) s ( v1 ) + s ( v 2 ) + s ( v 3 ) 5/27

Motivation • Existing algorithms rely on local connectivity w(e) e2 e3 e1

v1

v2 e4

C1 CLO (C1 , C 2 ) =

e5

e7

v3

v4

e6

v5 e8

e9 v6

e10

C2

w ( e6 ) w (e ) = min{ c (C 1 ), c (C 2 )} w ( e6 ) + w ( e10 ) 6/27

Contribution • Proposed global connectivity information λ(e) • Efficient way to estimate λ(e) • Demonstrate effectiveness of λ(e) – compared to existing algorithms that use w(e) – two-level ESC vs multi-level hMetis [KA+97, KK99]

7/27

Edge Separability • Edge Separabillity λ(e) – Minimum cutsize that separates x and y, where e=(x, y) – Beyond local connectivity w(e) – Search on entire circuit : max-flow in O(n2logn)

x

w(e)

y

w(e) ≤ λ(e)

8/27

Edge Separability • CAPFOREST [Nagamochi and Ibaraki, 1992] – – – –

O(nlogn) edge labeling algorithm Identify contractible edges Label each edge with q(e) Repeat O(n) to find global mincut

we show that w(e) ≤ q(e) ≤ λ(e)

9/27

CAPFOREST Algorithm • Illustration 0

7 7

1 1

21

1 1

10 1

71 6 7

2 2

9 10

5 5

5

1

1 1

3 3

3

7

1

52

visit nodes in Maximum Adjacency ordering

3 5 4 4

4 10/27

CAPFOREST Algorithm • Illustration 0

7/7/9

0

1/1/4

0

1/1/4

3/3/5

0

1/2/4

0

2/2/6

6/6/7

0

9/10/13

5/5/6

0

1/1/4

0

4/4/7

3/5/6

edge labels denote w(e) / q(e) / λ(e) following holds w(e) ≤ q(e) ≤ λ(e)

0 11/27

ESC Clustering Algorithm • Classification – Graph connectivity based O(nlogn) algorithm – Two-level cluster hierarchy

• Implementation – Transform netlist into G – Perform CAPFOREST to label all edges with q(e) – Sort contractible edges based on rank r(e) q( e ) r (e ) = min{ c( x ), c( y )} – Grow clusters from contraction of edges in the sorted order

12/27

ESC Clustering Algorithm • Illustration (size limit = 3) a

7

b

1

1

3

d

1

6

e

2

9

5

g

1

c edge labels denote w(e) / q(e) / r(e)

f 3

h

4

r (e ) =

q( e ) min{ c( x ), c( y )}

i 13/27

ESC Clustering Algorithm • Illustration (size limit = 3) a

7/7/.78

1/1

b

c

1/1

3/3

d

1/2

e

6/7/1.0 2/2

f

9/10/.77

5/5

g

1/1

h

4/4

edge labels denote w(e) / q(e) / r(e) r (e ) =

3/5

q( e ) min{ c( x ), c( y )}

i 14/27

ESC Clustering Algorithm • Illustration (size limit = 3) a

7/7/.78

b 1/1

1/1

3/3

d

1/2

e

2/2

f

9/10/.77

5/5

g

1/1

h

4/4

edge labels denote w(e) / q(e) / r(e) r (e ) = 3/5

q( e ) min{ c( x ), c( y )}

i 15/27

ESC Clustering Algorithm • Illustration (size limit = 3)

b 3/3

d

1/1

1/1 1/2

e

2/2

f

9/10/.77

5/5

g

1/1

h

4/4

edge labels denote w(e) / q(e) / r(e) r (e ) = 3/5

q( e ) min{ c( x ), c( y )}

i 16/27

ESC Clustering Algorithm • Illustration (size limit = 3)

b 3/3

d 5/5

1/1 1/2

1/1

g

1/1

e

2/2

edge labels denote w(e) / q(e) / r(e)

f

r (e ) = 3/5

4/4

q( e ) min{ c( x ), c( y )}

i 17/27

ESC Clustering Algorithm • Illustration (size limit = 3)

b 3/3

d 5/5/.83

1/1 1/2

1/3

g

1/1

e

2/3

edge labels denote w(e) / q(e) / r(e)

f

r (e ) = 3/6/1.0

4/4

q( e ) min{ c( x ), c( y )}

i 18/27

ESC Clustering Algorithm • Illustration (size limit = 3)

b 3/3

d 5/5/.83

1/1 1/2

e

6/4

1/1

f

edge labels denote w(e) / q(e) / r(e) r (e ) =

q( e ) min{ c( x ), c( y )}

1/3

g 19/27

ESC Clustering Algorithm • Illustration (size limit = 3)

b 3/3

d

1/1 2/3

e

6/4

1/1

f

edge labels denote w(e) / q(e) / r(e) r (e ) =

q( e ) min{ c( x ), c( y )}

20/27

Two-Phase Framework • Edge contraction based bottom-up clustering – Sort edges based on contraction cost – Grow clusters from edge contraction

• Top-down partitioning – Partition top-level – Project cutline – Partition bottom-level

21/27

Existing Algorithms •

Absorption [SS93] (max) : weight of edges absorbed into C ABS (C ) = ∑ w (e ) e∈C



Density [CS93, HK95] (max) : density of C in terms of w(e) DEN (C ) =



ABS (C ) , s(C ) = size of C s (C )

Rent Parameter [NOP87] (min) : entail better placement result REP (C ) =

ln c(C ) − ln d (C ) 1 , d (C ) = c( x ) ∑ ln s(C ) | C | x∈C

22/27

Existing Algorithms (cont) •

Ratio Cut [WC92] (min) : identify natural clusters RTC (C ) =

c (C ) , c (C ) = w(e ) ∑ s (C ) e incident to C



Closeness [SK93] (max) : connectivity to neighboring vertices w(e ) s( x ) + s( y ) CLO (C ) = −γ min{ c( x ), c( y )} ave _ size



Connectivity [SU72] (max) : connectivity to neighboring vertices w (e ) w (e ) CON (C ) = + s( x )[c( x ) − w (e )] s( y )[c( y ) − w ( e )]

23/27

Experimental Result • LR [CL+97] bipartitioning on ISPD98 [Alp98] circuits 1.4

Scaled Cutsize

1.2

1.31 1.13

1

1.31 1.19

1.09

1.15 1

0.8 0.6 0.4 0.2 0

ABS

DEN

REP

RTC

CLO

CON

ESC 24/27

Experimental Result • LR/ESC bipartitioning algorithm – – – –

Cluster netlist with ESC algorithm Partition top-level with LR [CL+97] algorithm Project cutline Refine bottom-level with LR algorithm

• LR/ESC-PM multiway partitioning algorithm – Obtain matching of blocks for Pair-wise Movement [CL98] – Apply LR/ESC bipartitioning on block-pairs

25/27

Experimental Result LR-ESC/PM : two-level hMetis[KA+97] and hMetis-Kway[KK99] : multi-level 1.2 1 Scaled Cutsize

• •

1.03

1.02

1.01

0.97

0.8 hMetis-Kway LR/ESC-PM

0.6 0.4 0.2 0

2way

8way

16way

32way 26/27

Conclusions & Ongoing Works • Edge separability λ(e) – Beyond local connectivity w(e) – tighter lower bound of λ(e) in O(nlogn) for all edges

• ESC clustering algorithm – Connectivity based two-level bottom-up clustering – Outperforms other existing algorithms – Comparable to hMetis [KA+97] and hMetis-Kway [KK99]

• Ongoing work – Multi-level ESC – Impact on placement – www.cadlab.ucla.edu 27/27

Suggest Documents