Budget Management with Applications

Size: px
Start display at page:

Download "Budget Management with Applications"

Transcription

1 Algorithmica (2002) 34: DOI: /s Algorithmica 2002 Springer-Verlag New York Inc. Budget Management with Applications Chunhong Chen, 1 Elaheh Bozorgzadeh, 2 Ankur Srivastava, 2 and Majid Sarrafzadeh 2 Abstract. Given a directed acyclic graph with timing constraints, the budget management problem is to assign to each vertex an incremental delay such that the sum of these delays is maximized without violating given constraints. We propose the notion of slack sensitivity and budget gradient to demonstrate the characteristics of budget management. We develop a polynomial-time algorithm for the budget management problem, based on the maximum independent set of an established transitive graph. We show the comparison of our approach with the well-known zero-slack algorithm, and extend it to general weighted graphs. Applications to a class of problems in VLSI CAD are also discussed. Key Words. Budget management, Slack assignment, Directed acyclic graphs, Transitive graphs, Maximum independent set, Timing constraints, VLSI CAD. 1. Introduction. Consider a directed acyclic graph G = (V, E), where V is a set of vertices and E is a set of directed edges. A set of sources (or primary inputs), I V,isa set of vertices without incoming edges, and a set of sinks (or primary outputs), O V, is a set of vertices without outgoing edges. Given I signals each starting from a source I i I at the time a(i i ), we consider their propagation towards O along directed edges and vertices in G, assuming that each vertex v V is associated with a delay d(v) 3 which represents the time it takes for a signal to pass through v and that there is no delay on edges. 4 The latest time of signals to arrive at the output of any vertex v V\I is given recursively by (1) a(v) = max (a(u) + d(v)), u FI(v) where FI(v) is a set of (immediate) predecessors (or fanins)ofv, and a(v) is called the arrival time of v. If the signal at a sink O j O is required to arrive by the time r(o j ), it is required to arrive at the output of any vertex v V\O by the time (2) r(v) = min (r(w) d(w)), w FO(v) where FO(v) is a set of (immediate) successors (or fanouts)ofv, and r(v) is called the required time of v. The slack, s(v), for vertex v is the difference between r(v) and a(v), i.e., s(v) = r(v) a(v). 1 Department of Electrical and Computer Engineering, University of Windsor, Ontario, Canada N9B 3P4. cchen@uwindsor.ca. 2 Computer Science Department, University of California, Los Angeles, CA 90095, USA. {apple, majid}@ cs.ucla.edu. 3 d(v) is assumed to be zero for any v I O. 4 In some applications, edge delay, if any, can be included in vertex delay. Received May 20, 2000; revised November 8, Communicated by C. K. Wong. Online publication July 24, 2002.

2 262 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh The delay distribution of G is a vector of delays D(V) = [d(v 1 ) d(v 2 ) d(v n )] (where n = V ). Similarly, a vector of slacks S(V) = [s(v 1 ) s(v 2 ) s(v n )] is called the slack distribution, and S(V) = n k=1 s(v k) is called the total slack (denoted by S t ). G is said to be (timing) safe if and only if S(V) 0, where 0 is an n-dimensional vector with all elements being zero. Throughout the paper, the graph under consideration is assumed to be safe initially, unless otherwise stated. In fact, if G is initially unsafe by this definition, it can be made safe by, for example, relaxing/increasing the required times for some (or all) sinks. (If this were not possible, one could re-define the safety of a graph as follows: G is said to be safe if and only if S(V) [s min s min s min ], where s min < 0 is the minimum slack in G. This guarantees the initial safety of the graph.) If an incremental delay d(v) > 0 is assigned to any vertex v V, the slack distribution is updated, depending upon the topology of G. In other words, we are obtaining a budget from G by assigning incremental delays to V. This assignment procedure is known as budget management. In general, we define the budget management (or slack assignment) instance (or instance, for brevity) to be a vector of incremental delays D(V) = [ d(v 1 ) d(v 2 ) d(v n )] > 0 which updates the delay distribution from D(V) tod (V) = D(V) + D(V), and hence updates the slack distribution from S(V) tos (V) (the terms budget management and slack assignment will be used interchangeably throughout the paper). In real applications there is a guarantee that incremental delays are non-negative, as long as all vertices delays are initially set to their minimum values. Therefore, negative incremental delays are not considered in this work. Since the slack distribution is strongly related to the arrival times and required times for all vertices, obtaining S (V) is a non-trivial task which is dealt with in the next section. If, after the budget management, G is still safe (i.e., S (V) 0), then the instance is said to be effective and D(V) = n k=1 d(v k) is thereby called the effective budget on G. Let be a set of all possible effective instances for G. We show that (i.e., the number of possible effective instances) can be unlimited. Consider a fragment of a graph with three vertices, as shown in Figure 1, where each vertex has one unit delay. Obviously, there exist numerous effective instances with different effective budgets, a few of which are shown in Figure 1. We are interested in identifying a specific instance (i.e., [5 5 0] in this case) with maximum effective budget. Instead of listing all instances for this Fig. 1. Possible effective budget management instances.

3 Budget Management with Applications 263 Fig. 2. A directed acyclic graph with an optimal budget management instance m D(V). case, we observe that it is generally impractical to find a maximum budget by exhaustive enumeration of instances on G. An optimal budget management instance (denoted by m D(V)) is an effective instance which results in the maximum effective budget B m = m D(V) =max D(V ) D(V ). Intuitively, a maximum effective budget represents the largest amount of incremental delay which can be obtained from G while keeping its safety. This budget can be used for different purposes, depending on applications. While a modified version of this budgeting problem may be required to describe exactly real-world problems, we focus on exploring the optimal budget management itself. Application issues are discussed later in the paper. Figure 2 shows a directed acyclic graph and an optimal budget management instance thereof. The well-known zero-slack algorithm (ZSA) for slack assignment has been proposed [1] with the goal of generating performance constraints for VLSI layout design. Some improved versions of the ZSA can be found in [2] and [3]. In [4] a convex programming problem formulation was given to tackle the delay budgeting problem which is equivalent to slack assignment. More recently, a delay-budgeting approach was presented [5] for timing-closure-driven design. While these prior works focused on applications in VLSI (i.e., very-large-scale integrated circuits) layout, the main disadvantage is that they are not able to provide an optimal solution. In this work we analyze some properties of slack, present an algorithm for budget management, and extend its applications to more general optimization domains. The remainder of the paper is organized as follows. In Section 2 we describe some definitions and characteristics of the budget management problem. Section 3 presents a heuristic algorithm and its extension. Applications of our approach to a class of optimization problems in VLSI Computer-Aided Design (CAD) are given in Section 4. Section 5 concludes the paper.

