gate sizing by lagrangian relaxation revisitedjwang/gs_iccad07_talk.pdf · gate sizing by...
TRANSCRIPT
Gate Sizing by Lagrangian Relaxation Revisited
Jia Wang, Debasish Das, and Hai ZhouElectrical Engineering and Computer Science
Northwestern UniversityEvanston, Illinois, United States
October 17, 2007
1 / 41
Outline
Introduction to Gate Sizing
Generalized Convex Sizing
The Dual Problems
The DualFD Algorithm
Experiments
Conclusions
2 / 41
Gate Sizing
I A mathematical programming formulation.I Timing constraints: delays, arrival times.I Objective function: clock period, total weighted area, etc.
I Trade off performance and cost.I Optimize performance.I Optimize cost under performance constraint.
3 / 41
Previous Works – General Convex Optimization
TILOS [Fishburn & Dunlop, ’85], [Sapatnekar et al., ’93], etc.
I Transform sizing into a convex programming problem.I Assume convex delays (after variable transformation).I Convexity through geometric programming commonly.
I Apply general convex optimization techniques.I Studied for decades.I High running time.
4 / 41
Previous Works – Lagrangian Relaxation
[Chen, Chu, & Wong, ’99], [Tennakoon & Sechen, ’02, ’05]
I Special structure:timing constraints are system of difference inequalities.
I The Lagrangian dual problem is simplified.I Objective function (Lagrangian dual function):
available through Lagrangian subproblems.I Constraints: flow conservation on Lagrangian multipliers.
I Lagrangian dual function is not differentiable in general.Apply subgradient optimizations.
I Difficult to choose good initial solution and step sizes.I Pre-processing can help choosing initial solutions for some
delay models.I No universal pre-processing method for all convex delays.
5 / 41
Previous Works – Lagrangian Relaxation
[Chen, Chu, & Wong, ’99], [Tennakoon & Sechen, ’02, ’05]
I Special structure:timing constraints are system of difference inequalities.
I The Lagrangian dual problem is simplified.I Objective function (Lagrangian dual function):
available through Lagrangian subproblems.I Constraints: flow conservation on Lagrangian multipliers.
I Lagrangian dual function is not differentiable in general.Apply subgradient optimizations.
I Difficult to choose good initial solution and step sizes.I Pre-processing can help choosing initial solutions for some
delay models.I No universal pre-processing method for all convex delays.
5 / 41
Contribution
I Combine gate sizing with sequential optimization.I Revisit Lagrangian relaxation.
I Correct misunderstandings.I Check primal feasibility in dual problems.
I Identify a class of problems with differentiable dual functions.I The DualFD algorithm: use gradient and network flow.
6 / 41
Outline
Introduction to Gate Sizing
Generalized Convex Sizing
The Dual Problems
The DualFD Algorithm
Experiments
Conclusions
7 / 41
Generalized Convex Sizing (GCS)
Minimize C (x)
s.t. ti + di ,j(x)− tj ≤ 0,∀(i , j) ∈ E ,
x ∈ Ω.
I G = (V ,E ): a directed graph, the system structure.
I x: the system parameters belonging to
Ω∆= x : lk ≤ xk ≤ uk ,∀1 ≤ k ≤ n.
I t: (relative) arrival times.
I C (x), di ,j(x): objective function and delays, twicedifferentiable and convex.
8 / 41
The GCS Formulation
I Timing specification in sequential circuits.
Feasible timing ⇔ No positive cycle
I Prefer edge delays to vertex delays for accuracy.I Timing arcs in one gate/cell.I Rise/fall delay and slew.
I Flexibility in choosing x.I Logarithms of sizes (gate, wire, transistor, etc. )for Elmore and
posynomial delays.I Clock skews and clock period.
9 / 41
GCS is Convex
I GCS formulation is convex.I Objective function and feasible set are convex.I Not necessary to establish convexity through geometric
programming.
I Non-convex formulations can be transformed into convexones.
I Properties of convex formulations are not necessarily hold forequivalent non-convex ones.
10 / 41
GCS is Convex
I GCS formulation is convex.I Objective function and feasible set are convex.I Not necessary to establish convexity through geometric
programming.
I Non-convex formulations can be transformed into convexones.
I Properties of convex formulations are not necessarily hold forequivalent non-convex ones.
10 / 41
Proper GCS Problems
DefinitionA GCS is proper iff:
∀x ∈ Ω,∀z 6= 0, z>HC (x)z 6= 0.
I With differentiable dual functions (shown later).I di,j(x) are irrelevant.
I Optimizing total positive weighted area is proper.
11 / 41
Simultaneous Sizing and Clock Skew Optimization
I Minimize total area under performance bound while allowingclock skew optimization.
I Handle long path conditions (setup condition).
I Assume post-processing for repairing of violated short pathconditions (hold condition).
I Not proper: ∂C∂s = 0,∀clock skew variable s.
I Cancel s. Transform to a proper one.
12 / 41
Simultaneous Sizing and Clock Skew OptimizationMake a Non-Proper Problem Proper
I Constraints concerning clock skew sk :
(tI + sk ≤ tQk) ∧ (tDk
− sk ≤ tO) ∧ (s−k ≤ sk ≤ s+k )
I Cancel sk : [tDk− tO, tQk
− tI]∩[s−k , s+k ] 6= ∅. Equivalently:
(tDk− s+
k ≤ tO) ∧ (tI + s−k ≤ tQk) ∧ (tDk
− tQk≤ T )
13 / 41
Outline
Introduction to Gate Sizing
Generalized Convex Sizing
The Dual Problems
The DualFD Algorithm
Experiments
Conclusions
14 / 41
Lagrangian Relaxation Overview
I Lagrangian function:
L∗(x, t, f) = C (x) +∑
(i ,j)∈E
fi ,j(ti + di ,j(x)− tj)
I Lagrangian subproblem:
L(f) = infL∗(x, t, f) : x ∈ Ω, t ∈ R |V |
I Lagrangian dual problem (D-GCS):
Maximize L(f)
s.t. f ∈ N .
N : non-negative f.
15 / 41
Duality Gap
P∆= infC (x) : x ∈ X,D ∆
= supL(f) : f ∈ N.
X : feasible x.
I Zero duality gap is necessary: P = D.
I Establish P = D through Strong Duality Theorem.I Strictly feasible solution ⇒ exists saddle point (x, t, f):
D = L(f) = L∗(x, t, f) = C (x) = P.
I Misunderstanding: previous work applied Strong DualityTheorem to original non-convex formulation (transformationwas necessary for convexity).
I GCS is convex without transformation.
16 / 41
Duality Gap
P∆= infC (x) : x ∈ X,D ∆
= supL(f) : f ∈ N.
X : feasible x.
I Zero duality gap is necessary: P = D.I Establish P = D through Strong Duality Theorem.
I Strictly feasible solution ⇒ exists saddle point (x, t, f):
D = L(f) = L∗(x, t, f) = C (x) = P.
I Misunderstanding: previous work applied Strong DualityTheorem to original non-convex formulation (transformationwas necessary for convexity).
I GCS is convex without transformation.
16 / 41
Duality Gap
P∆= infC (x) : x ∈ X,D ∆
= supL(f) : f ∈ N.
X : feasible x.
I Zero duality gap is necessary: P = D.I Establish P = D through Strong Duality Theorem.
I Strictly feasible solution ⇒ exists saddle point (x, t, f):
D = L(f) = L∗(x, t, f) = C (x) = P.
I Misunderstanding: previous work applied Strong DualityTheorem to original non-convex formulation (transformationwas necessary for convexity).
I GCS is convex without transformation.
16 / 41
Duality Gap
I What if there is no strictly feasible solution?
I Regularity condition ⇒ zero duality gap. [Rockafellear 1971]
I More general than Strong Duality Theorem for zero dualitygap.
I No guarantee for saddle points as Strong Duality Theorem.
∀f ∈ N , L(f) < D.
17 / 41
Duality Gap
I What if there is no strictly feasible solution?
I Regularity condition ⇒ zero duality gap. [Rockafellear 1971]
I More general than Strong Duality Theorem for zero dualitygap.
I No guarantee for saddle points as Strong Duality Theorem.
∀f ∈ N , L(f) < D.
17 / 41
Simplify the Dual Problem
I Flow conservation on G :
F ∆= f :
∑(i ,k)∈E
fi ,k =∑
(k,j)∈E
fk,j ,∀k ∈ V .
I L(f) = −∞ for f /∈ F , since
∀f /∈ F ,M ∈ R, x ∈ Ω,∃t ∈ R |V |, L∗(x, t, f) < M.
I Simplify D-GCS into FD-GCS:
Maximize L(f)
s.t. f ∈ F ∩N .
I Misunderstanding: previous works obtained FD-GCS by theKarush-Kuhn-Tucker (KKT) conditions ∂L∗
∂tk= 0. However,
KKT conditions are not necessary conditions.
18 / 41
Simplify the Dual Problem
I Flow conservation on G :
F ∆= f :
∑(i ,k)∈E
fi ,k =∑
(k,j)∈E
fk,j ,∀k ∈ V .
I L(f) = −∞ for f /∈ F , since
∀f /∈ F ,M ∈ R, x ∈ Ω,∃t ∈ R |V |, L∗(x, t, f) < M.
I Simplify D-GCS into FD-GCS:
Maximize L(f)
s.t. f ∈ F ∩N .
I Misunderstanding: previous works obtained FD-GCS by theKarush-Kuhn-Tucker (KKT) conditions ∂L∗
∂tk= 0. However,
KKT conditions are not necessary conditions.
18 / 41
A trivial example that is not trivial.
Will the extreme cases happen for sizing?
I Optimal solutions do NOT satisfy KKT conditions.
I No saddle point.
∀f ∈ F ∩N , L(f) < D.
.
19 / 41
A trivial example that is not trivial.
Optimize a single inverter with size ex and fixed driver/load:
Minimize ex
s.t. t1 + ex ≤ t2, t2 + e−x ≤ t3, t3 ≤ t1 + 2,
− ln 2 ≤ x ≤ ln 2.
I Single feasible solution x = 0.Optimal but not strictly feasible.
I KKT conditions cannot be satisfied by x = 0:
0 =∂L∗
∂x= ex + f1,2e
x − f2,3e−x = 1 + f1,2 − f2,3,
0 =∂L∗
∂t2= f2,3 − f1,2.
20 / 41
A trivial example that is not trivial.
I Since f ∈ F ∩N , assume β = f1,2 = f2,3 = f3,1 ≥ 0.
I Compute L(f):
L(f) = q(β) =
1+β
2 , if 0 ≤ β < 13
2√1+1/β+1
, if β ≥ 13
I q(β) increases from 12 to 1 when β increases from 0 to +∞.
I Therefore,∀f ∈ F ∩N , L(f) < 1 = D.
21 / 41
Further Simplification of the Dual Problem
I Simplify L(f) given f ∈ F :
Pf(x)∆= C (x) +
∑(i ,j)∈E
fi ,jdi ,j(x),
Q(f)∆= infPf(x) : x ∈ Ω.
⇒ L(f) = Q(f),∀f ∈ F .
I SD-GCS:
Maximize Q(f)
s.t. f ∈ F ∩N .
I SD-GCS is different from FD-GCS.
I D-GCS, FD-GCS, SD-GCS are equivalent.
22 / 41
Infeasibility for GCS
I GCS can be infeasible: clock period is too small.
I C (x) is continuous and Ω is compact:
∃U,∀x ∈ Ω,C (x) ≤ U.
I Assume zero duality gap, GCS is feasible iff
∀f ∈ F ∩N ,Q(f) ≤ U.
23 / 41
Outline
Introduction to Gate Sizing
Generalized Convex Sizing
The Dual Problems
The DualFD Algorithm
Experiments
Conclusions
24 / 41
Differentiable Dual Objective Q(f)
I Sufficient condition (from textbook):
∃xf ∈ Ω,∀x ∈ Ω,Q(f) = Pf(xf) < Pf(x).
I Assume the condition is NOT satisfied.
∃x′ 6= x′′ ∈ Ω,Q(f) = Pf(x′) = Pf(x
′′)
⇒ ∀0 ≤ γ ≤ 1,Q(f) = Pf((1− γ)x′ + γx′′)
⇒ (x′′ − x′)>HPf(x′′ + x′
2)(x′′ − x′) = 0
⇒ (x′′ − x′)>HC (x′′ + x′
2)(x′′ − x′) = 0
GCS is NOT proper!I For proper GCS problems, Q(f) is differentiable, and
∂Q(f)
∂fi ,j= di ,j(xf).
25 / 41
Improving Feasible Direction
Method of feasible directions:Find ∆f, an ascent direction that is also feasible (w.r.t. SD-GCS).
∃λ > 0, (Q(f + λ∆f) > Q(f)) ∧ (f + λ∆f ∈ F ∩N ).
How to find?
I d(xf) is the gradient of Q(f):
∆f>d(xf) > 0 ⇒ ∃λ > 0,Q(f + λ∆f) > Q(f).
I Flow conservation:
f +∆f ∈ F ∩N ⇒ ∀0 ≤ λ ≤ min∆fi,j<0
−fi ,j
∆fi ,j, f +λ∆f ∈ F ∩N .
26 / 41
Improving Feasible Direction
Method of feasible directions:Find ∆f, an ascent direction that is also feasible (w.r.t. SD-GCS).
∃λ > 0, (Q(f + λ∆f) > Q(f)) ∧ (f + λ∆f ∈ F ∩N ).
How to find?
I d(xf) is the gradient of Q(f):
∆f>d(xf) > 0 ⇒ ∃λ > 0,Q(f + λ∆f) > Q(f).
I Flow conservation:
f +∆f ∈ F ∩N ⇒ ∀0 ≤ λ ≤ min∆fi,j<0
−fi ,j
∆fi ,j, f +λ∆f ∈ F ∩N .
26 / 41
Improving Feasible Direction
I The direction finding (DF) problem:
Maximize ∆f>d(xf)
s.t. f + ∆f ∈ F ∩N ,
−u ≤ ∆fi ,j ≤ u,∀(i , j) ∈ E .
∆f are decision variables, u is positive constant.
I ∆f>d(xf): first order approx. of Q(f + ∆f)− Q(f).
I DF is a min-cost network flow problem.
I For optimal ∆f, ∆f>d(xf) ≥ 0. And
∆f>d(xf) = 0 ⇒ xf is optimal for GCS.
27 / 41
The DualFD Algorithm
I Iterative algorithm. Q(f) is increasing every iteration.I Q(f) is convex ⇒ local maximal is global maximum.I For subgradient optimizations, Q(f) may decrease.
I Each iteration,I Solve DF for ∆f.I Perform a line search to find Q(f + λ∆f) > Q(f)I Check GCS infeasibility when computing Q.I Claim optimality if the changes are marginal.
28 / 41
Outline
Introduction to Gate Sizing
Generalized Convex Sizing
The Dual Problems
The DualFD Algorithm
Experiments
Conclusions
29 / 41
Experimental Setup
I Minimize total area under performance bound with Elmoredelay model.
I ISCAS89 sequential circuits, 29 totally.Largest: ∼55000 vertices, ∼70000 edges, ∼21000 variables.
I Implement DualFD algorithm in C++.
I Use the CS2 min-cost network flow solver for DF. [Goldberg]
I Compare to subgradient optimizations: SubGrad.
30 / 41
Experimental Results
I 15 largest benchmarks.I Clock period achieved T vs. target clock period T0
I s838 is NOT feasible.
31 / 41
Experimental Results
I 15 largest benchmarks.
I Compare area, dual objective, and running time.
DualFD SubGradname area dual t(s) area dual t(s)s832 1060 1074 8.28 493 493 0.11s838 2916 80458 0.07 10189 -257K 51.51s953 776 775 5.92 3449 -80K 55.15s1196 1089 1088 10.90 1642 -14K 54.88s1238 1080 1080 7.80 974 -1823 27.19s1423 1668 1670 1.53 3346 -251K 120.76s1488 2055 2107 28.22 1150 557 31.28s1494 2161 2318 28.33 1140 529 32.02s5378 5856 6083 91.49 9396 -52K 308.39s9234 12935 15508 236.49 11517 -46K 384.86s13207 14608 14608 111.91 15642 -121K 432.81s15850 17766 17766 229.25 20628 -287K 600.10s35932 33522 44344 304.61 80650 -1M 600.34s38417 42176 44551 301.48 49126 -363K 600.35s38584 34973 34973 149.87 35016 -23K 600.19
32 / 41
How far away are we from the optimals?
I Collect feasible solutions to estimate the duality gap.
I 15 out of 29 benchmarks.
34 / 41
Outline
Introduction to Gate Sizing
Generalized Convex Sizing
The Dual Problems
The DualFD Algorithm
Experiments
Conclusions
36 / 41
Conclusions
I Formulate GCS problems to handle sequential optimization.
I Correct misunderstandings when applying Lagrangianrelaxation.
I Show how to detect infeasibility in GCS.
I Prove gradient exists for proposed proper GCS problems.
I Design the DualFD algorithm to solve proper GCS problems.
37 / 41
L(f) vs. Q(f)
L(f) = Q(f), ∀f ∈ F ∩N ,
L(f) = −∞, ∀f ∈ N − F ,
Q(f) 6= −∞, ∀f ∈ N − F .
I L(f) is convex but not differentiable for f ∈ N .
I Q(f) is convex and differentiable for f ∈ N .
40 / 41