• 沒有找到結果。

Constructing Minimal Spanning Steiner Trees with Bounded Path LengthPresenter : Cheng-Yin Wu, NTUGIEE

N/A
N/A
Protected

Academic year: 2022

Share "Constructing Minimal Spanning Steiner Trees with Bounded Path LengthPresenter : Cheng-Yin Wu, NTUGIEE"

Copied!
28
0
0

加載中.... (立即查看全文)

全文

(1)

Constructing Minimal Spanning Steiner Trees with Bounded

Path Length

Some of the Slides in this Presentation are Referenced from : Physical Design for Nanometer IC by Prof. Yao-Wen Chang

(2)

• A real world critical problem

– (Clock Tree) Routing in VLSI Circuit

Introduction to “Bounded” Tree (1/2)

Source : Physical Design for Nanometer IC by Prof. Yao-Wen Chang

(3)

• Critical Path Delay (Speed)

– Maximum delay from source to any sink

– Optimum : A shortest path tree rooted at source

• Routing Capacitance (Power)

– Power dissipation is linear to routing capacitance – Optimum : A minimum spanning tree

• Draw a balance between : Speed and Power

– Balance between MST and SPT ?!

Introduction to “Bounded” Tree (2/2)

(4)

MST v.s. SPT Trade-off – Example

Cost (MST) ≤ R + π Cost (SPT) = (N – 1)R Source (s)

Sinks

• Define R = max dist

G

(s, v ϵ V)

• Define Cost(T) = ∑ w(e ϵ T(E))

(5)

Bounded Radius Spanning Tree

• Known as Bounded path length minimum spanning tree

• radius

T

(u) = max dist

T

(u, v ϵ V)

– R = radiusT (s) if T = SPT(s)

• Problem Formulation

– Given routing graph G(V, E) with w(e ϵ E) > 0, find a minimal cost routing tree T with

radiusT (s) ≤ (1 + ε) R for any given ε ≥ 0

– Two extreme cases : MST(ε  ∞) and SPT(ε = 0)

NP-Complete

(6)

Overview of My Following Presentation

• Both heuristics and exact algorithms

• Heuristics (Sound Not Complete)

– Previous works : BPRIM, BRBC – This work : BKRUS, BH2

• Exact Algorithms (Sound and Complete)

– (Improved) Previous works : BMST_G – This work : BKEX

• To the best of my knowledge, it is the most premier work in tackling this problem

BRBC BKRUS BH2

BKEX

(7)

Bounded Radius Bounded Cost Spanning Tree (1/2)

Awerbuch, et al., “Cost-sensitive analysis of communication protocols,” ACM Symp. Principles of Distributed Computing, 1990.

Cong, Kahng, Robins, Sarrafzadeh, Wong, “Performance-driven global routing for cell based IC's,” ICCD-91 (and TCAD, June 1992)

• One of the first work on this problem

• Claims

– radiusT (s) ≤ (1 + ε) R

– Cost(T) ≤ (1 + 2/ε) Cost(MST) (Omit Today) – Polynomial time Heuristic

(8)

Bounded Radius Bounded Cost Spanning Tree (2/2)

Source : Physical Design for Nanometer IC by Prof. Yao-Wen Chang

(9)

BKRUS : Bounded Kruskal MST

• A heuristic similar to BPRIM (previous work), BKRUS extends existing Kruskal MST algorithm to bounded radius cases

– Achieving better performance over benchmarks

• Goal : radius

BKT

(s) ≤ (1 + ε) R

• Classical Kruskal MST Algorithm – Review

http://www.cs.man.ac.uk/~graham/cs2022/greedy/

(10)

BKRUS Algorithm (1/3)

• Extension for upper bound constraint

– Two subtrees tu, tv are merged by edge (u, v) if the merged tree tM satisfies radiustM (s) ≤ (1 + ε) R

u

t

u

t

vv

t

M

(11)

u

t

u

t

vv

BKRUS Algorithm (1/3)

• Extension for upper bound constraint

– Two subtrees tu, tv are merged by edge (u, v) if the merged tree tM satisfies radiustM (s) ≤ (1 + ε) R

– Case 1 : If s ϵ tu

disttu(S, u) + distG(u, v) + radiustv(v) ≤ (1 + ε) R

– Similar case for s ϵ tv

(12)

BKRUS Algorithm (1/3)

• Extension for upper bound constraint

– Two subtrees tu, tv are merged by edge (u, v) if the merged tree tM satisfies radiustM (s) ≤ (1 + ε) R

– Case 2 : If neither s ϵ tu nor s ϵ tv distG(S, x) + radiustM(x) ≤ (1 + ε) R

– If such x does not exist (u, v) is not feasible

u

t

u

t

vv

x

(13)

BKRUS Algorithm (2/3)

• BKRUS maintains two matrices for t

M

– P[V, V] denotes path lengths between (V, V) pairs – r[V] denotes radii of every V