4 264 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh Fig. 3. Slack distribution and budget management. 2. Analysis of Slack. In this section we discuss some properties of slack and explore the basic paradigm of the budget management problem Basic Characteristics of Budget Management. Consider a safe directed acyclic graph G = (V, E). Without loss of generality, we assume, for convenience of discussion, that the arrival times for all sources are zero and that the required times for all sinks are T spec, a user-specified timing constraint on G. (Note that this assumption is not required in our work. The arrival time and required time for any vertex v V are given by (1) and (2), respectively.) From a practical standpoint, any budget management instance on G is required to satisfy the timing constraint. Thus, only effective budget management instances are of interest. A property of budget management on G is that different instances can lead to the same slack distribution. Figure 3 shows a fragment of an example graph, where the delay distribution is initially assumed to be D(V) = [ ] (note that I and O are not shown in the figure). One can verify that 1 D(V) = [ ] and 2 D(V) = [ ] are two different effective instances on the graph. However, the resulting slack distributions are the same, i.e., S 1 (V) = S 2 (V) = 0. Furthermore, it is observed that for an optimal budget management instance m D(V), the resulting slack distribution must be zero, i.e., S m (V) = 0. This is due to the fact that for any instance, if there exists a slack s(v i )>0 in the resulting slack distribution, one is always able to get a larger effective budget by assigning to vertex v i an incremental delay d i = s(v i ) such that s(v i ) becomes zero. In other words, we have the following lemma (the proof is straightforward): LEMMA 2.1. For a directed acyclic graph G = (V, E), if a budget management instance m D(V) is optimal, then the resulting slack distribution S m (V) = 0. Since s(v i ) is the upper bound of incremental delay for vertex v i while keeping safety of G, the incremental delay which an effective instance can assign to any vertex is no more than its slack. Therefore, any effective budget on G is no more than the total slack of G. This suggests the following lemma. LEMMA 2.2. For a directed acyclic graph G, its total slack, S t, is the upper bound of the maximum effective budget, B m, which results from an optimal budget management instance on G.

5 Budget Management with Applications 265 The maximum effective budget represents the real amount of total incremental delays one can get from G while keeping its safety. If we assume that all incremental delays can be used uniformly for specific optimization purposes, the effective budget would be the exact cost function to be maximized, and an optimal budget management instance stands for the best solution. This assumption, however, may not be true, depending upon applications which are discussed in Section 4. For the cases where the assumption does not hold, we provide an extended version of the budget management problem on weighted graphs (the readers are referred to Section 3). Since calculation of the total slack is straightforward, it can be used as a rough estimate of B m. In general, however, this bound may not be tight, depending upon the specific topologic structure and slack distribution of G (we have more discussions on this later). In Figure 3, for example, the total slack is S t = 20, while the maximum effective budget is B m = Slack Sensitivity. From Figure 3 we see that if an incremental delay of 5 is assigned to v 1 and v 2 each, their slacks are updated to be zero, and so is the slack of their (transitive) fanouts (i.e., v 3 and v 4 ). More generally, for any given graph G = (V, E), if an incremental delay d(v) is assigned to any vertex v V, its slack is decreased by d(v), and its transitive fanins/fanouts may or may not have the reduced slack. Before discussing how d(v) affects the slacks of other vertices, we have the following definitions. DEFINITION 2.1. Assuming that vertex u is an immediate fanin (or fanout) of vertex v, we say that u is slack-sensitive to v (denoted by u v) if an incremental delay (denoted by ε>0) on v results in the reduced slack of u. Weuseu v to represent that u is not slack-sensitive to v. DEFINITION 2.2. A directed path consisting of {v n1,v n2,...,v np } is called a slacksensitive path if v ni and v ni+1 (i = 1, 2,...,p 1) are slack-sensitive to each other (i.e., v ni v ni+1 and v ni+1 v ni ). DEFINITION 2.3. Suppose that vertex u is an immediate fanin of vertex v, we say that u and v are a-controlled if a(v) = a(u) + d(v), orr-controlled if r(v) = r(u) + d(v). Consider two vertices u, v as shown in Figure 4. We look into their slack-sensitivity by considering the following cases: Case A. If u and v are both a-controlled and r-controlled (hence they have the same slack, i.e., s(u) = s(v)), then u v and v u for any ε s(u). Case B. If u and v are a-controlled but not r-controlled (hence s(u) < s(v)), then v u for any ε s(u), while u v for any ε s(v) s(u). Case C. If u and v are r-controlled but not a-controlled (hence s(v) < s(u)), then u v for any ε s(v), while v u for any ε s(u) s(v).

