1. Trang chủ
  2. » Khoa Học Tự Nhiên

Handbook of algorithms for physical design automation part 66 pptx

10 163 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 161,51 KB

Nội dung

Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 632 9-10-2008 #7 632 Handbook of Algorithms for Physical Design Automation 32.4 SIMPLEX ALGORITHM WITH COLUMN GENERATION The first algorithm to solve the fractional global routing problem (Equation 32.2) by Hu and Shing in 1985 [15] used the simplex algorithm by Dantzig in 1951 [16] with column generation. This method finds an optimal solution even though it does not explicitly enumerate all the possible Steiner trees, nor has variables for all Steiner trees in memory. The method is limited in the size of the problem instances, and hence Hu and Shing propose a decomposition and cut-and-paste approach. In this section, we show how the simplex algorithm with column generation is applied to the fractional global routing problem. The simplex method goes from vertex to vertex along edges of the polyhedron underlying the linear program until an optimal vertex is reached. For a complete description of the simplex method, we refer the reader to Refs. [12,13,17]. Interesting is that this method requires a subroutine that computes minimal Steiner trees for nets with respect to a nonneg- ative length function on the edges, a subroutine that is also required by the approximation schemes is presented later. The linear program of the fractiona l global routing problem (Equation 32 . 2) can be rewritten with matrices as follows in a standard form for linear programs: min ⎧ ⎨ ⎩ λ :  M −cI N 00  ⎛ ⎝ x λ v ⎞ ⎠ =  0 1  , x, λ, v ≥ 0 ⎫ ⎬ ⎭ (32.4) In this linear program, the first constraint  M −cI  ⎛ ⎝ x λ v ⎞ ⎠ = 0 corresponds to the capacity constraints on the edges, the first inequality in Equation 32.2. Each row corresponds to an edge and each column of the m atrix M corresponds to a Steiner tree T for a net i and is the incidence vector for the edges of the corresponding Steiner tree. The vector v contains slack variables for the equality constrains. The second constraint  N 00  ⎛ ⎝ x λ v ⎞ ⎠ = 1 of the linear program ensures that the weights x i,T for each net i and all Steiner trees T for the net sum up to 1, the second inequality in Equation 32.2. The matrix N has one row for each net and each row is the incidence vector for all the Steiner trees of the corresponding net. The dual of this linear program is as follows: max{1z : zN ≤ yM, yc ≤ 1, y ≥ 0} (32.5) The simp lex method requires an initial vertex of the polyhedron as a starting point and basis of the matrix A =  M −cI N 00  : for each net i, pick one Steiner tree T arbitrarily, set x i,T , = 1, and the corresponding column of  M N  i,T becomes part of the basis. Next,  −c 0  is part of the basis. We can assume that this column is always part of the basis, because λ does not become 0. Finally, for all edges that do not have the maximum relative congestion, the corresponding columns  I 0  e are part of the basis. In case several edges have the maximum relative congestion, additional columns  I 0  e are chosen until the basis has |E|+k columns. We denote by   M N  B 1  −c 0  1 0  B 2  the matrix Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 633 9-10-2008 #8 Optimization Techniques in Routing 633 that has all the columns for the basis. This matrix has the full rank and can be inverted. The simplex algorithm computes a dual solution as follows: (−y, z) =   M N  B 1  −c 0  I 0  B 2  −1 ⎛ ⎝ 0 1 0 ⎞ ⎠ The algorithm checks if this is a feasible dual solution: We have yc = 1 because  −c 0  is part of the basis. Checking y ≥ 0 is straight forward. The inequality zN ≤ yM is checked by computing a minimal Steiner tree for each net i with respect to the length function y e , e ∈ E and comparing this length with z i . We will later see that the approximation algorithms require the same subroutine. If (y, c) is a feasible dual solution, the vertex for the primal linear program is an optim al solution. Otherwise a column correspondingto a violated constraint becomespart o f the basis, another column leaves the basis,and if thevertex wasnot degenerate, anew vertexis computed.The simplexalgorithm terminates in the worst case, after exponentially many steps; however, in practice, it is reasonably fast for most applications. We conclude this section by mentioning another linear programming approach for the global routing problem by Vannelli from 1989 [18]. In a first step, Vannelli reduces the complexity and size of the linear program by restricting the set of Steiner trees to only the minimal or near-minimal Steiner trees using also the result by Hanan, that a shortest rectilinear Steiner tree can be found in the grid induced by the terminals [19]. This restriction of the solution space may of course result in a suboptimal solution of the fractional global routing problem. Then he uses the Karmarkar algorithm [20], an interior point algorithm, whichmovesthrough the interiorof the feasible region and reaches the optimal solution asymptotically. The runtime of the Karmarkar algorithm is polynomial, but it has the disadvantage compared to the simplex algorithm that it requires the complete linear program as input. 32.5 MULTICOMMODITY FLOW AND FRACTIONAL PACKING PROBLEMS In this section, we give an overview about multicommodity flow and fractional p acking problems. These problems are similar to the fractional global routing problem. In fact, the fractional packing problem is a g eneralization of the fractional global routing problem. There have been many advances in the field of approximation algorithms for multicommodity flow and fractional packing problems and we will apply these to the fractional glob al routing problem in the next section. For this section, let G = (V, E) be a directed graph with an edge utilization (or capacity) function c : E → R + .Foravertexv ∈ V we denote by δ + (v) all outgoing edges of v and by δ − (v) all incoming edges of v.Lets (the source) and t (the sink) be two specified vertices. An s–t flow is a function f : E → R + , which fulfills the flow conservation rule  e∈δ − (v) f (e) =  e∈δ + (v) f (e) for all v ∈ V \{s, t} and the capacity constraints f (e) ≤ c(e) for all e ∈ E.Thevalueofans–t flow f is defined as value(f ) :=  e∈δ − (s) f (e) −  e∈δ + (s) f (e). It is possible to decompose an s–t flow into at most m =|E| flows along s–t paths: Given an s–t flow f of nonzero value, we find an s–t path P with f (e)>0foralle ∈ P.Ifweset x := min{f (e)|e ∈ P}, the function f  : E → R + with f  (e) = f (e) − x if e ∈ P and f  (e) = f (e) otherwise is again an s–t flow, but it has at least one edge e with f (e)>0 less. Repeating this procedure until the value of the flow is 0 (flow along cycles may remain), we find x 1 , , x t and P 1 , , P t such that  i:e ∈P i x i ≤ f (e) for all e ∈ E. For the multicommodity flow problem, several commodities are given. Each commodity i has a source s i ,asinkt i , and a demand d i .Letk be the number of commodities. The task of the maximum-concurrent multicommodity flow problem is to find an s i –t i flow f i for each commod- ity i subject to the capacity constraints  k i=1 f i (e) ≤ c(e) for all e ∈ E such that the total throughput µ is maximized. The value of each flow f i is at least µ d i . Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 634 9-10-2008 #9 634 Handbook of Algorithms for Physical Design Automation Other version of the multicommo dity flow problem are the maximum multicommodity flow problem for which no demands are given and just the sum of the flows is maximized and the minimum-cost multicomm odity flow problem for which a cost function for the edges is given in addition to the capacitances and the task is to minimize the total cost of all th e flows. It is possible to formulate the maximum concurrent flow problem as a linear program in which the variables are the flow values for the edges f i (e). The size of this linear program is polynomial in the size o f the input, hence we can find an optimal solution in polynomial time using the ellipsoid method [21]. However, for large problem instances, it is computationally impossible to solve the linear program optimally. Let P i be the set of all s i − t i paths. The following linear programming formulation makes use of the decomposition of flows into paths. max µ subject to  i,P:e∈P∈P i x i,P ≤ c(e) for e ∈ E  P∈P i x i,P = µd i for i = 1, , k x i,P ≥ 0fori = 1, , k; P ∈ P i (32.6) This linear program has exponentially many variables. Nevertheless, it is possible to compute an -approximate solution in polynomial time u sing this formulation implicitly as most of the variables x i,P can be 0. There has been a series of papers about fully polynomial-time approximation schemes (FPTAS) for multicommodity flow problems in the last decade. An approximation scheme is a family of algorithms that compute a solution within a factor (1 − ) of the optimal for any constant .Ifthe running time can be bounded by a polynomial depending on the input size and 1/, then the scheme is called fully polynomial time. All approximation algorithms maintain a flow and then iteratively improve it by computing single commodity flows or single commodity flows restricted to paths with respect to a cost function depending on the congestion. The fractional packing problem is a generalization of the multicommod ity flow problem. Given aconvexsetP ⊆ R n , a matrix A ∈ R m×n + , and a vector b ∈ R m , the task is to find an x ∈ P with Ax ≤ b. The approximation scheme, as for example by Plotkin et al. [4], requires a subroutine,which finds for a vector c ∈ R n + , a vector x ∈ P that minimizes c T x. The fractional global routing problem is a special case of the fractional packing problem: The convex set P is given by the constraints  T∈T i x i,T = 1fori = 1, , k and x i,T ≥ 0fori = 1, , k, T ∈ T i and the constraints Ax ≤ b represent the constraints  i,T :e∈T∈T i x i,T ≤ λc(e) for e ∈ E. The subroutine needs to find a Steiner tree for each net minimizing a cost function and this cost function is the sum of some nonnegative cost of the edges of the Steiner tree. 32.6 FULLY POLYNOMIAL-TIME APPROXIMATION SCHEME FOR F RACTIONAL GLOBAL ROUTING In this section, we present and describe a fully polynomial-time approximation scheme for the fractional globalrouting problem. Carden et al. in 1996 [22] were the first to apply a multicommodity flow approximation algorithm to global routing. They use the approximationalgorithm by Shahrokhi and Matula [3]. The approximation scheme presented here, first published in Ref. [9], is based on the approximation scheme by Garg and Könemann [6], but also use ideas from Fleischer [7]. The Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 635 9-10-2008 #10 Optimization Techniques in Routing 635 approximation scheme iteratively finds Steiner trees with respect to dual lengths y e , then adjusts the dual lengths just for the Steiner tree found. 32.6.1 APPROXIMATION SCHEME MINIMIZING THE RELATIVE CONGESTION The approximation scheme that solves the fractional global routing problem for any given approximation ratio 1 + 0 is shown in Figure 32.3. The variables are initialized in lines 1 and 2 . The algorithm is called with the parameters  and M. The proof of the theorem in this section will show which value to choose for these parameters to get the desired approx imation ratio. The algorithm runs through several phases. A phase starts in line 4 and ends in line 11. For each net i, a minimal Steiner tree T ∈ T i with respect to lengths y e , e ∈ E is computed (line 7). For this Steiner tree, the variable x i,T is increased by 1 ( line 8). To achieve that for each net i,thevariables x i,T , T ∈ T i , sum up to 1, all variables x i,T are divided by the total number of phases at the end o f the algorithm. Finally, the dual variables y e are increased for all edges used by the Steiner tree T (line 9). The variables are increased more if the net uses a greater fraction of the capacity of the edge. Theorem 2 If there exists a solution for the fractional global routing problem with maximum relative congestion at most 1, the algorithm finds a ( 1 + 0 ) -approximation in O  1  2 0 λ ∗ ln m  phases, if  := min  1, 1 4  1 −  1 1 + 0  1 3  and M :=  m 1−   1   with   :=  ( 1+∈ ) . Moreover, the variables y e , e ∈E , provide at some time during the algorithm a ( 1 + 0 ) − approximation for the dual linear program. The total number of phases of the algorithm depends on λ ∗ , but usually in the application of global routing λ ∗ is not arbitrarily small, for example, we can assume λ ∗ ≥ 1 2 . To prove this theorem, we follow the proof by Garg and Könemann [6], but also use parts from the proof by Fleischer [7] because we have a modified update rule for y e . Proof Let t be the total number of phases executed by the algorithm. We will prove that if the algorithm had stopped one phase before the last one, namely after t − 1 phases, the solution would have had the desired approximation ratio. (1) Set y e : = 1 c(e) for all e ∈ E . (2) Set x i,T : = 0 for i = 1, ,k; T ∈ T i . (3) While   e∈E c(e)y e < M  (4) begin (5) For i := 1tok (6) begin (7) Find a minimal Steiner tree T ∈ T i for net i with respect to length y e ,e∈ E. (8) Set x i,T : = x i,T + 1. (9) Set y e : = y e e  1 c(e) for all e ∈ T . (10) end (11) end FIGURE 32.3 Approximation scheme for fractional global routing. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 636 9-10-2008 #11 636 Handbook of Algorithms for Physical Design Automation Let y (p,i) e be the value of variable y e ,afterneti has been considered in phase p and y e has been increased in line9, y (0,0) e = 1 c(e) and lety (p) e := y (p,k) e be thevalue atthe end ofphase p. So we compute the minimal Steiner tree in phase p and iteration i with y (p,i−1) e as edge lengths. At the beginning, we have  e∈E c(e)y (0) e =  e∈E c(e) 1 c(e) = m (32.7) When the dual variables y e are increased in line 9 after a Steiner tree T has been found, the expression  e∈E c(e)y e increases, and we have  e∈E c(e)y (p,i) e =  e/∈T c(e)y (p,i−1) e +  e∈T c(e)y (p,i−1) e e  1 c(e) ≤  e/∈T c(e)y (p,i−1) e +  e∈T c(e)y (p,i−1) e  1 + 1 c(e) +  2  1 c(e)  2  For the last inequality, we used e x ≤ 1 +x +x 2 for 0 ≤ x ≤ 1. We can assume c(e) ≥ 1 and because  ≤ 1wehavex =  1 c(e) ≤ 1. Hence,  e∈E c(e)y (p,i) e ≤  e/∈T c(e)y (p,i−1) e +  e∈T c(e)y (p,i−1) e  1 +(1 +) 1 c(e)  =  e∈E c(e)y (p,i−1) e + (1 +)  e∈T y (p,i−1) e Because y e increases only during the algorithm, for the Steiner tree T found in line 7, we have  e∈T y (p,i−1) e ≤ min T∈T i  e∈T y (p) e which means that at the end of phase p,weget  e∈E c(e)y (p) e ≤  e∈E c(e)y (p−1) e +∈  k  i=1 min T∈T i  e∈T y (p) e (32.8) where   := (1 + ). By linear programming duality (Theorem 1), the expression λ (p) lb := k  i=1 min T∈T i  e∈T y (p) e  e∈E c(e)y (p) e is a lower bound on the maximum relative congestion, that is, λ (p) lb ≤ λ ∗ . With this, inequality (Equation 32.8) can be rewritten as  e∈E c(e)y (p) e ≤  e∈E c(e)y (p−1) e +   λ (p) lb  e∈E c(e)y (p) e which can be transformed to  e∈E c(e)y (p) e ≤ 1 1 −  λ (p) lb  e∈E c(e)y (p−1) e Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 637 9-10-2008 #12 Optimization Techniques in Routing 637 If we set λ lb := max p=1, ,t λ (p) lb , we get with Equation 32.7  e∈E c(e)y (p) e ≤ m (1 −  λ lb ) p = m (1 −  λ lb )  1 +   λ lb 1 −  λ lb  p−1 ≤ m (1 −  )  1 +   λ lb 1 −   p−1 ≤ m (1 −  ) e   λ lb (p−1) 1−  (32.9) For the last inequality, 1 + x ≤ e x for x ≥ 0isused. An upper bound on the relative congestionof anedge e can now be derived:Supposeedge e is used s times by some tree during the first t −1 phases, and let the jth increment in the relative congestion of edge e be a j := 1 c(e) for the appropriate i. After rescaling the variables x i,T , the relative congestion of edge e is λ(e) =  s j=1 a j /(t − 1). Because y (0) e = 1 c(e) and y (t−1) e < M c(e) (because the condition in line 4 still holds before the last ph ase is executed) and because y (t−1) e = 1 c(e) s  j=1 e a j we get 1 c(e) s  j=1 e a j ≤ M c(e) It follows that e   s j=1 a j ≤ M and hence λ(e) =  s j=1 a j t −1 ≤ ln M (t − 1) (32.10) Because  e ∈E c(e)y (t) e ≥ M, solving inequality (Equation 32.9) with p = t for λ lb gives a lower bound on the optimum solution value: λ lb ≥ 1 −    (t −1) ln  M m (1 −  )  from which together with Equation 32.10, we get an upper bound on the approximation ratio ρ: max e∈E λ(e) λ lb ≤ ln M ∈(t−1) 1−    (t−1) ln  M m (1 −  )  =   (1 −  ) ln M ln  M m (1 −  )  If M is now chosen to be M := ( m 1−  ) 1   ,weget ln M ln  M m (1 −  )  = 1 1 −  Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 638 9-10-2008 #13 638 Handbook of Algorithms for Physical Design Automation such that ρ ≤   (1 −  ) 2  = (1 + ) [1 − (1 +)] 2  = (1 +) [1 −(1 +)] 2 If  ≤ 1, 1 +  ≤ 2, we get ρ ≤ (1 +) (1 −4) 2 ≤ 1 (1 −4) 3  because 1 + ≤ 1 1− ≤ 1 1−4  If  is chosen such that 1 (1−4) 3 ≤ 1 + 0 , so we choose  = min  1, 1 4  1 −  1 1+ 0  1 4  we get ρ ≤ 1 + 0 . After all, we have  = O( 0 ) and also   = O( 0 ). Because max e∈E λ(e) ≥ λ ∗ , we get from Equation 32.10 that λ ∗ ≤ ln M (t − 1) which means that the maximum number of phases is bounded by t ≤ 1 + ln M λ ∗  = 1 + 1   λ ∗ ln  m 1 −   The last expression can be bounded by O( 1  2 0 λ ∗ ln m). It is important that the actual implementation does not have one single variable x i,T for every possible Steiner tree, because there are exponentially many. A variable is only needed for a Steiner tree that was at some point during the algorithm the minimal Steiner tree and found by the algorithm in line 7 and for which the variable x i,T is greater than 0. To simp lify the presentatio n of the algorithm and the p roof we have omitted one idea that gives additionalruntime improvements. The algorithmin Figure 32.3 computesa Steiner tree for allthe nets in every phase. However, this is not necessary. The length (with respect to y e ) of a newly computed Steiner tree is stored and then in the following phases a new Steiner tree is computed for the net only if the length o f the Steiner tree has increased by more than a certain factor (depending on ). It can be shown that still any approximation ratio can be achieved [9]. This idea was used by Fleischer [7] to reduc e the theoretical runtime of the maximum multicommodity flow problem. Another p ractical speedup can be achieved with the Newton method as used in Refs. [5,9]: After p phases, the last Steiner tree computed has a weight of 1 p in the current solution where all previously computed Steiner trees have a total weight of p−1 p . After each Steiner tree is computed, the Newton method is used to compute a new weight for the new Steiner tree with respect to the other Steiner trees minimizing an expression similar to ψ =  e∈E e αλ(e) . Another advantage of this approximation algorithm (compared to some rip-up and reroute algo- rithms) is that not only the maximum relative congestion is minimized, but also that the congestion of the edges is distributed and that the algorithm works toward a solution that is optimal in a well-defined sense—the vector of the relative congestion of the edges sorted in nonincreasing order is minimal by lexicographic order [9]. Reducing the congestion beyond the maximum relative congestion on some edges can speed up the local router and also improves the signal integrity. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 639 9-10-2008 #14 Optimization Techniques in Routing 639 32.6.2 APPROXIMATION SCHEME MINIMIZING THE TOTAL WEIGHTED NETLENGTH The approximation scheme described in Section 32.6.1 can be modified such that the total weighted netlength is considered and minimized subject to the condition that the maximumrelative congestion of the edges is at most 1. We follow the approach by Garg and Könemann [6] for the minimum-cost multicommodity flow problem. In addition to the capacity for each ed ge e ={u, v},theL 1 -length l(e) is given, that is, for an edge in x-ory -direction as the distance between the midpoints of the tiles corresponding to u and v. For each net i, a weight g i ∈ R + is given. We would like to minimize the total weighted netlength, which is given by the expression k  i=1 g i  T∈T i   e∈T l(e)  x i,T . Let L be a target for the total weighted netlength. Then the constraint k  i=1 g i  T∈T i   e∈T l(e)  x i,T ≤ λL (32.11) is added to the linear program (Equation 32.2) of thefractional global routing problem. This constraint is very similar to the capacity constraints for the edges, the first constraint in (Equation 32.2), and the algorithm can be modified to treat this new constraint in the same way as the capacity constraints. To minimize the total weighted netlength, we want L to be as small as possible such that λ, the maximum relative congestion, is at most 1. This is achieved by binary search over L. In practice, the netlength in the final solution is only slightly higher compared to the minimum netlength if each Steiner tree is as short as possible ignoring capacities. This gives a good estimate for L. For the dual of the linear program, an additional dual variable y L for the constraint in Equation 32.11 is needed. The dual linear program is given by max k  i=1 z i subject to  e∈E c(e)y e + Ly L = 1  e∈T [y e + g i l(e)y L ]≥z i for i = 1, , k; T ∈ T i y e ≥ 0fore ∈ E y L ≥ 0 Figure 32.4 shows the modified approximation scheme. During the algorithm, minimal Steiner trees are computed with respect to the length y e + g i l(e)y L for net i and edge e ∈ E (line 7). The length of an edge e is the sum of the congestion cost y e and the wirelength cost g i l(e)y L of the edge. With the assumption that g i  e∈T l(e) ≤ L for each Steiner tree T found in line 7 (which usually holds for the global routing problem), the proof in Section 32.6.1 can be extended to show that a (1+ 0 )–approximation for the fractional global routing problem with the constraint in Equation 32.11 is found by the algorithm in Figure 32.4 in O  1  2 0 λ ∗ ln m  phases. If for some Steiner tree T we have Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 640 9-10-2008 #15 640 Handbook of Algorithms for Physical Design Automation (1) Set y e : = 1 c(e) for all e ∈ E and y L : = 1 L . (2) Set x i,T : = 0 for i = 1, ,k ; T ∈ T i . (3) While   e∈E c(e)y e + Ly L < M  (4) begin (5) For i := 1 to k (6) begin (7) Find a minimal Steiner tree T ∈ T i for net i with respect to lengths (y e + g i l(e)y L ),e∈ E. (8) Set x i,T : = x i,T + 1. (9) Set y e : = y e e  1 c(e) for all e ∈ T. Set Y L : = y L e  g i  e∈T l(e) L (10) end (11) end FIGURE 32.4 Approximation scheme for fractional global routing optimizing the total weighted netlength. g i  e∈T l(e)>L,variablex i,T in line 9 is increased only by L/[g i  e∈T l(e)], and another Steiner tree has to be found for the same net until the total increment of  T∈T i x i,T is 1 (for details see Ref. [6]). 32.7 RANDOMIZED ROUNDING So far we have focused on solving the linear relaxation of the global routing problem. To come from a fractional solution of the global routing problem to an integer solution it is necessary to choose one Steiner tree for each net. This is done by randomized rounding, a technique developed by Raghavan and Thompson [1,2], which we present in this section. The technique of randomized rounding can be summarized as follows: RULE 32.1 Independently for each net i choose randomly one Steiner tree out of the set T i .The probability to choose Steiner tree T is x i,T . The expected value for the relative congestion of an edge or of the maximum relative congestion after randomized rounding is equal to the relative congestion of the fractional solution. Randomized rounding may increase the relative congestion of some edges.However, it is possible to prove that there is a positive probability that the relative congestion does not increase by more than by a certain factor, and this factor decreases with increasing capacity of the edges. We will present these results with the proofs. In the following, we denote the probability of an event by P[·] and the expectation of a random variable X by E[X]. The following lemma was proved in this version by Raghavan and Spencer [23], and gives a variation of Chernoff’s bound [24]. The lemma bounds the tail of the distribution of the sum of independent random variable in [0,1]. To simplify the notation, we use b() := (1 +)ln(1 +) −. For small values of , b() is approximately 1 2  2 . Lemma 1 Let X 1 , , X t be independent random variables in [0, 1].LetX :=  t p=1 X p , µ>  t p=1 E[X p ] and >0.Then P[X ≥ (1 +)µ]≤ 1 e b()µ Proof We first consider the case µ =  t p=1 E[X p ]. Using (1) the Markov inequality, (2) the independence of the random variables X 1 , , X t , (3)(1 + ) x ≤ 1 + x for 0 ≤ x ≤ 1, and (4) 1 +x ≤ e x , we compute Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 641 9-10-2008 #16 Optimization Techniques in Routing 641 P[X ≥ (1 +)µ]=P[(1 +) X ≥ (1 +) (1+)µ ] = P  (1 +)  t p=1 X p ≥ (1 +) (1+)µ  = P   t p=1 (1 +) X p (1 +) (1+)µ ≥ 1  (1) ≤E   t p=1 (1 +) X p (1 +) (1+)µ  (2) =  t p=1 (1 +) E[X p ] (1 +) (1+)µ (3) ≤  t p=1 (1 +E[X p ]) (1 +) (1+)µ (4) ≤  t p=1 e E[X p ] (1 +) (1+)µ = e   t p=1 E[X p ] (1 +) (1+)µ = e µ (1 +) (1+)µ = 1 e b()µ The lemma also holds if µ>E[X]. We add additional independent random variables in [0,1] to X until µ = E[X]. This only increases P[X ≥ (1 +)µ]. For an edge e ∈ E, we denote the relative congestion after randomized rounding with respect to Rule 32.1 by ˆ λ(e). The probability that the relative congestion of one edge increases by at least a factor of (1 + ) can be bounded as follows: Lemma 2 P[ ˆ λ(e) ≥ (1 +)λ]≤ 1 e b()c(e)λ Proof We apply Lemma 1: for i = 1, , k, let the random variable X i be 1 if for net i a Steiner tree is chosen that uses edge e, and zero otherwise. The variables X 1 , , X k are independent random variables in [0,1] and with X :=  k i=1 X p ,wehaveE[X]=c(e)λ. Then, we have P[ ˆ λ(e) ≥ (1 +)λ]=P[X ≥ (1 + )c(e)λ]≤ 1 e b()c(e)λ . Finally, theprobability of the overall failure, that is, theprobability that any one edge has a relative congestion o f at least (1 +)λ can now be bounded. Let ˆ λ := max e∈E ˆ λ(e) be the maximum relative congestion after randomized rounding and C := min e∈E c(e). Theorem 3 P[ ˆ λ ≥ (1 + )λ]≤  e∈E 1 e b()c(e)λ ≤ m e b()Cλ If  is chosen so large that the expression m e b()Cλ is smaller than 1, then the probability of success, ˆ λ<(1 +)λ, is positive. Repeating the randomized rounding experiment increases the probability that one of the experiments is successful. It is possible to derandomize this random experiment. Assuming that for some nets a Steiner tree has already been chosen and that for each remaining net a Steiner tree is chosen according to Rule 32.1, the probability of failure is computed. This is a pessimistic estimator. It is then possible to choose one Steiner tree for the next net such that the probability of failure does not increase. Because the total probability was smaller than 1 at the beginning, in the end this probability is also smaller than 1, and because the Steiner trees for all nets are chosen, the final solution has to be a success. 32.8 EXTENSIONS The approach of solving a fractional global routing problem and then applying randomized round- ing has been used successfully in practice and has been extended to consider additional tasks and objectives. Albrecht et al. [25] consider the problem of finding global routes that need to buffered. In addition, the sizes of the buffers and the widths of the wires are optimized. Some areas on the . scheme for fractional global routing. Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 636 9-10-2008 #11 636 Handbook of Algorithms for Physical Design Automation Let. m  phases. If for some Steiner tree T we have Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 640 9-10-2008 #15 640 Handbook of Algorithms for Physical Design Automation (1). −  )  = 1 1 −  Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C032 Finals Page 638 9-10-2008 #13 638 Handbook of Algorithms for Physical Design Automation such that ρ ≤   (1

Ngày đăng: 03/07/2014, 20:20

TỪ KHÓA LIÊN QUAN