Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 248 Skew 1Kahng, UCSD 2011 CSE248 Spring 2011 Skew.

Similar presentations


Presentation on theme: "CSE 248 Skew 1Kahng, UCSD 2011 CSE248 Spring 2011 Skew."— Presentation transcript:

1 CSE 248 Skew 1Kahng, UCSD 2011 CSE248 Spring 2011 Skew

2 CSE 248 Skew 2Kahng, UCSD 2011 Agenda  Special trees (H, Y, X)  Zero-skew tree problem and DME (BK92, CHHBK92) l 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)

3 CSE 248 Skew 3Kahng, UCSD 2011 λ-Geometry Routing  Introduced by [Burman et al. 1991] λ uniformly distributed routing directions Approximates Euclidean routing as λ approaches infinity λ = 2 Manhattan “M” λ = 4 Octilinear “X” λ = 3 Hexagonal “Y”

4 CSE 248 Skew 4Kahng, UCSD 2011 Y Trees  Distance between adjacent sinks = 1  N-level clock tree: l path length = l total wire length =  Covers all slots

5 CSE 248 Skew 5Kahng, UCSD 2011 Y Clock Tree on Square Mesh  N-level clock tree: l path length = 21% less than H-tree l total wire length = l 9% less than H tree, 3% less than X tree  No self-overlapping between parallel wire segments

6 CSE 248 Skew 6Kahng, UCSD 2011 Y Clock Tree on Hexagonal Mesh  N-level clock tree: l path length = l total wire length =  Covers 3/4 of slots

7 CSE 248 Skew 7Kahng, UCSD 2011 Some Clock Tree Types

8 CSE 248 Skew 8Kahng, UCSD 2011 Agenda  Special trees (H, Y, X)  Zero-skew tree problem and DME (BK92, CHHBK92) l 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)

9 CSE 248 Skew 9Kahng, UCSD 2011 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 |t d (s 0,s i ) – t d (s 0,s j )| over all sink pairs s i, s j in S.  T d = signal delay (from source s 0 )  Connection topology G = rooted binary tree with nodes of S as leaves l Edge e a in G is the edge from a to its parent l |e a | is the (assigned) length of edge e a  Cost = total edge length

10 CSE 248 Skew 10Kahng, UCSD 2011 Zero-Skew Example (555 sinks, 40 Obstacles)

11 CSE 248 Skew 11Kahng, UCSD 2011 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 l Core = Manhattan arc l Radius = distance  Merging segment = locus of feasible locations for a node v in the topology, consistent with minimum wirelength l If v is a sink, then ms(v) = {v} l If v is an internal node, then ms(v) is the set of all points within distance |e a | of ms(a), and within distance |e b | of ms(b)

12 CSE 248 Skew 12Kahng, UCSD 2011 Bottom-Up: Tree of Merging Segments  Goal: Construct a tree of merging segments corresponding to topology G l Merging segment of a node depends on merging segment of its children  bottom-up construction l Let a, b be children of v. We want placements of v that allow TS a and TS b to be merged with minimum added wire while preserving zero skew l Merging cost = |e a | + |e b |  Lemma: The intersection of two TRRs is also a TRR and can be found in constant time.

13 CSE 248 Skew 13Kahng, UCSD 2011 Tree of Merging Segments  Constant time per each new merging segment  linear time (in size of S) to construct entire tree

14 CSE 248 Skew 14Kahng, UCSD 2011 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 |e v | or less from pl(p) l Detail: create square TRR trr p with radius ev and core equal to pl(p); placement of v can be any point in ms(v)  trr p

15 CSE 248 Skew 15Kahng, UCSD 2011 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)

16 CSE 248 Skew 16Kahng, UCSD 2011 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!

17 CSE 248 Skew 17Kahng, UCSD 2011 Vertex Loci in a Bounded-Skew Tree skew 0 246 2 4 6 0 246 2 4 6 v s4s4 v a b s1s1 s2s2 s3s3 Topology s0s0 b a  Given a skew bound, where can internal nodes of the given topology (e.g., a, b, v) be placed?

18 CSE 248 Skew 18Kahng, UCSD 2011 BST-DME Bottom-Up Phase s4s4 v a b s1s1 s2s2 s3s3 Topology s0s0 s1s1 s3s3 s4s4 s2s2 mr(a) mr(b) mr(v) B = 4 Bottom-Up: build tree of merging regions corresponding to given topology s0s0

19 CSE 248 Skew 19Kahng, UCSD 2011 BST-DME Top-Down Phase s4s4 v a b s1s1 s2s2 s3s3 Topology s0s0 s1s1 s3s3 s4s4 s2s2 a b v B = 4 s0s0