6 266 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh Fig. 4. Slack sensitivity. Case D. If u and v are neither a-controlled nor r-controlled (hence a(v) > a(u) + d(v) and r(u) < r(v) d(v)), then v u for any ε a(v) a(u) d(v) (note that if s(u) s(v), then ε s(u) s(v) implies ε a(v) a(u) d(v)), while u v for any ε r(v) r(u) d(v) (note that if s(v) s(u), then ε s(v) s(u) implies ε r(v) r(u) d(v)). The above slack sensitivity between vertices u and v is summarized in the following lemma: LEMMA 2.3. For graph G = (V, E), u, v V, where u is an immediate fanin of v, their slacks are represented by s(u) and s(v), respectively. (a) When s(u) s(v), one vertex of u and v with larger slack is denoted by u and the other (with less slack) by v (i.e., s(u ) = max{s(u), s(v)}, s(v ) = min{s(u), s(v)}). We have: (a1) v u for ε s(u ) s(v ) (from Cases B, C, and D above). (a2) If u and v are either a-controlled or r-controlled, then u v for ε s(v ) (from Cases B and C above). (a3) If u and v are neither a-controlled nor r-controlled, then u v for ε min{a(v) a(u) d(v), r(v) r(u) d(v)} (from Case D above), where a( ), r( ), and d( ) are the arrival time, required time, and delay, respectively. (b) When s(u) = s(v), we have: (b1) If u and v are a-controlled and hence r-controlled, then u v and v u for ε s(u) (from Case A above). (b2) If u and v are not a-controlled (hence not r-controlled either), then u v and v u for ε min{a(v) a(u) d(v), r(v) r(u) d(v)} (from Case D above). If vertices are slack-sensitive to one another, it follows that during budget management, the total slack reduction (which is 2ε for the two-vertex case as shown in Figure 4) can be much more than the obtained effective budget (which is ε for the two-vertex case). Here, the obtained effective budget can be viewed as a delay benefit, while the reduced slack represents a slack penalty which tends to prevent further delay budgeting. The slack sensitivity facilitates a comprehensive understanding of budget management

7 Budget Management with Applications 267 problems. Intuitively, it is desirable that the budget management instance be able to maximize the benefit and minimize the penalty. This leads us to look at the problem by starting with vertices with maximum slack in the given graph, since vertices with less slack are not slack-sensitive to those with larger slack (see (a1) of Lemma 2.3). For vertices with same slack, we can identify their slack-sensitivity by establishing a so-called slack-sensitive graph where the existence of edge (u,v) implies u v and v u, as described below Transitive Slack-Sensitive Graph. Given a directed graph G = (V, E), we first identify a set of vertices V m V with largest slack s m, i.e., V m ={w w V and s(w) = s m }. Let s m 1 be the second largest slack in G (s m 1 is defined to be zero if all vertices in G have the same slack s m ). We construct a directed slack-sensitive graph G s = (V m, E m ) such that E m ={(u,v) (u,v) E, u v and v u for ε = s m s m 1 }. A transitive slack-sensitive graph G t = (V m, E t m ) of G s is a directed graph such that there is an edge (u,v) E t m if and only if there is a path from u to v in G s. Since G t is always associated with ε, we denote the transitive slack-sensitive graph exactly as G t (ε) = (V m, E t m ), where the assignment of an incremental delay ε to any vertex v V m is reducing the slack of v and all its neighbors u N m (v) ={w (w, v) E t m } by exactly ε. Based on Lemma 2.3, we describe an algorithm for constructing G t (ε) below: G t (ε)-algorithm { /* An algorithm for constructing the transitive slack-sensitive graph */ Input: a directed acyclic graph G = (V, E) Output: a directed transitive graph G t (ε) = (V m, E t m ) Begin Identify V m, a set of vertices with maximum slack s m, and find s m 1, the second largest slack in G; E m,ε s m s m 1 ; /* construct a slack-sensitive graph G s = (V m, E m ) */ for each edge (u,v) E where u,v V m do if u and v are a-controlled or r-controlled then Add an edge (u,v)to E m ; else ε min{ε, a(v) a(u) d(v), r(v) r(u) d(v)}, where a( ), r( ), and d( ) are the arrival time, required time, and delay, respectively; end if end for Construct a transitive slack-sensitive graph G t (ε) = (V m, E t m ) by adding transitive edges to G s = (V m, E m ); End }

8 268 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh According to Lemma 2.3, the selection of ε in the above algorithm guarantees that the slack of any vertex v V m and all its neighbors N m (v) ={w (w, v) E t m } will be reduced by ε if v is assigned an incremental delay ε, and that the slack of any vertex u V\{v, N m (v)} remains unchanged. This is an important consideration in the presentation of our approach for finding an optimal budget management instance in the next section. 3. A Heuristic Algorithm for Budget Management. In this section we present a heuristic algorithm for the budget management problem, which generates a maximum effective budget on any given directed acyclic graph. We also compare it with the conventional ZSA and extend our algorithm to weighted graphs Algorithm Description. Before describing our algorithm, we briefly review the ZSA [1]. The basic idea of the ZSA is to start with vertices with minimum slack and locally perform the slack assignment such that their slacks become zero. This process repeats until the slacks of all vertices become zero. More specifically, at each iteration, the ZSA identifies a path on which all vertices have minimum slack (denoted by s min ), then assigns to each vertex an incremental delay s min /N min, where N min is the number of vertices on the path. In Figure 3, for example, the path (v 1, v 3, v 4 ) is found first, and each of the three vertices is assigned an incremental delay of 5/3 units. The slacks of all vertices except v 2 in the figure become zero, while s(v 2 ) is updated as 5/3. After assigning an incremental delay of 5/3 tov 2 in the second iteration, the slack distribution is updated to be zero, and the algorithm terminates with the effective budget of 20/3 (note that the maximum effective budget of Figure 3 is 10). This example shows that while the ZSA is simple to use and easy to implement, the result is far from the optimum. In contrast, our algorithm begins with a set of vertices, V m, with maximum slack. A transitive slack-sensitive graph G t (ε) = (V m, E t m ) is then constructed. Based on discussions in the above section, a maximum independent set 5 (MIS) [6] of G t (ε) corresponds to a set of vertices V MIS V m such that the number of vertices which are slack-sensitive to any vertex v V MIS is minimized. It should be pointed out that while the MIS problem is NP-hard for general graphs, it is polynomial-time solvable for transitive graphs as discussed in this paper. We assign an incremental delay ε to each vertex in V MIS, and update the slack of vertices in V m. This process of constructing G t (ε), finding MIS, and updating slack continues until the slack distribution becomes zero. Clearly, each step of the process contributes ε V MIS to the final budget. Finding an MIS of G t (ε) is straightforward as it can be done by iteratively identifying a vertex v min with minimum degree in G t (ε). The pseudo-code of our MIS-based algorithm for the budget management problem is 5 A maximum independent set of a graph is a set of independent vertices (i.e., no two vertices are connected by an edge) such that the number of vertices in this set is maximum.

