a technique for performance-driven routing

2 downloads 0 Views 464KB Size Report
current technology on spanner graphs, the bounds on the total length of the tree cannot be made arbitrarily small. An empirical study will be included in the full.
Mixed Spanning Trees: A Technique for Performance-Driven Routing Jeffrey S. Salowe*!

Dana S. Richards;

Dallas E. Wreget

+Department of Computer Science, University of Virginia, Thornton Hall, Charlottesville, Virginia 22903 $National Science Foundation, 1800 G Street, N.W., Washington, D.C. 20550

Abstract

properties can be constructed using a Dijkstra-like algorithm. The resulting tree behaves well in practice; that is, its length is generally not much longer than the length of a minimum spanning tree, and its radius is not much greater than the radius of a shortest-path tree. Unfortunately, the theoretical analysis is incomplete. Boese et al.[3] consider a different distance measure, the Elmore delay model, and they provide constructions that attempt to minimize Elmore delay. We develop a different strategy; this strategy has some advantages and disadvantages over the ones cited above. One advantage is that more properties are under the control of the designer. For instance, we can minimize shortest-path distance, bottleneck distance, or a combination of both and still provide a provable performance guarantee on the total length of the tree. One disadvantage of our approach is that, given the current technology on spanner graphs, the bounds on the total length of the tree cannot be made arbitrarily small. An empirical study will be included in the full paper. Given G, the first step in our approach is to construct a low-weight graph k-spanner GI [4] (see below for the definition). With G’, the second step is to find a spanning tree of GI based on some criterion; since GI is a low-weight graph spanner, there is a provable performance guarantee on the total length of the spanning tree. If an actual single-source shortest path tree for GI was found, the resulting tree T would have properties of both a minimum spanning tree and a shortestpath tree; that is, there would be provable bounds on the length of T and on the source-to-sink distances. However, we add flexibility to the second step by modifying the so-called labeling step in the shortest-path algorithm. As an example, we construct a family of spanning trees having three properties: short radius, short maximum edge length, and small total length. These properties correspond to single-source shortestpath trees, bottleneck spanning trees, and minimum spanning trees. The family is associated with a parameter that emphasizes either single-source shortest-path or bottleneck spanning trees; the designer can adjust

We present a new strategy for performance-driven global routing. This strategy focuses on the creation of spanning trees whose properties are under the control of the designer; we apply this strategy to construct a spanning tree with simultaneous, provable performance guarantees on total length, single-source shortest path length, and bottleneck path length. For rectilinear problems on n terminals in the plane, such a tree can be constructed in O(n1ogn) time.

1

Iiitroductioii