20 CSE 248 Skew 20Kahng, UCSD 2011 Agenda  Special trees (H, Y, X)  Zero-skew tree problem and DME (BK92, CHHBK92) l 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)

21 CSE 248 Skew 21Kahng, UCSD 2011 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

22 CSE 248 Skew 22Kahng, UCSD 2011 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

23 CSE 248 Skew 23Kahng, UCSD 2011 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

24 CSE 248 Skew 24Kahng, UCSD 2011 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

25 CSE 248 Skew 25Kahng, UCSD 2011 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

26 CSE 248 Skew 26Kahng, UCSD 2011 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

27 CSE 248 Skew 27Kahng, UCSD 2011 Constructive Lower-Bound Computing N(r) is NP-hard, but … Lemma: For any ordering of the terminals, if then Where MinDist{A} = min u,v in A, u != v d(u,v) 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.

28 CSE 248 Skew 28Kahng, UCSD 2011 Constructive Lower Bound r N(r) 2 n n-1   {i = 2 to n} ½ MinDist{t 1, …, t i } ½ MinDist{t 1, …, t n } ½ MinDist{t 1, t 2 } 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. The original version of this slide was missing the ½ factor above.

29 CSE 248 Skew 29Kahng, UCSD 2011 Stretching Rooted Spanning Trees ZST root = spanning tree root where = max path length from to a leaf of ZST root-to-leaf path length =

30 CSE 248 Skew 30Kahng, UCSD 2011 Stretching Rooted Spanning Trees Loop length =

31 CSE 248 Skew 31Kahng, UCSD 2011 Stretching Rooted Spanning Trees Sum of loop lengths =

32 CSE 248 Skew 32Kahng, UCSD 2011 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

33 CSE 248 Skew 33Kahng, UCSD 2011 How Good are MST and Min-Star?... MST: min length, huge delay 0 1 2 N-1 3 N-2 … … Star: min delay, huge length

34 CSE 248 Skew 34Kahng, UCSD 2011 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’t t’ becomes child of t, root of merged tree is t d(t)  max{ d(t), d(t’) + dist(t,t’) } t’t

35 CSE 248 Skew 35Kahng, UCSD 2011 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’) }

36 CSE 248 Skew 36Kahng, UCSD 2011 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’) } Lemma: delay(T)  length(T) 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 ) TT 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’)

37 CSE 248 Skew 37Kahng, UCSD 2011 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’) } Lemma: length(T)  2 OPT 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.

38 CSE 248 Skew 38Kahng, UCSD 2011 Factor 4 Approximation Length after stretching = length(T) + delay(T) delay(T)  length(T) length(T)  2 OPT  ZST length  4 OPT Algorithm: Rooted-Kruskal + Stretching

39 CSE 248 Skew 39Kahng, UCSD 2011 Agenda  Special trees (H, Y, X)  Zero-skew tree problem and DME (BK92, CHHBK92) l 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)

40 CSE 248 Skew 40Kahng, UCSD 2011 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.

41 CSE 248 Skew 41Kahng, UCSD 2011 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: l Theorem 2 of BK92 allows us to build the tree of merging segments top-down l Binary tree topology = recursive bipartitioning of the sink set S  Planar-DME: Can achieve planarity by choosing the sink partitions and edge embeddings carefully l Topology is constructed on the fly (it is not prescribed a priori)

42 CSE 248 Skew 42Kahng, UCSD 2011 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: l Theorem 2 of BK92 allows us to build the tree of merging segments top-down  “Single-Pass DME” l Binary tree topology = recursive bipartitioning of the sink set S  Planar-DME: Can achieve planarity by choosing the sink partitions and edge embeddings carefully l Topology is constructed on the fly (it is not prescribed a priori)

43 CSE 248 Skew 43Kahng, UCSD 2011 Top-Down, Single-Pass Partitioning+Embedding  Entire routing region P a 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

44 CSE 248 Skew 44Kahng, UCSD 2011 Embedding Rules  In each recursive call, given: l a subset of sinks S’, contained in convex polygon P(S’) l 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

45 CSE 248 Skew 45Kahng, UCSD 2011 Partitioning Rules  Goal: find a splitting line l Divides P(S’) into two convex polygons (thus partitioning the sink set between the two subtrees of v) l 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

46 CSE 248 Skew 46Kahng, UCSD 2011 Agenda  Special trees (H, Y, X)  Zero-skew tree problem and DME (BK92, CHHBK92) l 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)

47 CSE 248 Skew 47Kahng, UCSD 2011 Prescribed Delays by Linear Programming  Oh, Pyo, Pedram 1996 l Topology and sink locations are given l 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.


Download ppt "CSE 248 Skew 1Kahng, UCSD 2011 CSE248 Spring 2011 Skew."

Similar presentations


Ads by Google