9 Budget Management with Applications 269 given below: Maximum-Independent-Set-based Algorithm (MISA) { /* An algorithm for finding a budget management instance */ Input: graph G = (V, E) and timing constraint T spec Output: a budget management instance D(V) Begin Compute slack for each vertex v V, and find maximum slack s m ; Initialize D(V) 0; While (s m > 0) { Construct a transitive slack-sensitive graph G t (ε) using the G t (ε)- algorithm; Find a maximum independent set, V MIS,ofG t (ε); Assign an incremental delay ε to each vertex in V MIS, i.e., d(w) d(w) + ε, w V MIS ; Update slack distribution and s m ; } End } In the above algorithm, the budget management problem is partitioned into several subproblems which are optimally solved individually. However, there is no guarantee in general that the algorithm is optimal for the original problem since the effects among different algorithmic steps are not accounted for. This heuristic becomes optimal when there are no or minimum effects between the steps. Theorems 3.1 and 3.2 below show two examples of such cases: THEOREM 3.1. For any directed acyclic graph G where all vertices have the same slack and the value of ε is greater than or equals the slack, the MISA produces an optimal budget management instance which results in the maximum effective budget of G. PROOF. Suppose all vertices in G have slack s, and ε = s. We can obtain a transitive slack-sensitive graph G t (s) by the G t (ε)-algorithm (see Section 2.3). All these vertices can be expressed as the union of independent subsets of vertices (where the independent means that all vertices in a subset are not included in any other subsets) such that each of such subsets is a maximal clique which contributes to the final budget by s at most. In particular, since ε = s, if there are several connected components (subgraphs) in G t (s), the slack assignment in one component would be independent of that in another. Let N c be the number of all cliques in G t (s), the maximum effective budget is s N c. Since the cardinality of a maximum independent set in the graph is exactly N c, the MISA provides the effective budget of s N c and hence results in an optimal budget management instance.

10 270 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh THEOREM 3.2. If a given directed acyclic graph is a tree, the MISA produces an optimal budget management instance by simply selecting all leaves of subtrees in the slacksensitive graph (i.e., G t (ε)) as a maximum independent set. Based on the above discussions, we have the following theorem (see [6] and [7] for proof): THEOREM 3.3. The time complexity of the MISA algorithm is O(K n 3 ), where n and K are the number of vertices and the number of distinct slacks in a given graph, respectively. The space complexity of the algorithm is O(n 2 ) in the worst case. In the above theorem, the value of K strongly depends upon the given graphs and their slack distributions. However, our experience shows K n for most applications [8] Dynamic Characteristics of Budget Management. Since slack distribution is related to given timing constraint T spec, the total slack and maximum effective budget of a given graph G = (V, E) are associated with T spec. Let B m (T ) be the maximum effective budget of G with the timing constraint T. We define the budget gradient of the graph: B g = B m (T )/ T which stands for the derivative of B m (T ) with respect to T. Unlike B m which is the static characterization of budget management problems, B g is a measure of the dynamic characteristic of budget management. No matter what timing constraint is specified, we can use the MISA algorithm for G and, at the last iteration of the algorithm, obtain a specific graph G 0 where all vertices have the same slack. G and G 0 have the same topology, but their slack distributions are different. If we use G 0 t to represent the transitive slack-sensitive graph of G 0, then the difference between B m (T a ) and B m (T b ) for G is given by (T a T b ) VMIS 0, where T a and T b are two different timing constraints (T a > T b ), and VMIS 0 is an MIS on G0 t. In other words, we have proved: THEOREM 3.4. For any directed acyclic graph G, its budget gradient is equal to the cardinality of the MIS on the transitive slack-sensitive graph of a specific graph G 0, where G 0 is obtained from G in the last iteration of the MISA algorithm. To illustrate, we calculate, by inspection, the budget gradients for graphs of Figures 2 and 3, which are 3 and 2, respectively. This implies that more budget is achievable from Figure 2 than from Figure 3 by relaxing the timing constraint. In other words, Figure 2 shows a preferable dynamic characteristic during budget management. Recall that the maximum effective budgets for Figures 2 and 3 are 5 and 10, respectively, meaning that Figure 3 has the better static performance in terms of budget management Comparison with the ZSA. To look at the difference between the MISA and ZSA in terms of effective budget, we consider a vertex v with f fanouts as shown in Figure 5, where all vertices are assumed to have the same slack s. The effective budget provided by the ZSA is ZSA D(V) =s + ( f 1)s/2. In contrast, the MISA leads to the maximum effective budget B m = MISA D(V) =fs. Thus, we have the ratio ( MISA D(V) ZSA D(V) )/ ZSA D(V) =( f 1)/( f + 1), which means that MISA D(V) can be as high as almost twice ZSA D(V) when f 1. This shows that the MISA can provide

11 Budget Management with Applications 271 Fig. 5. A vertex with f fanouts each with the same slack s. a significant improvement over the ZSA when there exist a large number of fanouts. In this figure the total slack is S t = ( f + 1) s, and the ratio of B m to S t is f/( f + 1), indicating that S t is a loose upper bound of B m for a small value of f. For instance, B m only accounts for a half of S t when f = 1. Figure 6 shows an eight-vertex example graph, where the initial delay distribution is assumed to be a unit vector, i.e., D(V) = 1. By inspection, the ZSA generates the budget management instance ZSA D(V) = [ ] (refer to Section 3.1 for more details), leading to the effective budget ZSA D(V) =12. By applying the MISA, we first find s m = 5 and ε = 2 in the first iteration. G t (ε) consists of v 1,v 6, and v 7, and its MIS is V MIS ={v 1,v 6,v 7 }. Thus, d(v 1 ) = d(v 6 ) = d(v 7 ) = 2. In the second iteration we have s m = 3 and ε = 3. Since all vertices except v 8 have same slack s m, G t (ε) consists of v 1,v 2,...,v 7, and V MIS ={v 3,v 5,v 6,v 7 }. After assigning an incremental delay, ε, to each vertex in V MIS, we obtain the effective budget management instance MISA D(V) = [ ] with the final slack distribution S MISA (V) = 0. As a result, the maximum effective budget produced by the MISA is B m = MISA D(V) = 18, which is a 50% improvement compared with ZSA D(V) =12. Note that the total slack of this graph is Extension to Weighted Graphs. In the above discussion we choose the effective budget as an objective function to be maximized with the implicit assumption that Fig. 6. Calculation of effective budget.

