algorithmica - donald bren school of information and...

15
DOI: 10.1007/s00453-002-0964-7 Algorithmica (2002) 34: 261–275 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, is a 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 a(v) = max uFI (v) (a(u ) + d (v)), (1) where FI(v) is a set of (immediate) predecessors (or fanins) of v, 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 r (v) = min wFO(v) (r (w) d (w)), (2) where FO(v) is a set of (immediate) successors (or fanouts) of v, 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. [email protected]. 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, 2001. Communicated by C. K. Wong. Online publication July 24, 2002.

Upload: vuongminh

Post on 26-May-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

DOI: 10.1007/s00453-002-0964-7

Algorithmica (2002) 34: 261–275 Algorithmica© 2002 Springer-Verlag New York Inc.

Budget Management with Applications

Chunhong Chen,1 Elaheh Bozorgzadeh,2 Ankur Srivastava,2 and Majid Sarrafzadeh2

Abstract. Given a directed acyclic graph with timing constraints, the budget management problem is toassign to each vertex an incremental delay such that the sum of these delays is maximized without violating givenconstraints. We propose the notion of slack sensitivity and budget gradient to demonstrate the characteristicsof budget management. We develop a polynomial-time algorithm for the budget management problem, basedon the maximum independent set of an established transitive graph. We show the comparison of our approachwith the well-known zero-slack algorithm, and extend it to general weighted graphs. Applications to a classof problems in VLSI CAD are also discussed.

Key Words. Budget management, Slack assignment, Directed acyclic graphs, Transitive graphs, Maximumindependent set, Timing constraints, VLSI CAD.

1. Introduction. Consider a directed acyclic graph G = (V, E), where V is a set ofvertices and E is a set of directed edges. A set of sources (or primary inputs), I ⊂ V, is aset 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 sourceIi ∈ I at the time a(Ii ), we consider their propagation towards O along directed edgesand 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 delayon edges.4 The latest time of signals to arrive at the output of any vertex v ∈ V\I is givenrecursively by

a(v) = maxu∈FI(v)

(a(u)+ d(v)),(1)

where FI(v) is a set of (immediate) predecessors (or fanins) of v, and a(v) is called thearrival time of v. If the signal at a sink Oj ∈ O is required to arrive by the time r(Oj ),it is required to arrive at the output of any vertex v ∈ V\O by the time

r(v) = minw∈FO(v)

(r(w)− d(w)),(2)

where FO(v) is a set of (immediate) successors (or fanouts) of v, and r(v) is called therequired 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 [email protected] 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, 2001. Communicated by C. K. Wong.Online publication July 24, 2002.

262 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh

The delay distribution of G is a vector of delays D(V) = [d(v1) d(v2) · · · d(vn)](where n = |V|). Similarly, a vector of slacks S(V) = [s(v1) s(v2) · · · s(vn)] is calledthe slack distribution, and |S(V)| = ∑n

k=1 s(vk) is called the total slack (denoted bySt). G is said to be (timing) safe if and only if S(V) ≥ 0 , where 0 is an n-dimensionalvector with all elements being zero. Throughout the paper, the graph under considerationis assumed to be safe initially, unless otherwise stated. In fact, if G is initially unsafeby this definition, it can be made safe by, for example, relaxing/increasing the requiredtimes for some (or all) sinks. (If this were not possible, one could re-define the safety of agraph as follows: G is said to be safe if and only if S(V) ≥ [smin smin · · · smin], wheresmin < 0 is the minimum slack in G. This guarantees the initial safety of the graph.) Ifan incremental delay �d(v) > 0 is assigned to any vertex v ∈ V , the slack distributionis updated, depending upon the topology of G. In other words, we are obtaining abudget from G by assigning incremental delays to V. This assignment procedure isknown as budget management. In general, we define the budget management (or slackassignment) instance (or instance, for brevity) to be a vector of incremental delays�D(V) = [�d(v1) �d(v2) · · · �d(vn)] > 0 which updates the delay distributionfrom D(V) to D�(V) = D(V)+�D(V), and hence updates the slack distribution fromS(V) to S�(V) (the terms “budget management” and “slack assignment” will be usedinterchangeably throughout the paper). In real applications there is a guarantee thatincremental delays are non-negative, as long as all vertices’ delays are initially set totheir minimum values. Therefore, negative incremental delays are not considered in thiswork. Since the slack distribution is strongly related to the arrival times and requiredtimes for all vertices, obtaining S�(V) is a non-trivial task which is dealt with in thenext section. If, after the budget management, G is still safe (i.e., S�(V) ≥ 0), thenthe instance is said to be effective and |�D(V)| = ∑n

