Download presentation
Presentation is loading. Please wait.
1
CSE248 Spring Skew
2
Admin How is HW #1 going? What kind of ideas are you trying?
Look at FLUTE: table-lookup and ‘templates’ for subproblems of 9 or fewer terminals; decomposition heuristics; stitching together of subtrees. Can the decomposition be improved? Or the stitching? (Source is available.) Sometimes in heuristics, it pays to not be always greedy: e.g., deliberately take the second-best choice with, say, 10% probability (third-best with 2% probability, etc.). (See R. Korf, number partitioning problem.) Notes: (1) geometric Steiner problem only!; (2) can check ‘scalability’ of, e.g., FLUTE using techniques such as Hagen/Huang/Kahng DAC95; (3) GeoSteiner can find optimal solutions; (4) comments from David S. Johnson (TSP) suggest that you need LOTS of points, and LOTS of trials to come to any conclusions about estimated suboptimality; (5) if you have something really interesting, this can become a project as well Project topic #1: “choppable floorplan optimization” Project topic #2: ZST/BST ordering, stretching topology finding? skew-length tradeoffs? reconciliation of theory-CAD literatures?
3
Agenda Special trees (H, Y, X)
Zero-skew tree problem and DME (BK92, CHHBK92) BST-DME (bounded-skew trees) Lower bounds (Charikar et al.) and provably good ZST construction (Zelikovsky-Mandoiu) Planar zero-skew trees (ZD94, KT96) Prescribed or useful distance – and LP (OPP96) We will mostly discuss the last three topics. The first topic is “not very relevant”; the second topic was covered in CSE 241A / ECE 260B.
4
λ-Geometry Routing Introduced by [Burman et al. 1991] λ = 2
λ uniformly distributed routing directions Approximates Euclidean routing as λ approaches infinity As a generalization to Manhattan routing,%Burman et al. \cite{BCS91} introduce the%concept of $\lambda $-geometry routing, in which routing is%allowed along $\lambda\ge 2$ orientations In particular, $\lambda = 2,\3,\ 4$ and $\infty$, correspond to Rectilinear Geometry, Hexagonal Geometry, Octilinear Geometry and Euclidean geometry, respectively. λ = 2 Manhattan “M” λ = 3 Hexagonal “Y” λ = 4 Octilinear “X”
5
Y Trees Distance between adjacent sinks = 1 N-level clock tree:
path length = total wire length = Covers all slots
6
Y Clock Tree on Square Mesh
N-level clock tree: path length = 21% less than H-tree total wire length = 9% less than H tree, 3% less than X tree No self-overlapping between parallel wire segments
7
Y Clock Tree on Hexagonal Mesh
N-level clock tree: path length = total wire length = Covers 3/4 of slots
8
Some Clock Tree Types
9
Agenda Special trees (H, Y, X)
Zero-skew tree problem and DME (BK92, CHHBK92) BST-DME (bounded-skew trees) Lower bounds (Charikar et al.) and provably good ZST construction (Zelikovsky-Mandoiu) Planar zero-skew trees (ZD94, KT96) Prescribed or useful distance – and LP (OPP96)
10
Zero-Skew Tree (ZST) Problem
Zero Skew Clock Routing Problem (S,G): Given a set S of sink locations and a connection topology G, construct a ZST T(S) with topology G and having minimum cost. Skew = maximum value of |td(s0,si) – td(s0,sj)| over all sink pairs si, sj in S. Td = signal delay (from source s0) Connection topology G = rooted binary tree with nodes of S as leaves Edge ea in G is the edge from a to its parent |ea| is the (assigned) length of edge ea Cost = total edge length
11
Zero-Skew Example (555 sinks, 40 Obstacles)
12
Manhattan Arcs, TRRs and Merging Segments
Manhattan Arc: line segment with slope +1 or –1 Tilted Rectangular Region (TRR): collection of points within a fixed distance of a Manhattan arc Core = Manhattan arc Radius = distance Merging segment = locus of feasible locations for a node v in the topology, consistent with minimum wirelength If v is a sink, then ms(v) = {v} If v is an internal node, then ms(v) is the set of all points within distance |ea| of ms(a), and within distance |eb| of ms(b)
13
Bottom-Up: Tree of Merging Segments
Goal: Construct a tree of merging segments corresponding to topology G Merging segment of a node depends on merging segment of its children bottom-up construction Let a, b be children of v. We want placements of v that allow TSa and TSb to be merged with minimum added wire while preserving zero skew Merging cost = |ea| + |eb| Lemma: The intersection of two TRRs is also a TRR and can be found in constant time.
14
Tree of Merging Segments
Constant time per each new merging segment linear time (in size of S) to construct entire tree
15
Top-Down: Embedding Nodes of Topology
Goal: Find exact locations (“embeddings”) pl(v) of internal nodes v in the ZST topology. If v is the root node, then any point on ms(v) can be chosen as pl(v) If v is an internal node other than the root, and p is the parent of v, then v can be embedded at any point in ms(v) that is at distance |ev| or less from pl(p) Detail: create square TRR trrp with radius ev and core equal to pl(p); placement of v can be any point in ms(v) trrp
16
Find_Exact_Placements
Each instruction executed at most once for each node in G, and TRR intersection is O(1) time Find_Exact_Placements is O(n) DME is O(n)
17
Facts About DME Construction
DME produces a ZST under linear delay model with minimum cost over all ZSTs with topology G and sink set S For any sink set S and topology G, DME will construct a ZST with minimum feasible source-sink delay, equal to one-half the diameter of S (Theorem 2, BK92) Corollary: We know the merging segments top-down! I.e., draw the minimum TRR that contains S. A minimum-cost ZST will have ms(root) = core of this TRR
18
Vertex Loci in a Bounded-Skew Tree
Given a skew bound, where can internal nodes of the given topology (e.g., a, b, v) be placed? skew 2 4 6 a skew 6 4 2 2 4 2 v 6 4 s0 v b 6 Topology a b s1 s2 s3 s4
19
BST-DME Bottom-Up Phase
v Bottom-Up: build tree of merging regions corresponding to given topology Topology a b s2 s1 s2 s3 s4 B = 4 s0 s3 mr(a) s1 mr(b) mr(v) s4
20
BST-DME Top-Down Phase
v Topology a b s2 s1 s2 s3 s4 B = 4 s0 s3 a s1 v b s4
21
Agenda Special trees (H, Y, X)
Zero-skew tree problem and DME (BK92, CHHBK92) BST-DME (bounded-skew trees) Lower bounds (Charikar et al.) and provably good ZST construction (Zelikovsky-Mandoiu) Planar zero-skew trees (ZD94, KT96) Prescribed or useful distance – and LP (OPP96)
22
ZST Approximation Charikar et al. [CKKRST99]
NP-hard for general metric spaces factor 2e ~ 5.44 approximation Zelikovsky-Mandoiu [ZM02] (J. Disc. Math.) factor 4 approximation for general metric spaces factor 3 approximation for rectilinear plane
23
Approximation or Performance Ratio
Term is typically used with respect to heuristics for hard problems Assume a minimization problem. Let copt(I) = optimal solution cost for instance I Let cH(I) = solution cost achieved by heuristic H on instance I The performance ratio of heuristic H is limn maxI s.t. |I| = n [cH(I)/copt(I)] (Several slightly different definitions can be found.)
24
ZST Lower-Bound (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
25
ZST Lower-Bound (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
26
ZST Lower-Bound (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
27
ZST Lower-Bound (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
28
ZST Lower-Bound (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
29
Constructive Lower-Bound
Computing N(r) is NP-hard, but … Lemma: For any ordering of the terminals, if then Explanation: If r is less than half the minimum separation of any two of the first i terminals, then at least i balls are needed to cover the terminal set. In particular, at least i balls are needed to cover just the first i terminals in the ordering. Where MinDist{A} = minu,v in A, u != v d(u,v)
30
Constructive Lower Bound
{i = 2 to n} ½ MinDist{t1, …, ti} Explanation: From the previous lemma, N(r) is at least i when r < ½ MinDist(t1,…, ti). So, we are making a lower sum for the given integral. r N(r) 2 n n-1 ½ MinDist{t1, …, tn} ½ MinDist{t1, t2}
31
Stretching Rooted Spanning Trees
ZST root = spanning tree root where = max path length from to a leaf of ZST root-to-leaf path length =
32
Stretching Rooted Spanning Trees
Loop length =
33
Stretching Rooted Spanning Trees
Sum of loop lengths =
34
Zero-Skew Spanning Tree Problem
Theorem: Every rooted spanning tree can be stretched to a ZST of total length where Zero-Skew Spanning Tree Problem: Find rooted spanning tree minimizing
35
How Good are MST and Min-Star?
. MST: min length, huge delay 1 2 N-1 3 N-2 … Star: min delay, huge length
36
The Rooted-Kruskal Algorithm
Initially each terminal is a rooted tree; d(t)=0 for all t While 2 roots remain: Pick closest two roots, t & t’, where d(t) d(t’) t’ t t’ becomes child of t, root of merged tree is t d(t) max{ d(t), d(t’) + dist(t ,t’) } t’ t
37
The Rooted-Kruskal Algorithm
While 2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t) d(t’) t’ becomes child of t, root of merged tree is t d(t) max{ d(t), d(t’) + dist(t ,t’) } Hmm. Is this similar to “Greedy-DME” (Edahiro, 1993 DAC) ?
38
How Good is Rooted-Kruskal?
Initially each terminal is a rooted tree; d(t)=0 for all t d(t) max{ d(t), d(t’) + dist(t ,t’) } At the end of the algorithm, d(t)=delay (t ) T While 2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t) d(t’) t’ becomes child of t, root of merged tree is t d(t) max{ d(t), d(t’) + dist(t ,t’) } T Pick closest two roots, t & t’, where d(t) d(t’) Initially each terminal is a rooted tree; d(t)=0 for all t At the end of the algorithm, d(t)=delay (t ) When edge (t ,t’) is added to T: length(T) increases by dist(t ,t’) delay(T) increases by at most dist(t ,t’) Lemma: delay(T) length(T)
39
How Good is Rooted-Kruskal?
While 2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t) d(t’) t’ becomes child of t, root of merged tree is t d(t) max{ d(t), d(t’) + dist(t ,t’) } Pick closest two roots, t & t’, where d(t) d(t’) Number terminals in reverse order of becoming non-roots length(T) = Explanation: Kruskal is adding connections which, in reverse order, give the MinDist’s of the latest i+1 terminals in the tree. For example, the last connection is the MinDist of the latest two terminals. The first connection is the MinDist of all n terminals. The summation is exactly twice the lower bound from Slide 30. Lemma: length(T) 2 OPT
40
ZST length 4 OPT Factor 4 Approximation
Algorithm: Rooted-Kruskal + Stretching Length after stretching = length(T) + delay(T) delay(T) length(T) length(T) 2 OPT ZST length 4 OPT
41
Agenda Special trees (H, Y, X)
Zero-skew tree problem and DME (BK92, CHHBK92) BST-DME (bounded-skew trees) Lower bounds (Charikar et al.) and provably good ZST construction (Zelikovsky-Mandoiu) Planar zero-skew trees (ZD94, KT96) Prescribed or useful distance – and LP (OPP96)
42
Planar Zero-Skew Tree (ZST) Problem
Planar Zero Skew Clock Routing Problem (S,G): Given a set S of sink locations and a connection topology G, construct a ZST T(S) with topology G and having minimum cost, which is embeddable in the plane with no crossing edges. Zhu-Dai 1992: Iteratively: (1) Connect free sink to its minimal balance point (shortest wire, maintaining exact zero pathlength skew); (2) Choose the “free” (unused) sink whose minimum balance distance is maximized.
43
Planar Zero-Skew Tree (ZST) Problem
Planar Zero Skew Clock Routing Problem (S,G): Given a set S of sink locations and a connection topology G, construct a ZST T(S) with topology G and having minimum cost, which is embeddable in the plane with no crossing edges. Enabling observations: Theorem 2 of BK92 allows us to build the tree of merging segments top-down Binary tree topology = recursive bipartitioning of the sink set S Planar-DME: Can achieve planarity by choosing the sink partitions and edge embeddings carefully Topology is constructed on the fly (it is not prescribed a priori)
44
Planar Zero-Skew Tree (ZST) Problem
Planar Zero Skew Clock Routing Problem (S,G): Given a set S of sink locations and a connection topology G, construct a ZST T(S) with topology G and having minimum cost, which is embeddable in the plane with no crossing edges. Enabling observations: Theorem 2 of BK92 allows us to build the tree of merging segments top-down “Single-Pass DME” Binary tree topology = recursive bipartitioning of the sink set S Planar-DME: Can achieve planarity by choosing the sink partitions and edge embeddings carefully Topology is constructed on the fly (it is not prescribed a priori)
45
Top-Down, Single-Pass Partitioning+Embedding
Entire routing region Pa is divided into convex polygons until only one sink lies within each convex polygon Boundaries of polygons are given by thick dashed lines and tree edges Tree of merging segments is given by thin dotted lines
46
Embedding Rules In each recursive call, given:
a subset of sinks S’, contained in convex polygon P(S’) a point p inside P(S’) which is the embedding of the parent of the root of the subtree over S’ Must connect p to a point v on ms(v) = center(S’) “Embedding Rules” ensure that we find an embedding point for v in O(1) time
47
Partitioning Rules Goal: find a splitting line
Divides P(S’) into two convex polygons (thus partitioning the sink set between the two subtrees of v) Allows the routing from p to v to be on the boundary between the two polygons “Partitioning Rules” ensure that we find the splitting line in Theta(|S’|) time
48
Agenda Special trees (H, Y, X)
Zero-skew tree problem and DME (BK92, CHHBK92) BST-DME (bounded-skew trees) Lower bounds (Charikar et al.) and provably good ZST construction (Zelikovsky-Mandoiu) Planar zero-skew trees (ZD94, KT96) Prescribed or useful distance – and LP (OPP96)
49
Prescribed Delays by Linear Programming
Oh, Pyo, Pedram 1996 Topology and sink locations are given Use LP to determine edge lengths ( implicitly determining Steiner point locations) Notes. (1) Having path lengths greater than or equal to lower bounds (= endpoint to endpoint distances) is a sufficient condition for there to exist Steiner point locations that satisfy the pathlength bounds. (2) Solving for the Steiner point locations in the straightforward way (i.e., as (x,y) coordinates) does not work, but solving for the locations implicitly does work.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.