12 272 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh the budget on each vertex is of the same importance. In the real world, however, this assumption may not be practical. For example, in some applications, vertices in the graph may have an upper bound of delay, and it would not make sense if they were assigned incremental delays which are larger than the bound. To tackle this issue, we propose a modified version of the budget management problem on weighted graphs. In such a graph, each vertex is associated with a positive weight which measures the importance of delay budgeting from it. Thus, the MISA discussed before can be modified by extending the MIS to the maximum weighted independent set 6 (MWIS) on the transitive (weighted) slack-sensitive graph G t (ε). The objective here is to find an optimal weighted budget management instance which leads to the maximum weighted effective budget on the graph. In Figure 1, for example, if it is weighted and the three vertices are assumed to have the following weights, weight(v 1 ) = weight(v 2 ) = 2 and weight(v 3 ) = 5, then the MWIS turns out to be {v 3 }, and the optimal weighted instance is [0 0 5] with a maximum weighted effective budget of 25. It should be pointed out that all lemmas and theorems about unweighted graphs can be extended accordingly to deal with weighted graphs. It has been shown [9] that the MWIS problems on transitive graphs can be solved by the minimum-flow algorithm in O(ne log(n 2 /e)) time, where n and e are the number of vertices and the number of edges, respectively, in the graph. This implies that if weighted graphs describe real-world problems correctly, our method is still optimal. For computational efficiency, one may resort to a heuristic. A faster heuristic for finding MWIS is similar to that of finding MIS, except that instead of starting with a vertex of minimum degree for the case of MIS, we iteratively select a vertex with maximum ratio r = g i /deg i in G t (ε), where g i and deg i are the weight and degree of vertex v i, respectively. Alternatively, one can use r = g i + λ/deg i (where λ is a constant), and try different values of λ towards a high probability of obtaining a reasonably good solution, depending upon the specific graphs under consideration. The time complexity of this heuristic is O(n log n) [6]. 4. Applications. In this section we discuss applications of budget management to a class of constrained optimization problems which arise in design and synthesis of integrated circuits (IC) Gate Sizing. A gate-level implementation of IC can be mapped into a directed acyclic graph G where vertices correspond to logic gates, and edges correspond to interconnects between the gates. The intrinsic delay of gates in the implementation is transformed into vertex delay in G (the delay of interconnects driven by a gate, if accounted for, can be added into the vertex delay). In IC design, circuit area (physical size) has been a primary concern. Given specific timing constraints which represent the circuit performance requirement, a gate sizing problem [10], [11] is to find a set of vertices/gates such that their physical sizes can be reduced (by using smaller cell instances from a target library) for area/power minimization without violating timing constraints. Since 6 A maximum weighted independent set of a (vertex-weighted) graph is a set of independent vertices such that the sum of their weights is maximum.

13 Budget Management with Applications 273 Fig. 7. Area/power reduction by gate sizing. a gate with smaller size has longer delay and hence requires more budget (i.e., more incremental delay), area/power optimization by gate sizing is strongly determined by the budget management instance of G. An optimal budget management instance can lead to significant (total) area/power reduction (note that area/power reduction may not be maximized due to the discrete nature of gate sizes available in the library). Considering the fact that different gates may show different delay area (or delay power) tradeoff curves, it is preferable to define a weighted graph based on these curves, and find an optimal weighted budget management instance on it. Figure 7 illustrates an example circuit, where each gate delay is assumed to be 1. The two gates (shaded in the figure) with high budget could be downsized for area/power reduction while keeping the timing performance of the circuit satisfied Layout Design. Traditionally, budget management is used in the generation of performance constraints for timing-driven placement [1] [3], [12] since the slack of a vertex (gate) imposes an upper bound of delay on the signal nets it drives. On the whole, the maximum effective budget tends to maximize the flexibility/freedom for all signal nets during layout while keeping the timing constraints. This flexibility is very desirable for most placement and routing tools. Whenever necessary, one can solve the budget management problem on a weighted graph to avoid over-estimated timing constraints on particular signal nets, whose driving gates are supposed to be assigned the higher weights. Figure 8 shows a possible layout (placement and routing) of Figure 7. The two gates (shaded in the figure) with higher budget can be placed in many optional locations (e.g., around the right lower corner in the figure) without or with little concern about timing degradation of the circuit. Budget management facilitates the routability of more nets within the timing constraints Wire Sizing. Wire sizing is a popular interconnect-driven optimization technique for high performance [13]. If we use vertices to represent wires in layout, and vertex delay to represent the wire width, the routing topology can be converted into a DAG, where

14 274 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh Fig. 8. Flexibility of signal nets during layout. the delay budget denotes how much the wire width can be increased. Figure 9 shows an example of wire sizing problem in a routing channel where four tracks are available. In the corresponding DAG (see Figure 9(b)), the existence of a directed edge from node v i to v j implies that the corresponding wires (i.e., w i and w j ) are physically adjacent and overlap vertically. Since a wider wire helps improve the timing performance, the best strategy for wire sizing can be obtained by finding an optimal budget management instance on the graph. In this figure the two wires (i.e., w 2 and w 3 ) could be selected to be upsized (note that the wire w 4 should not be selected for upsizing). 5. Conclusion and Future Work. In this paper we have dealt with the budget management problems for directed acyclic graphs by analyzing the slack sensitivity, constructing the transitive slack-sensitive graph, and presenting a heuristic budget management Fig. 9. Wire sizing in a routing channel using budget management.