k=1 �d(vk) is thereby called theeffective budget on G.

Let be a set of all possible effective instances for G. We show that || (i.e., thenumber of possible effective instances) can be unlimited. Consider a fragment of a graphwith 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 whichare 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.

Budget Management with Applications 263

Fig. 2. A directed acyclic graph with an optimal budget management instance �mD(V).

case, we observe that it is generally impractical to find a maximum budget by exhaustiveenumeration of instances on G.

An optimal budget management instance (denoted by �mD(V)) is an effective in-stance which results in the maximum effective budget Bm = |�mD(V)| = max�D(V )∈|�D(V )|.

Intuitively, a maximum effective budget represents the largest amount of incrementaldelay which can be obtained from G while keeping its safety. This budget can be used fordifferent purposes, depending on applications. While a modified version of this budgetingproblem may be required to describe exactly real-world problems, we focus on exploringthe optimal budget management itself. Application issues are discussed later in the paper.

Figure 2 shows a directed acyclic graph and an optimal budget management instancethereof.

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. Someimproved versions of the ZSA can be found in [2] and [3]. In [4] a convex programmingproblem formulation was given to tackle the delay budgeting problem which is equivalentto slack assignment. More recently, a delay-budgeting approach was presented [5] fortiming-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 arenot able to provide an “optimal” solution.

In this work we analyze some properties of slack, present an algorithm for budgetmanagement, and extend its applications to more general optimization domains. Theremainder of the paper is organized as follows. In Section 2 we describe some definitionsand characteristics of the budget management problem. Section 3 presents a heuristicalgorithm and its extension. Applications of our approach to a class of optimizationproblems in VLSI Computer-Aided Design (CAD) are given in Section 4. Section 5concludes the paper.

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 explorethe basic paradigm of the budget management problem.

2.1. Basic Characteristics of Budget Management. Consider a safe directed acyclicgraph 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 areTspec, a user-specified timing constraint on G. (Note that this assumption is not requiredin 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 onG is required to satisfy the timing constraint. Thus, only effective budget managementinstances are of interest. A property of budget management on G is that different instancescan 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) = [1 1 1 1] (note thatI and O are not shown in the figure). One can verify that �1D(V) = [5 5 0 0] and�2D(V) = [2 2 2 1] are two different effective instances on the graph. However, theresulting slack distributions are the same, i.e., S�1(V) = S�2(V) = 0. Furthermore, it isobserved that for an optimal budget management instance �mD(V), the resulting slackdistribution 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(vi ) > 0 in the resulting slack distribution, one is always able toget a larger effective budget by assigning to vertex vi an incremental delay �di = s(vi )

such that s(vi ) becomes zero. In other words, we have the following lemma (the proofis straightforward):

LEMMA 2.1. For a directed acyclic graph G = (V, E), if a budget management instance�mD(V) is optimal, then the resulting slack distribution S�m(V) = 0.

Since s(vi ) is the upper bound of incremental delay for vertex vi while keeping safetyof G, the incremental delay which an effective instance can assign to any vertex is nomore than its slack. Therefore, any effective budget on G is no more than the total slackof G. This suggests the following lemma.

LEMMA 2.2. For a directed acyclic graph G, its total slack, St, is the upper bound ofthe maximum effective budget, Bm, which results from an optimal budget managementinstance on G.

Budget Management with Applications 265

The maximum effective budget represents the real amount of total incremental delaysone can get from G while keeping its safety. If we assume that all incremental delayscan be used uniformly for specific optimization purposes, the effective budget would bethe exact cost function to be maximized, and an optimal budget management instancestands for the best solution. This assumption, however, may not be true, dependingupon applications which are discussed in Section 4. For the cases where the assumptiondoes not hold, we provide an extended version of the budget management problem onweighted graphs (the readers are referred to Section 3).

