Under the assumption that we are given a fixed gate library and reasonable wire lengths as discussed in Section 8.5, the running time is polynomial.
Note that the oracle approximation ratio η does not contribute to the number of oracle calls even if it is variable, in contrast to Theorem 8.4.
We discuss in Section 8.7 that this model is useful when it comes to randomized rounding of special cases of the discrete problem that allow more than one gate customer. In Chapter 9 we compare an implementation of this algorithm for gate sizing with an implementation of the discretized Lagrangian relaxation approach, and refer to is as the path resource sharing algorithm.
8.7 Resource Sharing for the Discrete Problem and Special
Cases
Given the good approximation for the continuous relaxation of the gate sizing prob- lem, we now turn towards the discrete problem. The obstacles that lie in the way of an approximation algorithm are a discrete sizing oracle, which is equivalent to the discrete power-delay tradeoff problem (5.2) treated in Section 5.2, and rounding. Under the assumption that an approximation algorithm for the discrete sizing oracle exists, the oracle error would directly translate into the final approximation ratio and running time, and pseudopolynomial running time could be guaranteed. We now analyze rounding from a theoretical point of view and provide a bound on the rounding error for a special case, the discrete time-cost tradeoff problem.
Discrete Gate Sizing as Resource Sharing Problem
The resource sharing algorithms from Section 8.4 and Section 8.6 can be discretized by calling a discrete sizing oracle. In both cases, the resource sharing algorithm returns a convex combination of gate size vectors, which is not necessarily a discrete solution and needs to be rounded. The arrival time variables, if existent, need not be rounded.
We discussed rounding of a convex combination of discrete sizes already in Section 7.2.2, and similar considerations apply here. It seems natural to take the best solution over all iterations, i.e. the sizes that minimize the maximum resource usage, but no approximation guarantees can be given. Alternatively, the solution from the last iteration can be a good choice.
We are also interested in theoretical guarantees that can be obtained by randomized rounding, which is used in M¨uller et al. [MRV11] in the context of global routing. Here random variables are scaled resource usages of the customers, in other words one random variable is introduced for each combination of customer and resource. In our application we only have one customer whose solution needs to be rounded, and we shortly point out why randomized rounding is not reasonable here. At the end of this section we transfer these considerations to a special case of gate sizing.
By a lemma from Raghavan [Rag88], the sum of usages of resource i for a rounded solution is larger than a certain threshold with a probability that depends on
ρi := max{gc(b)/κ | b ∈Bc, c ∈C , b occurs in convex combination}. (8.7)
Here we used the general notation from Section 8.1, and κ is the solution returned by the resource sharing algorithm. Let ˆκ be the maximum resource usage after rounding. Then the probability that ˆκ ≤ κ(1+δ) is at least 1−P
resources ie−h(δ)/ρi,
with h(δ) := (1 + δ) ln(1 + δ) − δ for δ > 0 (see M¨uller et al. [MRV11]). Obviously, δ cannot be chosen arbitrarily. In the global routing context, the values of ρi are
small, and thus δ can be chosen quite small in order to have a positive probability. In the context of gate sizing, we have only one customer and thus one random variable for each resource. Consequently, the value of each ρiwill be relatively large,
irrespective of whether we model timing constraints by edge or by path resources: For the model with path resources, ρi will be larger than one for most resources.
For edge resources, the arrival time customers additionally consume from the delay resources. Here the magnitude of each ρi depends on the ratio of the delay budget
to the maximum edge delay.
Discrete Time-Cost Tradeoff as Resource Sharing Problem
We proceed with the analysis of randomized rounding for a special case of the gate sizing problem. The discrete time-cost tradeoff problem can be regarded as gate sizing with a very simplified, and unrealistic, delay model, see also Section 5.2: The delay of each edge is independent of input slew and load capacitance. Wire edge delays are constant, and several edges within a gate are contracted to a single edge. Let further be Xdisc ⊂ Zn, and assume that each gate edge delay is proportional
to the gate size. In particular, edge delays only depend on the size of one gate, and we can model each gate as a separate customer. We already established in Section 5.2.1 that the corresponding discrete sizing oracle can be implemented in polynomial time.
Edge Resources Consider the resource sharing model with edge delay resources. We have one random variable for each resource, and randomized rounding intro- duces an additional factor of (1 + δ) into the approximation of each edge resource usage. It is easy to see that the timing constraint violation at any timing endpoint w ∈ V is bounded by the sum of timing constraint violations on a path to w, and that this bound depends on the length k of a longest path in the timing graph. Due to randomized rounding, this bound increases by a factor of (1 + δ).
Path Resources In view of that, we model paths as resources (cf. Section 8.6) such that the additional factor (1 + δ) in the approximation guarantee due to rounding directly translates to the path delays, and the bound on timing constraint violations at timing endpoints does not depend on k.