15 Budget Management with Applications 275 algorithm. The proposed approach is based on an MIS which is polynomial-time solvable for transitive graphs. Several applications of budget management in the VLSI CAD area have been demonstrated. Since the optimal solution of budget management problems requires polynomial time which is still computationally expensive for large-size graphs, fast estimation of maximum effective slack (and/or its tight upper bound) would be very desirable. Further research work includes looking for optimal solutions in general cases. Also we expect to find more applications of budget management on other areas. Acknowledgment. The authors thank the anonymous reviewers for their constructive comments. In particular, they thank one of the reviewers for his/her invaluable feedback and advice on the proof of Theorem 3.1. References [1] R. Nair, C. L. Berman, P. S. Hauge, and E. J. Yoffa, Generation of Performance Constraints for Layout, IEEE Transactions on Computer-Aided Design, CAD-8(8): , August [2] T. Gao, P. M. Vaidya, and C. L. Liu, A New Performance Driven Placement Algorithm, in Proceedings of the International Conference on Computer-Aided Design, pp , [3] H. Youssef and E. Shragowitz, Timing Constraints for Correct Performance, in Proceedings of the International Conference on Computer-Aided Design, pp , [4] G. E. Tellez, D. A. Knol, and M. Sarrafzadeh, A Graph-Based Delay Budgeting Algorithm for Large Scale Timing-Driven Placement Problems, in Proceedings of the Fifth ACM/SIGDA Physical Design Workshop, pp , April [5] C. Kuo and A. C.-H Wu, Delay Budgeting for a Timing-Closure-Design Method, in Proceedings of the International Conference on Computer-Aided Design, pp , [6] R. H. Moehring, Algorithmic Aspects of Comparability Graphs and Interval Graphs, in Graphs and Orders, edited by I. Rival, Reidel, New York and London, pp , May [7] C. Chen and M. Sarrafzadeh, An Effective Algorithm for Gate-Level Power-Delay Tradeoff Using Two Voltages, in Proceedings of the International Conference on Computer Design, pp , [8] C. Chen, A Srivastava, and M. Sarrafzadeh, On Gate Level Power Optimization Using Dual Supply Voltages, IEEE Transactions on VLSI Systems, 9(5): , October [9] D. Kagaris and S. Tragoudas, Maximum Independent Sets on Transitive Graphs and Their Applications in Testing and CAD, in Proceedings of the International Conference on Computer-Aided Design, pp , [10] P. Girard, C. Landrault, S. Pravossoudovitch, and D. Severac, A Gate Resizing Technique for High Reduction in Power Consumption, in Proceedings of the International Symposium on Low Power Electronics and Design, pp , [11] H. R. Lin and T. Hwang, Power Reduction by Gate Sizing with Path-Oriented Slack Calculation, in Proceedings of IEEE ASP-DAC 95/CHDL 95/VLSI 95, pp. 7 12, [12] W. Swartz and C. Sechen, Timing Driven Placement for Large Standard Cell Circuits, in Proceedings of the IEEE/ACM Design Automation Conference, pp , [13] C. Chu and D. F. Wong, Closed Form Solution to Simultaneous Buffer Insertion/Sizing and Wire Sizing, in Proceedings of the International Symposium on Physical Design, pp , 1997.

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

More information

Placement Algorithm for FPGA Circuits

Placement Algorithm for FPGA Circuits Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Finding Strongly Connected Components

Finding Strongly Connected Components Yufei Tao ITEE University of Queensland We just can t get enough of the beautiful algorithm of DFS! In this lecture, we will use it to solve a problem finding strongly connected components that seems to

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models. Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected

More information

Iterative-Constructive Standard Cell Placer for High Speed and Low Power

Iterative-Constructive Standard Cell Placer for High Speed and Low Power Iterative-Constructive Standard Cell Placer for High Speed and Low Power Sungjae Kim and Eugene Shragowitz Department of Computer Science and Engineering University of Minnesota, Minneapolis, MN 55455

More information

Vertex 3-colorability of claw-free graphs

Vertex 3-colorability of claw-free graphs Algorithmic Operations Research Vol.2 (27) 5 2 Vertex 3-colorability of claw-free graphs Marcin Kamiński a Vadim Lozin a a RUTCOR - Rutgers University Center for Operations Research, 64 Bartholomew Road,

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

IN general setting, a combinatorial network is

IN general setting, a combinatorial network is JOURNAL OF L A TEX CLASS FILES, VOL. 11, NO. 4, DECEMBER 2012 1 Clustering without replication: approximation and inapproximability Zola Donovan, Vahan Mkrtchyan, and K. Subramani, arxiv:1412.4051v1 [cs.ds]

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs Hongbing Fan Dept. of omputer Science University of Victoria Victoria B anada V8W P6 Jiping Liu Dept. of Math. & omp. Sci. University

More information

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane

An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane Information Processing Letters 81 (2002) 151 156 An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane Lusheng Wang,ZimaoLi Department of Computer Science, City University

More information

Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree

Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree Ching-Hung Liu, Yao-Hsin Chou, Shin-Yi Yuan, and Sy-Yen Kuo National Taiwan University 1 Outline 2 Outline 3 The

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

FINAL EXAM SOLUTIONS

FINAL EXAM SOLUTIONS COMP/MATH 3804 Design and Analysis of Algorithms I Fall 2015 FINAL EXAM SOLUTIONS Question 1 (12%). Modify Euclid s algorithm as follows. function Newclid(a,b) if a

More information

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method. My T. Thai Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

On the Rectangle Escape Problem

On the Rectangle Escape Problem On the Rectangle Escape Problem A. Ahmadinejad S. Assadi E. Emamjomeh-Zadeh S. Yazdanbod H. Zarrabi-Zadeh Abstract Motivated by the bus escape routing problem in printed circuit boards, we study the following

More information

Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

More information

PCP and Hardness of Approximation

PCP and Hardness of Approximation PCP and Hardness of Approximation January 30, 2009 Our goal herein is to define and prove basic concepts regarding hardness of approximation. We will state but obviously not prove a PCP theorem as a starting

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

11.1 Facility Location

11.1 Facility Location CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

Counting the Number of Eulerian Orientations

Counting the Number of Eulerian Orientations Counting the Number of Eulerian Orientations Zhenghui Wang March 16, 011 1 Introduction Consider an undirected Eulerian graph, a graph in which each vertex has even degree. An Eulerian orientation of the