Since calculation of the total slack is straightforward, it can be used as a rough estimateof Bm. In general, however, this bound may not be tight, depending upon the specifictopologic structure and slack distribution of G (we have more discussions on this later).In Figure 3, for example, the total slack is St = 20, while the maximum effective budgetis Bm = 10.

2.2. Slack Sensitivity. From Figure 3 we see that if an incremental delay of 5 is assignedto v1 and v2 each, their slacks are updated to be zero, and so is the slack of their(transitive) fanouts (i.e., v3 and v4). 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 decreasedby �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 followingdefinitions.

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 (denotedby ε > 0) on v results in the reduced slack of u. We use u∧v to represent that u is notslack-sensitive to v.

DEFINITION 2.2. A directed path consisting of {vn1 , vn2 , . . . , vnp } is called a slack-sensitive path if vni and vni+1(i = 1, 2, . . . , p− 1) are slack-sensitive to each other (i.e.,vni ∼ vni+1 and vni+1 ∼ vni ).

DEFINITION 2.3. Suppose that vertex u is an immediate fanin of vertex v, we say thatu and v are a-controlled if a(v) = a(u)+ d(v), or r-controlled if r(v) = r(u)+ d(v).

Consider two vertices u, v as shown in Figure 4. We look into their slack-sensitivityby considering the following cases:

Case A. If u and v are both a-controlled and r-controlled (hence they have the sameslack, 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)), thenv ∼ 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)), thenu ∼ v for any ε ≤ s(v), while v∧u for any ε ≤ s(u)− s(v).

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 ifs(u) ≥ s(v), then ε ≤ s(u) − s(v) implies ε ≤ a(v) − a(u) − d(v)), while u∧v forany ε ≤ 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 followinglemma:

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 theother (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), wherea(·), 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 Dabove).

If vertices are slack-sensitive to one another, it follows that during budget manage-ment, 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-vertexcase). Here, the obtained effective budget can be viewed as a delay benefit, while thereduced slack represents a slack penalty which tends to prevent further delay budgeting.The slack sensitivity facilitates a comprehensive understanding of budget management

Budget Management with Applications 267

problems. Intuitively, it is desirable that the budget management instance be able tomaximize the benefit and minimize the penalty. This leads us to look at the problem bystarting with vertices with maximum slack in the given graph, since vertices with lessslack are not slack-sensitive to those with larger slack (see (a1) of Lemma 2.3). For ver-tices with same slack, we can identify their slack-sensitivity by establishing a so-calledslack-sensitive graph where the existence of edge (u, v) implies u ∼ v and v ∼ u, asdescribed below.

2.3. Transitive Slack-Sensitive Graph. Given a directed graph G = (V, E), we firstidentify a set of vertices Vm ⊆ V with largest slack sm, i.e., Vm = {w | w ∈ V ands(w) = sm}. Let sm−1 be the second largest slack in G (sm−1 is defined to be zero ifall vertices in G have the same slack sm). We construct a directed slack-sensitive graphGs = (Vm, Em) such that Em = {(u, v) | (u, v) ∈ E, u ∼ v andv ∼ u for ε = sm−sm−1}.A transitive slack-sensitive graph Gt = (Vm, Et

m) of Gs is a directed graph such thatthere is an edge (u, v) ∈ Et

m if and only if there is a path from u to v in Gs. SinceGt is always associated with ε, we denote the transitive slack-sensitive graph exactlyas Gt(ε) = (Vm, Et

m), where the assignment of an incremental delay ε to any vertexv ∈ Vm is reducing the slack of v and all its neighbors u ∈ Nm(v) = {w | (w, v) ∈ Et

m}by exactly ε.

Based on Lemma 2.3, we describe an algorithm for constructing Gt(ε) below:

Gt(ε)-algorithm {/* An algorithm for constructing the transitive slack-sensitive graph */

Input: a directed acyclic graph G = (V, E)

Output: a directed transitive graph Gt(ε) = (Vm, Etm)

BeginIdentify Vm, a set of vertices with maximum slack sm , and find sm−1, thesecond largest slack in G;Em ← ∅, ε← sm − sm−1;/* construct a slack-sensitive graph Gs = (Vm, Em) */for each edge (u, v) ∈ E where u, v ∈ Vm do

if u and v are a-controlled or r-controlled thenAdd an edge (u, v) to Em;

elseε ← min{ε, a(v) − a(u) − d(v), r(v) − r(u) − d(v)}, wherea(·), r(·), and d(·) are the arrival time, required time, and delay,respectively;

end ifend forConstruct a transitive slack-sensitive graph Gt(ε) = (Vm, Et

m) by addingtransitive edges to Gs = (Vm, Em);

End}

268 C. Chen, E. Bozorgzadeh, A. Srivastava, and M. Sarrafzadeh

According to Lemma 2.3, the selection of ε in the above algorithm guarantees thatthe slack of any vertex v ∈ Vm and all its neighbors Nm(v) = {w | (w, v) ∈ Et

m}will be reduced by ε if v is assigned an incremental delay ε, and that the slack of anyvertex u ∈ V\{v, Nm(v)} remains unchanged. This is an important consideration in thepresentation of our approach for finding an optimal budget management instance in thenext section.

3. A Heuristic Algorithm for Budget Management. In this section we present aheuristic algorithm for the budget management problem, which generates a maximumeffective budget on any given directed acyclic graph. We also compare it with the con-ventional ZSA and extend our algorithm to weighted graphs.

3.1. Algorithm Description. Before describing our algorithm, we briefly review theZSA [1]. The basic idea of the ZSA is to start with vertices with minimum slack andlocally perform the slack assignment such that their slacks become zero. This processrepeats 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 smin),then assigns to each vertex an incremental delay smin/Nmin, where Nmin is the numberof vertices on the path. In Figure 3, for example, the path (v1, v3, v4) is found first, andeach of the three vertices is assigned an incremental delay of 5/3 units. The slacks ofall vertices except v2 in the figure become zero, while s(v2) is updated as 5/3. Afterassigning an incremental delay of 5/3 to v2 in the second iteration, the slack distribu-tion is updated to be zero, and the algorithm terminates with the effective budget of20/3 (note that the maximum effective budget of Figure 3 is 10). This example showsthat while the ZSA is simple to use and easy to implement, the result is far from theoptimum.

In contrast, our algorithm begins with a set of vertices, Vm, with maximum slack. Atransitive slack-sensitive graph Gt(ε) = (Vm, Et

m) is then constructed. Based on discus-sions in the above section, a maximum independent set5 (MIS) [6] of Gt(ε) correspondsto a set of vertices VMIS ⊆ Vm such that the number of vertices which are slack-sensitiveto any vertex v ∈ VMIS is minimized. It should be pointed out that while the MIS prob-lem is NP-hard for general graphs, it is polynomial-time solvable for transitive graphsas discussed in this paper. We assign an incremental delay ε to each vertex in VMIS,and update the slack of vertices in Vm. This process of constructing Gt(ε), finding MIS,and updating slack continues until the slack distribution becomes zero. Clearly, eachstep of the process contributes ε · |VMIS| to the final budget. Finding an MIS of Gt(ε) isstraightforward as it can be done by iteratively identifying a vertex vmin with minimumdegree in Gt(ε).

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 connectedby an edge) such that the number of vertices in this set is maximum.

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 Tspec

Output: a budget management instance �D(V)

BeginCompute slack for each vertex v ∈ V, and find maximum slack sm ;Initialize �D(V)← 0;While (sm > 0) {

Construct a transitive slack-sensitive graph Gt(ε) using the Gt(ε)-algorithm;Find a maximum independent set, VMIS, of Gt(ε);Assign an incremental delay ε to each vertex in VMIS, i.e.,

�d(w)← �d(w)+ ε,∀w ∈ VMIS;Update slack distribution and sm ;}

End}

In the above algorithm, the budget management problem is partitioned into severalsubproblems which are optimally solved individually. However, there is no guarantee ingeneral that the algorithm is optimal for the original problem since the effects amongdifferent algorithmic steps are not accounted for. This heuristic becomes optimal whenthere are no or minimum effects between the steps. Theorems 3.1 and 3.2 below showtwo examples of such cases:

THEOREM 3.1. For any directed acyclic graph G where all vertices have the same slackand the value of ε is greater than or equals the slack, the MISA produces an optimalbudget 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 transitiveslack-sensitive graph Gt (s) by the Gt (ε)-algorithm (see Section 2.3). All these verticescan 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 eachof 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) inGt (s), the slack assignment in one component would be independent of that in another.Let Nc be the number of all cliques in Gt (s), the maximum effective budget is s · Nc.Since the cardinality of a maximum independent set in the graph is exactly Nc, the MISAprovides the effective budget of s ·Nc and hence results in an optimal budget managementinstance.

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 optimalbudget management instance by simply selecting all leaves of subtrees in the slack-sensitive graph (i.e., Gt (ε)) as a maximum independent set.

Based on the above discussions, we have the following theorem (see [6] and [7] forproof):

THEOREM 3.3. The time complexity of the MISA algorithm is O(K ·n3), where n and Kare the number of vertices and the number of distinct slacks in a given graph, respectively.The space complexity of the algorithm is O(n2) in the worst case.

In the above theorem, the value of K strongly depends upon the given graphsand their slack distributions. However, our experience shows K � n for most appli-cations [8].

3.2. Dynamic Characteristics of Budget Management. Since slack distribution is re-lated to given timing constraint Tspec, the total slack and maximum effective budget of agiven graph G = (V, E) are associated with Tspec. Let Bm(T ) be the maximum effectivebudget of G with the timing constraint T . We define the budget gradient of the graph:Bg = ∂ Bm(T )/∂T which stands for the derivative of Bm(T ) with respect to T . UnlikeBm which is the static characterization of budget management problems, Bg is a measureof the dynamic characteristic of budget management. No matter what timing constraint isspecified, we can use the MISA algorithm for G and, at the last iteration of the algorithm,obtain a specific graph G0 where all vertices have the same slack. G and G0 have thesame topology, but their slack distributions are different. If we use G0

t to represent thetransitive slack-sensitive graph of G0, then the difference between Bm(Ta) and Bm(Tb)

for G is given by (Ta− Tb) · |V0MIS|, where Ta and Tb are two different timing constraints

(Ta > Tb), and V0MIS 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 thecardinality of the MIS on the transitive slack-sensitive graph of a specific graph G0,where G0 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 2and 3, which are 3 and 2, respectively. This implies that more budget is achievable fromFigure 2 than from Figure 3 by relaxing the timing constraint. In other words, Figure 2shows a preferable dynamic characteristic during budget management. Recall that themaximum effective budgets for Figures 2 and 3 are 5 and 10, respectively, meaning thatFigure 3 has the better static performance in terms of budget management.

3.3. Comparison with the ZSA. To look at the difference between the MISA and ZSAin 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 bythe ZSA is |�ZSAD(V)| = s+ ( f − 1)s/2. In contrast, the MISA leads to the maximumeffective budget Bm = |�MISAD(V)| = fs. Thus, we have the ratio (|�MISAD(V)| −|�ZSAD(V)|)/|�ZSAD(V)| = ( f − 1)/( f + 1), which means that |�MISAD(V)| can beas high as almost twice |�ZSAD(V)|when f � 1. This shows that the MISA can provide

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. Inthis figure the total slack is St = ( f + 1) · s, and the ratio of Bm to St is f/( f + 1),indicating that St is a loose upper bound of Bm for a small value of f . For instance, Bm

only accounts for a half of St 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 budgetmanagement instance �ZSAD(V) = [2 1.5 1.5 1.5 1.5 2 2 0] (refer to Section 3.1for more details), leading to the effective budget |�ZSAD(V)| = 12. By applying theMISA, we first find sm = 5 and ε = 2 in the first iteration. Gt(ε) consists of v1, v6, and v7,and its MIS is VMIS = {v1, v6, v7}. Thus, �d(v1) = �d(v6) = �d(v7) = 2. In thesecond iteration we have sm = 3 and ε = 3. Since all vertices except v8 have sameslack sm , Gt(ε) consists of v1, v2, . . . , v7, and VMIS = {v3, v5, v6, v7}. After assign-ing an incremental delay, ε, to each vertex in VMIS, we obtain the effective budgetmanagement instance �MISAD(V) = [2 0 3 0 3 5 5 0] with the final slack dis-tribution S�MISA(V) = 0. As a result, the maximum effective budget produced by theMISA is Bm = |�MISAD(V)| = 18, which is a 50% improvement compared with|�ZSAD(V)| = 12. Note that the total slack of this graph is 27.