(1). If s ϵ tu, tv, check : disttu(S, u) + distG(u, v) + radiustv(v) ≤ (1 + ε) R (2). Else, check : dist (S, x) + radius (x) ≤ (1 + ε) R, x ϵ t

(14)

BKRUS Algorithm (2/3)

(15)

BKRUS Algorithm (3/3)

O(V) O(V2) ONLY (V – 1) times

E times

Complexity = O(EV + V3)

(16)

Extension to Elmore Delay Model

• Elmore delay model is a more accurate delay estimation model on VLSI circuit

– Now, path delay is a function to driving

network, not edge itself

• So, new radii after each MERGE should be re- computed again

• dist(x, y) is replaced by R(x, y)(C(x, y)/2 + C

L

)

(17)

BKRUS Algorithm for Steiner Tree

• A variation of BKRUS, named BKST

Hanan Grid

(18)

Exact Algorithms – Gabow

• Definition : T-exchange

– Given a pair of edges (e, f) where e ϵ T, f ϵ G \ T, and T \ e U f is a spanning tree, we define

exchange of (e, f) has weight = w(f) – w(e)

• Gabow’s Algorithm tries to find k smallest

spanning trees evolved from original spanning tree with one exchange in every iteration

– Problem : Exponential Space Complexity (VV – 2)

– Solution : Once a feasible solution is found, return

(19)

Exact Algorithms – Gabow

• More on T-exchange

– If T is the minimum spanning tree, i.e. Cost(T) is the minimum among all spanning trees

• NO negative weight of exchange can be found

– Further, if (e, f) is the minimal T-exchange, T \ e U f is a spanning tree with the next smallest cost

• In reality, some edges in original graph can be excluded at a preprocessing of Gabow’s

algorithm (omitted here)

(20)

Exact Algorithms – BKEX (1/2)

• Motivation : Global Optimization

• Definition : Negative-Sum-Exchange(s)

– A sequence of T-exchanges where sum of their weights are negative

• BKEX starts from initial feasible solution, and reduce routing cost toward the optimal

– As a post-processing algorithm for, e.g. BKT

(21)

Exact Algorithms – BKEX (2/2)

Complexity = O(En Vn+1)

depth = 0 depth = 1 depth = 2

depth = 3

depth = 4

depth = 5

y x

(22)

Heuristic from Exact Algorithms – BH2

• BKT is a local minimum solution

– If an edge is rejected during the BKRUS algorithm, then that edge cannot become feasible at a later time (proof is omitted in the presentation)

– It can be shown BKT is a local optimum with respect to a single T-exchange

• In order to jump out of local optimum, at least double T-exchanges are needed  BH2

– E.g. negative-sum-exchanges : +3, -5  -2 – Complexity = O(E2 V3)

(23)

Upper and Lower Bounded MST

• Sometimes we desire a spanning tree that consider both max and min dist

G

(S, x) while minimizing routing cost

– For instance, clock skew in clock tree synthesis

• Problem can be re-formulated as

– ε1 R ≤ radiusT (s) ≤ (1 + ε2)

– Some combinations of ε1, ε2 render NO solution

• However, for Steiner Trees, solutions may exist

• How can BKRUS be extended now ?!

(24)

Experiments – Tradeoff Curve

(25)

Experiments – BH2 Improvements

(26)

Experiments – Routing Cost Over MST

– Max = 2.711, 2.219, 2.056, 2.056 – Avg = 1.705, 1.517, 1.455, 1.452

(27)

Conclusion and Future Work

• Schemes for bounded path length minimal spanning tree with upper (and lower) bound control are presented

– With applications to , e.g. Elmore delay model

• Two optimal algorithms

– BMST_G extends Gabow’s method

– BKEX using negative T-exchange technique

• Heuristic BKRUS can be further enhanced with

BKH2 as a post processing

(28)

參考文獻

相關文件

BAL 1000 Brown almost-linear func, nonconvex, dense Hessian.. BT 1000 Broyden tridiagonal func, nonconvex,

Keywords: accuracy measure; bootstrap; case-control; cross-validation; missing data; M -phase; pseudo least squares; pseudo maximum likelihood estimator; receiver

Proposition 3.2.21 以及 Proposition 3.2.22, metric space 的 compact subset closed bounded.. least upper bound 以及 greatest lower

Lecture by baluteshih Credit by zolution... Minimum

Think pair fluency, reciprocal teaching, circulate poster and adding on, four corners..

The algorithms have potential applications in several ar- eas of biomolecular sequence analysis including locating GC-rich regions in a genomic DNA sequence, post-processing

• A cell array is a data type with indexed data containers called cells, and each cell can contain any type of data. • Cell arrays commonly contain either lists of text

Given an undirected graph with nonnegative edge lengths and nonnegative vertex weights, the routing requirement of a pair of vertices is assumed to be the product of their weights.