More information

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5. Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.

More information

Network Topology Control and Routing under Interface Constraints by Link Evaluation

Network Topology Control and Routing under Interface Constraints by Link Evaluation Network Topology Control and Routing under Interface Constraints by Link Evaluation Mehdi Kalantari Phone: 301 405 8841, Email: mehkalan@eng.umd.edu Abhishek Kashyap Phone: 301 405 8843, Email: kashyap@eng.umd.edu

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given

More information

Retiming and Clock Scheduling for Digital Circuit Optimization

Retiming and Clock Scheduling for Digital Circuit Optimization 184 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 21, NO. 2, FEBRUARY 2002 Retiming and Clock Scheduling for Digital Circuit Optimization Xun Liu, Student Member,

More information

Discrete Applied Mathematics

Discrete Applied Mathematics Discrete Applied Mathematics 158 (2010) 261 276 Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam Most balanced minimum cuts Paul Bonsma

More information

Extremal Graph Theory: Turán s Theorem

Extremal Graph Theory: Turán s Theorem Bridgewater State University Virtual Commons - Bridgewater State University Honors Program Theses and Projects Undergraduate Honors Program 5-9-07 Extremal Graph Theory: Turán s Theorem Vincent Vascimini

More information

Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths

Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths Shuo Zhou, Bo Yao, Hongyu Chen, Yi Zhu and Chung-Kuan Cheng University of California at San Diego La Jolla,

More information

Basic Idea. The routing problem is typically solved using a twostep

Basic Idea. The routing problem is typically solved using a twostep Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a

More information

In this lecture, we ll look at applications of duality to three problems:

In this lecture, we ll look at applications of duality to three problems: Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,

More information

9.1 Cook-Levin Theorem

9.1 Cook-Levin Theorem CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two

More information

Centrality Measures. Computing Closeness and Betweennes. Andrea Marino. Pisa, February PhD Course on Graph Mining Algorithms, Università di Pisa

Centrality Measures. Computing Closeness and Betweennes. Andrea Marino. Pisa, February PhD Course on Graph Mining Algorithms, Università di Pisa Computing Closeness and Betweennes PhD Course on Graph Mining Algorithms, Università di Pisa Pisa, February 2018 Centrality measures The problem of identifying the most central nodes in a network is a

More information

CS137: Electronic Design Automation

CS137: Electronic Design Automation CS137: Electronic Design Automation Day 4: January 16, 2002 Clustering (LUT Mapping, Delay) Today How do we map to LUTs? What happens when delay dominates? Lessons for non-luts for delay-oriented partitioning

More information

Geometric Steiner Trees

Geometric Steiner Trees Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 2: Global properties of Euclidean Steiner Trees and GeoSteiner Marcus Brazil

More information

Dominance Constraints and Dominance Graphs

Dominance Constraints and Dominance Graphs Dominance Constraints and Dominance Graphs David Steurer Saarland University Abstract. Dominance constraints logically describe trees in terms of their adjacency and dominance, i.e. reachability, relation.

More information

Canonical Forms and Algorithms for Steiner Trees in Uniform Orientation Metrics

Canonical Forms and Algorithms for Steiner Trees in Uniform Orientation Metrics Canonical Forms and Algorithms for Steiner Trees in Uniform Orientation Metrics M. Brazil D.A. Thomas J.F. Weng M. Zachariasen December 13, 2002 Abstract We present some fundamental structural properties

More information

Fast Timing Closure by Interconnect Criticality Driven Delay Relaxation

Fast Timing Closure by Interconnect Criticality Driven Delay Relaxation Fast Timing Closure by Interconnect Criticality Driven Delay Relaxation Love Singhal and Elaheh Bozorgzadeh Donald Bren School of Information and Computer Sciences University of California, Irvine, California