3.4. Extension to Weighted Graphs. In the above discussion we choose the effec-tive budget as an objective function to be maximized with the implicit assumption that

Fig. 6. Calculation of effective budget.

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, thisassumption may not be practical. For example, in some applications, vertices in the graphmay have an upper bound of delay, and it would not make sense if they were assignedincremental delays which are larger than the bound. To tackle this issue, we proposea modified version of the budget management problem on weighted graphs. In such agraph, each vertex is associated with a positive weight which measures the importanceof delay budgeting from it. Thus, the MISA discussed before can be modified by ex-tending the MIS to the maximum weighted independent set6 (MWIS) on the transitive(weighted) slack-sensitive graph Gt(ε). The objective here is to find an optimal weightedbudget management instance which leads to the maximum weighted effective budget onthe graph. In Figure 1, for example, if it is weighted and the three vertices are assumedto have the following weights, weight(v1) = weight(v2) = 2 and weight(v3) = 5, thenthe MWIS turns out to be {v3}, and the optimal weighted instance is [0 0 5] with amaximum weighted effective budget of 25. It should be pointed out that all lemmas andtheorems about unweighted graphs can be extended accordingly to deal with weightedgraphs.

It has been shown [9] that the MWIS problems on transitive graphs can be solvedby the minimum-flow algorithm in O(ne log(n2/e)) time, where n and e are the numberof vertices and the number of edges, respectively, in the graph. This implies that ifweighted graphs describe real-world problems correctly, our method is still optimal. Forcomputational efficiency, one may resort to a heuristic. A faster heuristic for findingMWIS is similar to that of finding MIS, except that instead of starting with a vertexof minimum degree for the case of MIS, we iteratively select a vertex with maximumratio r = gi/degi in Gt(ε), where gi and degi are the weight and degree of vertex vi ,respectively. Alternatively, one can use r = gi + λ/degi (where λ is a constant), and trydifferent values of λ towards a high probability of obtaining a reasonably good solution,depending upon the specific graphs under consideration. The time complexity of thisheuristic is O(n log n) [6].

4. Applications. In this section we discuss applications of budget management toa class of constrained optimization problems which arise in design and synthesis ofintegrated circuits (IC).