There has been recent work Awerbuch el al.[2], Cong et a1.[6] and Khuller et di9]) on finding trees with properties of both shortest-path and minimumweight spanning trees. In the VLSI community, this work falls under the aegis of performance-driven global routing, the purpose being to decrease the maximum source-to-sink signal delay for a critical net without drastically increasing the total length of the interconnection. Specifically, let G = (V,E be a graph with n nodes and in positively-weighted e ges. There is a distinguished vertex called the source, and all other vertices are called sinks. Let the radius of G, the length of a maximum-length shortest source-to-sink path, be R, and let the length of a minimum spanning tree of G be L. Cong et a1.[6] proposed an algorithm to construct a tree whose radius is at most ( 1 + E ) Rand whose length is at most ( 1 3 ) L . Here, E > 0 is a parameter which is chosen by the designer. Khuller et 01.[9] proposed an algorithm with similar characteristics, though their result is somewhat stronger than the work of Cong el al. in that their shortest-path results are phrased in terms of distance from the source, not graph radius. Khuller et al. also show their bounds are tight; the reader should refer to those papers for a precise statement of the results and an extensive literature survey. There is additional work on performance-driven routing. Alpert e l a / . [ l ] observed that a tree having both shortest-path and minimum spanning tree

1

+

*Supportedin part by NSF Grant MIP-9107717.

62

1066-1395/93$3.00 Q 1993 IEEE

labeling step is: if d[v] > then direct the parent pointer

the parameter as desired. We note that this flexibility should prove useful in VLSI design. In particular, the bottleneck criterion was studied by Chiang et al. 51, and Boese et al. argue that the Elmore delay mode is superior to path length for describing timing information. Until recently, Elmore delay was approximated by the actual path length. It would be interesting to tailor the labeling step to better approximate Elmore delay. This paper has the following structure. In Section 2, we study the properties of a generalization of the labeling method for shortest-path trees. Then, in Section 3, we illustrate this technique by studying a particular labeling step that reflects properties of both a shortest-path tree and a bottleneck spanning tree. Section 4 shows that, for general graphs, the bounds obtained in Section 3 are tight. Finally, in Section 5, we use recent results on graph spanners (see Chandra et a1.[4]) to bound the total length of the spanning tree.

f

2

all edges

Lemma 1 Suppose that f ( g ( z ) , y ) 2 c. T h e n t h e labeling method terminates.

The arguments for correctness and termination are similar to those of Tarjan[11] and are omitted. We state the following for future reference. Lemma 2 T h e labeling method maintains a n invariant that, if d [ u ] is finite, there is a path f r o m s t o U , s = uo, u1,. . . , u t = U , such that d[u] = Fk, where

Fo = 0 = f ( g ( F i ) , h ( W ( . u i , ui+i))), 0 L I

Fit1

-

1.

Lemma 3 I f P is any path s = vo,v i , . . . , Vj = U f r o m s t o vertex v, then Fj 2 d[v] at termination, where

The Labeling Method

Efficient single-source shortest-path algorithms can be put into a unifying framework by a general procedure known as the labeling method[ll]. Let G be a directed graph with a specially designated source node s, and let w(u, U) be the weight of edge e = ( U , v); recall that the edge weights are positive. If the input graph is undirected, turn it into a directed graph G by replacing each undirected edge with two directed ones. In the labeling method, two parameters are associated with each vertex v, a parent pointer 7r[v] and a number 4.3. Initially, all parent pointers are NIL, d[s] = 0, and d[v] = CO, v # s. The labeling method a.pplies a sequence of labeling steps to construct a shortest-path tree, a tree in which the path from s to v is a shortest path from s to v in G. A labeling step considers an edge ( U , v) E E : if d[v] > d[u] w(u, v), then d[v] is set equal to d[u] w(u, v), and the parent pointer of w is directed towards U . This labeling step is repeated, in an arbitrary order, until d[v] 5 d[u] w(u, v) for every edge ( U , v). It is well known that bottleneck shortest path problems can also be put into this framework. The- bottleneck shortest path problem is to find, for each vertex v, a path from s to v in which the length of a longest edge is minimized. The resulting spanning tree is a bottleneck spanning tree. The labeling step is: if d[v] > max{d[u w(u,v)},then d[v] is set equal to max(d[u], w(u, v)), and the parent pointer of v is directed towards U . The method stops when d[v] 6 max{d[u], w(u, U)} for all edges ( U , w). In each case, it IS possible to show that the corresponding labeling method converges in a finite number of steps to the correct solution. Convergence and correctness informally rely on the following observations. The problem parameter d[v] can only take on a finite number of values, some d[v] decreases with each labeling step, and the parent pointers always form a tree with s as the sink. Further, there is some path from s to v that realizes d[v].

+

( U , v).

Fo Fi+i

= 0 = f ( g ( F i ) , h ( w ( v i ,v i + i ) ) ) , 0 L i I j

- 1.

If the condition stated in Lemma 1 holds, a Dijkstra-like implementation is possible. Provided f , g , and h can be applied in one step, the time complexity is O(m+n log n ) using the Fibonacci heap and O ( n 2 )using simple data structures.

3

Mixed Trees

Shortest-Path

Bottleneck

As a specific example of the flexibility of the labeling method, we consider the following labeling step: if d[v] > (d[uIt w(u, v ) ~ ) ' / then ~ , direct the parent pointer of v to u and set d[v] = (d[u]' w ( ~ , v ) ~ ) l / ~ . The method halts when d[v] 5 (d[uIt w(u, v)t)l/t for all edges ( u , v ) . We call this labeling step the shortest-path bottleneck labeling step and the tree a mixed shortest-path bottleneck tree, for the reasons given below. Let Ts be a shortest-path tree and let TB be a bottleneck spanning tree. Let the distance from s to w in tree T be f~(v), and let the length of a longest edge in the path from s to v in T be 6 ~ ( v ) . If T = Ts, abbreviate fTs(v) as f ( v ) , and if T = TB,abbreviate 6 ~ ~ ( v b(v). ) Furthermore, let the link distance from s to v In tree T be the number of edges in the path from s to v. We first deal with termination, which follows from Lemma 1, given that f(c) = clit, g ( c ) = ti,and h(t) = c t .

+

+

+

+ +

Lemma 4 T h e labeling method based o n the shortestpath bottleneck labeling step terminates if all edge weights are nonnegative or if t is a n even integer.

63

The quantity f ~ ( v ) is given by

Since we assume all edge weights are positive, termination of the labeling method on mixed shortest-path bottleneck trees is guaranteed. What properties does a mixed shortest-path bottleneck tree have? We prove the following theorem:

U-

Let W ( V k , Vk+1) = a k . w e must compare A = ~",l:, to B = ( C ~ = ~ a ~ Note ) l /that '.

Theorem 1 Let G be a graph having nonnegative edge weights, and let t 2 1. T h e labeling method produces a tree T having f ~ ( v ) In ' - ' l ' f ( v ) and 6T(v) 5 n11t6(v)f o r every vertet U.

C=

e=(-$) A

A =-p l - l / t .

I pl-'/'B,

as claimed. 0

Lemma 6 ST(O) i- 1

)

l/'

B,

This implies that

Proof: Let the path from s to v in T be s = vo,v1,. . . , up = v. Let a shortest path from s to v (i.e., a path in T s ) be s = ~ 0 ~ x 1. .,,.t p= v. We first show that, a t termination,

d - 0

k=O

and that

Lemma 5 fT(v)5 p ' - ' / * f ( v ) .

w ( v k ,v k + l ) t

(2(t)') I

ak

11'

The proof follows immediately from the two lemmas given below. Let v be a vertex, let the link distance from s to v in T be p , and let the link distance from s to v in TB be q.

d[vi] =

1

I q1/'6(v).

Proof: Again, let the path from s t o v in T be

.

s

= vo,v1, . . . , up = v ; recall that

l/'

The proof is immediate from Lemma 2 and the observation that and that for any other path s = uo, u1,. . . , uq = v from s to U , i-1

Let s = uo, u1, . . . ,uq = v be a bottleneck shortest path from s to v ; by the observation above Lemma 3 implies that, at termination, any path s = uo, u1,. . . , v = uq from s to v satisfies

Note that In particular, this implies that, at termination, and r-1

Finally, we show that f ~ ( v )5 p l - l / ' d [ v ] , proving the result.

as asserted. 0

64

4

Lower Bounds

There are two issues to address on lower bounds. First, we must determine if our algorithm analysis is tight, and second, we must determine if some other algorithm can do better. We begin by showing that our algorithm analysis is tight for graphs not satisfying the triangle inequality. That is, there are point sets for which our algorithm actually attains f T ( v ) = n ' - ' / ' f ( v ) - E or 6 T ( v ) = n'/'d(v) - E . We can also exhibit complete Euclidean graphs, which do satisfy the triangle inequality, with the same properties (complete Euclidean graphs are defined below); the proof is omitted.

Table 1: Summary of Chandra et al.

Proof: Let G be the same graph as before, and let edge (s,v)have weight nY. If T contains edge (s,v), then 6 ~ ( v= n7, and 6(v) = 1. Otherwise T does not contain e ge ( s , v ) , and f ~ ( v )= n - 1, while f ( v ) = nr. 0 In the sense above, our algorithm is the best possible. It is relevant, however, to study the trade-off between these bounds. Our analysis shows that our algorithm satisfies f~(v)S~(v)5 n f ( v ) S ( v ) ,and there are point sets for which this bound is nearly attained. However, it is not clear that this behavior is intrinsic to all algorithms. If we set y = in the proof of Theorem 2, we see that there are point sets such that for any algorithm, ~T(v)~T(v) 2 n'/2f(v)6(v). It would be interesting to close this trade-off gap.

d

Lemma 7 There i s a graph G = (V,E ) on n vertices and a vertex v E V f o r which, using the algorithm above, fT(v) = n ' - l / ' f ( v ) - E , where E > 0 is a small positive number. Proof: Fix a particular value of t , and consider the following graph on n vertices. Since the triangle inequality does not necessarily hold, we may assume that any unspecified edges have enormous length. There are n specified edges, arranged as a single circuit. Label the vertices as s = vo, 211,. . . , V , ~ - I = v. The circuit connects the vertices in this order. Let edges of the form ( v i , v i + l ) , 0 5 i < n - 1, have weight 1, and let edge ( s , ~ )have weight n'/'. At termination of the labeling algorithm, all the unit length edges will be included in tree T . This implies d [ v ] = ( n - I)'/' < n'/'. Since f(v) = n'lt, fT(v) = n l - ' / ' f ( v ) - E .

4

5

Decreasing the Total Length

The preceding sections presented and illustrated a strategy to construct single-source spanning trees. Note, however, that no emphasis was placed on the total length of these trees. In order to have provable bounds on tree length, we resort to a different technology, that of spanner graphs. A spanner graph is a sparse graph that retains the path properties of the original graph. There has been much recent activity on spanner graphs; Chandra et a1.[4] contains a good bibliography. Let G = (V,E ) be a weighted graph; a subgraph G' = (V,E') is a k-spanner of G if for all U , v E V , the distance between U and v in GI is a t most k times the distance between U and v in G. There is an interesting special class of graphs called complete Euclidean graphs in which V is a set of points in d-dimensional space, E is the complete set of edges, and the weight between a pair of points is given in an L, metric. Results for graph spanners are generally stronger for complete Euclidean graphs. Chandra et al.[4] studied the problem of computing minimum-weight graph spanners of G. We briefly summarize their results in Table 1. To interpret the table, let w(G) be the sum of the edge weights in graph G, let MST be a minimum spanning tree of G, and let a ( n )satisfy w(G') 5 a ( n ) w ( M S T ) where , GI is the constructed k-spanner. Also assume that the number E > 0 is arbitrarily small and that S ( n ) is the number of edges in the spanner. A ( n ) denotes the running time of the construction. There are even better results for complete Euclidean graphs in low dimensional spaces. Levcopou10s and Lingas[lO] gave a linear-time construction of a

Lemma 8 There is a graph G = (V,E ) o n n vertices and a vertex v E V f o r which, using the algorithm above, ~ T ( v = ) n1/'6(v) - E , where E > 0 as a small positive number. Proof: Let G be a graph with the same vertex and edge set as the preceding proof, but with slightly different edge weights. As before, let the weight of edge (vi,v;+l), 0 5 i < n - 1, be 1, and let the edge ( s , v ) have weight ( n - 1)'I' - E . Note that 6(v) = 1. The tree T contains the edge ( s , v ) , so &(TI) = ( n 1)1/' - E . 0 One can also show that there are point sets for which our algorithm attains both extremes simultaneously. This point set is a minor perturbation of the ones given above, and it is omitted. We now consider lower bounds on any algorithm creating mixed shortest-path bottleneck spanning trees.

Theorem 2 For any number 0 < y < 1, there is a graph G = (V,E ) on n vertices and a vertex v E V f o r which any spanning tree T satisfies either fT(v) = %f(w) or 6T(v) = nY6(v).

65

References

planar spanner graph based on the Delaunay triangulation. The spanning factor k is at most 2 r + 1, where r is a positive rational, and a(.) 5 (1 f)-. The spanner has O ( n ) edges. Das, Heffernan, and Narasimhan recently devised a construction having O(?) edges and a(.) = O(n) for three-dimensional point sets[7]. Given these results, consider the following algorithm. Given G, use an appropriate algorithm to construct a spanner G’ of small total weight. Then, use an appropriate labeling algorithm to construct a spanning tree. As an illustration, we apply the results of the preceding sections to obtain the following theorem.

[l] C. J . Alpert, T . C. Hu, J. H. Huang, and A. B. Kahng, “A Direct Combination of the Prim and Dijkstra Constructions for Improved PerformanceDriven Global Routing,” TR CSD-920051, UCLA Department of Computer Science, (1992).

+

[2] B. Awerbuch, A. Baratz, and D. Peleg, “Costsensitive analysis of communication protocols,” Ninth Symposium on Principles of Distributed Computing, (1990), 177-187. [3] K. D. Boese, A. B. Kahng, and G. Robins, “Highperformance routing trees with identified critical sinks,” T R CS-92-37, Univ. of Virginia Department of Computer Science, (1992).

Theorem 3 Let t 2 1 and k > 1. The algorithm above constructs a tree T with the following three properties: (1) For a / / v E V , fT(v) knl-’ltf(v), (2) for all v E V , 6 ~ ( v )5 kn’/t6(v), and (3) w(T)5 a ( n ) w (M S T ) .

[4] B. Chandra, G. Das, G. Narasimhan, and J. Soares, “New sparseness results on graph spanners,” Eighth A C M Symposium on Computational Geometry, (1992) 192-201.

Suggest Documents