More information

Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation

Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation Hamid Shojaei, and Azadeh Davoodi University of Wisconsin 1415 Engineering Drive, Madison WI 53706 Email: {shojaei,

More information

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009

More information

DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1

DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1 Discussiones Mathematicae Graph Theory 32 (2012) 643 657 doi:10.7151/dmgt.1633 DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1 Soufiane Khelifi Laboratory LMP2M, Bloc of laboratories

More information

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract Flexible Coloring Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a a firstname.lastname@hp.com, HP Labs, 1501 Page Mill Road, Palo Alto, CA 94304 b atri@buffalo.edu, Computer Sc. & Engg. dept., SUNY Buffalo,

More information

Probability-Based Approach to Rectilinear Steiner Tree Problems

Probability-Based Approach to Rectilinear Steiner Tree Problems 836 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 10, NO. 6, DECEMBER 2002 Probability-Based Approach to Rectilinear Steiner Tree Problems Chunhong Chen, Member, IEEE, Jiang Zhao,

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Parameterized Algorithm for Eternal Vertex Cover

Parameterized Algorithm for Eternal Vertex Cover Parameterized Algorithm for Eternal Vertex Cover Fedor V. Fomin a,1, Serge Gaspers b, Petr A. Golovach c, Dieter Kratsch d, Saket Saurabh e, a Department of Informatics, University of Bergen, N-5020 Bergen,

More information

Vertex-Colouring Edge-Weightings

Vertex-Colouring Edge-Weightings Vertex-Colouring Edge-Weightings L. Addario-Berry a, K. Dalal a, C. McDiarmid b, B. A. Reed a and A. Thomason c a School of Computer Science, McGill University, University St. Montreal, QC, H3A A7, Canada

More information

Algorithms for Graph Visualization Layered Layout

Algorithms for Graph Visualization Layered Layout Algorithms for Graph Visualization INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze 5.12.2016 1 Example Which are the properties? Which aesthetic ctireria are usefull? 2 Given:

More information

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming.

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming. Retiming Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford Outline Structural optimization methods. Retiming. Modeling. Retiming for minimum delay. Retiming for minimum

More information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this

More information

A Distributed Formation of Orthogonal Convex Polygons in Mesh-Connected Multicomputers

A Distributed Formation of Orthogonal Convex Polygons in Mesh-Connected Multicomputers A Distributed Formation of Orthogonal Convex Polygons in Mesh-Connected Multicomputers Jie Wu Department of Computer Science and Engineering Florida Atlantic University Boca Raton, FL 3343 Abstract The

More information

The Computational Complexity of Graph Contractions II: Two Tough Polynomially Solvable Cases

The Computational Complexity of Graph Contractions II: Two Tough Polynomially Solvable Cases The Computational Complexity of Graph Contractions II: Two Tough Polynomially Solvable Cases Asaf Levin Department of Statistics, The Hebrew University, Jerusalem 91905, Israel Daniel Paulusma Department

More information

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs . FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles,

More information

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60 CPS 102: Discrete Mathematics Instructor: Bruce Maggs Quiz 3 Date: Wednesday November 30, 2011 NAME: Prob # Score Max Score 1 10 2 10 3 10 4 10 5 10 6 10 Total 60 1 Problem 1 [10 points] Find a minimum-cost

More information

Parameterized coloring problems on chordal graphs

Parameterized coloring problems on chordal graphs Parameterized coloring problems on chordal graphs Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary dmarx@cs.bme.hu

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

Simplicity is Beauty: Improved Upper Bounds for Vertex Cover

Simplicity is Beauty: Improved Upper Bounds for Vertex Cover Simplicity is Beauty: Improved Upper Bounds for Vertex Cover Jianer Chen, Iyad A. Kanj, and Ge Xia Department of Computer Science, Texas A&M University, College Station, TX 77843 email: {chen, gexia}@cs.tamu.edu

More information

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout Tail Inequalities Wafi AlBalawi and Ashraf Osman Department of Computer Science and Electrical Engineering, West Virginia University, Morgantown, WV fwafi,osman@csee.wvu.edug 1 Routing in a Parallel Computer

More information

arxiv: v1 [cs.cc] 30 Jun 2017

arxiv: v1 [cs.cc] 30 Jun 2017 Hamiltonicity is Hard in Thin or Polygonal Grid Graphs, but Easy in Thin Polygonal Grid Graphs Erik D. Demaine Mikhail Rudoy arxiv:1706.10046v1 [cs.cc] 30 Jun 2017 Abstract In 2007, Arkin et al. [3] initiated

More information

Cuts and Disjoint Paths in the Valley-Free Path Model

Cuts and Disjoint Paths in the Valley-Free Path Model Cuts and Disjoint Paths in the Valley-Free Path Model Thomas Erlebach Alexander Hall Alessandro Panconesi Danica Vukadinović October 30, 2005 Abstract In the valley-free path model, a path in a given directed

More information

ESE535: Electronic Design Automation. Today. LUT Mapping. Simplifying Structure. Preclass: Cover in 4-LUT? Preclass: Cover in 4-LUT?

ESE535: Electronic Design Automation. Today. LUT Mapping. Simplifying Structure. Preclass: Cover in 4-LUT? Preclass: Cover in 4-LUT? ESE55: Electronic Design Automation Day 7: February, 0 Clustering (LUT Mapping, Delay) Today How do we map to LUTs What happens when IO dominates Delay dominates Lessons for non-luts for delay-oriented

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP 1 Primal Dual Schema Approach to the Labeling Problem with Applications to TSP Colin Brown, Simon Fraser University Instructor: Ramesh Krishnamurti The Metric Labeling Problem has many applications, especially

More information

Space vs Time, Cache vs Main Memory

Space vs Time, Cache vs Main Memory Space vs Time, Cache vs Main Memory Marc Moreno Maza University of Western Ontario, London, Ontario (Canada) CS 4435 - CS 9624 (Moreno Maza) Space vs Time, Cache vs Main Memory CS 4435 - CS 9624 1 / 49

More information

Genetic Algorithm for Circuit Partitioning

Genetic Algorithm for Circuit Partitioning Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

Introduction VLSI PHYSICAL DESIGN AUTOMATION

Introduction VLSI PHYSICAL DESIGN AUTOMATION VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.

More information

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Solving NP-hard Problems on Special Instances

Solving NP-hard Problems on Special Instances Solving NP-hard Problems on Special Instances Solve it in poly- time I can t You can assume the input is xxxxx No Problem, here is a poly-time algorithm 1 Solving NP-hard Problems on Special Instances

More information

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH*

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* SIAM J. COMPUT. Vol. 1, No. 2, June 1972 THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* A. V. AHO, M. R. GAREY" AND J. D. ULLMAN Abstract. We consider economical representations for the path information

More information

Constructions of k-critical P 5 -free graphs

Constructions of k-critical P 5 -free graphs 1 2 Constructions of k-critical P 5 -free graphs Chính T. Hoàng Brian Moore Daniel Recoskie Joe Sawada Martin Vatshelle 3 January 2, 2013 4 5 6 7 8 Abstract With respect to a class C of graphs, a graph

More information

Approximation Algorithms for Geometric Intersection Graphs

Approximation Algorithms for Geometric Intersection Graphs Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline

More information

Hardness of Subgraph and Supergraph Problems in c-tournaments

Hardness of Subgraph and Supergraph Problems in c-tournaments Hardness of Subgraph and Supergraph Problems in c-tournaments Kanthi K Sarpatwar 1 and N.S. Narayanaswamy 1 Department of Computer Science and Engineering, IIT madras, Chennai 600036, India kanthik@gmail.com,swamy@cse.iitm.ac.in

More information

Partitioning Trees with Supply, Demand and Edge-Capacity

Partitioning Trees with Supply, Demand and Edge-Capacity The Tenth International Symposium on Operations Research and Its Applications (ISORA 2011) Dunhuang, China, August 28 1, 2011 Copyright 2011 ORSC & APORC, pp. 1 8 Partitioning Trees with Supply, Demand

More information

Place and Route for FPGAs

Place and Route for FPGAs Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming

More information

CMPSCI 311: Introduction to Algorithms Practice Final Exam

CMPSCI 311: Introduction to Algorithms Practice Final Exam CMPSCI 311: Introduction to Algorithms Practice Final Exam Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more detail including

More information

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Decision Problems Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Definition: The class of problems that can be solved by polynomial-time

More information