4.1. Gate Sizing. A gate-level implementation of IC can be mapped into a directedacyclic graph G where vertices correspond to logic gates, and edges correspond tointerconnects between the gates. The intrinsic delay of gates in the implementationis transformed into vertex delay in G (the delay of interconnects driven by a gate, ifaccounted 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 circuitperformance requirement, a gate sizing problem [10], [11] is to find a set of vertices/gatessuch that their physical sizes can be reduced (by using smaller cell instances from atarget 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 thatthe sum of their weights is maximum.

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., moreincremental delay), area/power optimization by gate sizing is strongly determined bythe budget management instance of G. An optimal budget management instance can leadto significant (total) area/power reduction (note that area/power reduction may not bemaximized due to the discrete nature of gate sizes available in the library). Consideringthe fact that different gates may show different delay–area (or delay–power) tradeoffcurves, it is preferable to define a weighted graph based on these curves, and find anoptimal weighted budget management instance on it. Figure 7 illustrates an examplecircuit, 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 timingperformance of the circuit satisfied.

4.2. Layout Design. Traditionally, budget management is used in the generation ofperformance constraints for timing-driven placement [1]–[3], [12] since the slack of avertex (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 signalnets during layout while keeping the timing constraints. This flexibility is very desirablefor most placement and routing tools. Whenever necessary, one can solve the budgetmanagement problem on a weighted graph to avoid over-estimated timing constraintson particular signal nets, whose driving gates are supposed to be assigned the higherweights. Figure 8 shows a possible layout (placement and routing) of Figure 7. The twogates (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 abouttiming degradation of the circuit. Budget management facilitates the routability of morenets within the timing constraints.

4.3. Wire Sizing. Wire sizing is a popular interconnect-driven optimization techniquefor high performance [13]. If we use vertices to represent wires in layout, and vertex delayto represent the wire width, the routing topology can be converted into a DAG, where

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 anexample of wire sizing problem in a routing channel where four tracks are available. Inthe corresponding DAG (see Figure 9(b)), the existence of a directed edge from nodevi to vj implies that the corresponding wires (i.e., wi and wj ) are physically adjacentand overlap vertically. Since a wider wire helps improve the timing performance, thebest strategy for wire sizing can be obtained by finding an optimal budget managementinstance on the graph. In this figure the two wires (i.e., w2 and w3) could be selected tobe upsized (note that the wire w4 should not be selected for upsizing).

5. Conclusion and Future Work. In this paper we have dealt with the budget manage-ment problems for directed acyclic graphs by analyzing the slack sensitivity, construct-ing the transitive slack-sensitive graph, and presenting a heuristic budget management

Fig. 9. Wire sizing in a routing channel using budget management.

Budget Management with Applications 275

algorithm. The proposed approach is based on an MIS which is polynomial-time solvablefor transitive graphs. Several applications of budget management in the VLSI CAD areahave been demonstrated. Since the optimal solution of budget management problemsrequires 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 verydesirable. 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 constructivecomments. In particular, they thank one of the reviewers for his/her invaluable feedbackand 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):860–874, August 1989.

[2] T. Gao, P. M. Vaidya, and C. L. Liu, A New Performance Driven Placement Algorithm, in Proceedingsof the International Conference on Computer-Aided Design, pp. 44–47, 1991.

[3] H. Youssef and E. Shragowitz, Timing Constraints for Correct Performance, in Proceedings of theInternational Conference on Computer-Aided Design, pp. 24–27, 1990.

[4] G. E. Tellez, D. A. Knol, and M. Sarrafzadeh, A Graph-Based Delay Budgeting Algorithm for LargeScale Timing-Driven Placement Problems, in Proceedings of the Fifth ACM/SIGDA Physical DesignWorkshop, pp. 234–240, April 1996.

[5] C. Kuo and A. C.-H Wu, Delay Budgeting for a Timing-Closure-Design Method, in Proceedings of theInternational Conference on Computer-Aided Design, pp. 202–207, 2000.

[6] R. H. Moehring, Algorithmic Aspects of Comparability Graphs and Interval Graphs, in Graphs andOrders, edited by I. Rival, Reidel, New York and London, pp. 41–101, May 1984.

[7] C. Chen and M. Sarrafzadeh, An Effective Algorithm for Gate-Level Power-Delay Tradeoff Using TwoVoltages, in Proceedings of the International Conference on Computer Design, pp. 222–227, 1999.

[8] C. Chen, A Srivastava, and M. Sarrafzadeh, On Gate Level Power Optimization Using Dual SupplyVoltages, IEEE Transactions on VLSI Systems, 9(5):616–629, October 2001.

[9] D. Kagaris and S. Tragoudas, Maximum Independent Sets on Transitive Graphs and Their Applica-tions in Testing and CAD, in Proceedings of the International Conference on Computer-Aided Design,pp. 736–740, 1997.

[10] P. Girard, C. Landrault, S. Pravossoudovitch, and D. Severac, A Gate Resizing Technique for HighReduction in Power Consumption, in Proceedings of the International Symposium on Low PowerElectronics and Design, pp. 281–286, 1997.

[11] H. R. Lin and T. Hwang, Power Reduction by Gate Sizing with Path-Oriented Slack Calculation, inProceedings of IEEE ASP-DAC’95/CHDL’95/VLSI’95, pp. 7–12, 1995.

[12] W. Swartz and C. Sechen, Timing Driven Placement for Large Standard Cell Circuits, in Proceedingsof the IEEE/ACM Design Automation Conference, pp. 211–215, 1995.

[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. 192–197, 1997.