Outline Network Flow-based Simultaneous Retiming and Slack Budgeting for Low Power Design Bei Yu 1 Sheqin Dong 1 Yuchun Ma 1 Tao Lin 1 Yu Wang 1 Song Chen 2 Satoshi GOTO 2 1 Department of Computer Science & Technology Tsinghua University, Beijing, China 2 Graduate School of IPS Waseda University, Kitakyushu, Japan Simultaneous Retiming and Slack Budgeting
Outline Outline Introduction 1 Previous Works Problem Formulation Methodology 2 MILP Formulation Remove Redundant Constraint Convex Cost Dual Flow Algorithm Experimental Results 3 Simultaneous Retiming and Slack Budgeting
Introduction Previous Works Methodology Problem Formulation Experimental Results Retiming and Slack Budgeting Timing constraint and Low Power become significant requirement. Retiming: relocate flip-flops (FFs) Slack Budgeting: relax the timing constraints of components T=9 T=9 6,0 6,0 6,0 6,0 b c b c 3,0 3,3 d d a e a e 3,0 3,0 v delay, slack 3,0 3,0 v delay, slack Simultaneous Retiming and Slack Budgeting
Introduction Previous Works Methodology Problem Formulation Experimental Results Previous Works – Retiming : [C.E.Leiserson et al. Algorithmica 1991]: first work [N. Maheshwari et al. TCAD 1998]: flow based Min-area retiming [H. Zhou, ASPDAC 2005]: incremental Min-period retiming [J. Wang & H. Zhou DAC 2008]: incremental Min-period retiming – Slack Budgeting : [R. Nair et al. TCAD 1989]: ZSA, suboptimal heuristic [C. Chen et al. TCAD 2002]: Maximum-Independent-Set, NP-complete [S.Ghiasi et al. ICCAD 2004]: Flow based algorithm Simultaneous Retiming and Slack Budgeting
Introduction Previous Works Methodology Problem Formulation Experimental Results Previous Works (Cont.) – Retiming + Slack Budgeting : [Y. Hu et al. DAC 2006]: dual-Vdd, MILP [S. Liu et al. ASPDAC 2010]: heuristic; MIS based – In previous works : A few works consider simultaneous Retiming and Slack Budgeting MILP method or heuristic method – In our works : Network-Based Algorithm Speedup Simultaneous Retiming and Slack Budgeting
Introduction Previous Works Methodology Problem Formulation Experimental Results Problem Formulation Input : Directed graph G = ( V , E , d , w ) as synchronous sequential circuit. i ∈ V : combinational gate e ij ∈ E : signal passing from gate i to j d i : delay of gate i w ij : number of FF on edge e ij period constraint T power-slack tradeoff for each slack level Output : reallocation represented by r , so minimize power consumption under the period constraint Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm MILP Formulation � P (¯ min s i ) ( II ) Condition for Φ( G ) ≤ T i ∈ V s.t . ¯ R i − ¯ r i ≥ ¯ s i ∀ i ∈ V ( IIa ) ¯ a i ≥ d i + s i ∀ i ∈ V R i − ¯ r i ≤ T ∀ i ∈ V ( IIb ) ¯ r j − ¯ r i ≥ − T · w ij ∀ ( i , j ) ∈ E ( IIc ) a i ≤ T ∀ i ∈ V 0 ≤ ¯ r i ≤ ¯ R i , ¯ N ff ∀ i ∈ V ( IId ) r i − r j ≤ w ij ∀ ( i , j ) ∈ E s 1 s k s i = { ¯ ¯ i , · · · , ¯ i } ∀ i ∈ V ( IIe ) a j ≥ a i + d i + s i if r i − r j = w ij 0 ≤ ¯ s i ≤ T ∀ i ∈ V ( IIf ) R j − ¯ ¯ R i ≥ t ij ∀ ( i , j ) ∈ E ( IIg ) Suppose R i = r i + a i / T t ij ≥ ¯ s j − T · w ij ∀ ( i , j ) ∈ E ( IIh ) ⇒ a i = T · R i − T · r i . Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm MILP Formulation (cont.) � P (¯ min s i ) ( II ) Solved by ILP Solver, but i ∈ V unacceptable runtime s.t . ¯ R i − ¯ r i ≥ ¯ s i ∀ i ∈ V ( IIa ) Need more effective method ¯ R i − ¯ r i ≤ T ∀ i ∈ V ( IIb ) r j − ¯ ¯ r i ≥ − T · w ij ∀ ( i , j ) ∈ E ( IIc ) Without two constraints, convex 0 ≤ ¯ r i ≤ ¯ R i , ¯ N ff ∀ i ∈ V ( IId ) cost dual network algorithm [R. K. s 1 s k ¯ s i = { ¯ i , · · · , ¯ i } ∀ i ∈ V ( IIe ) Ahuja et al. 2003] 0 ≤ ¯ s i ≤ T ∀ i ∈ V ( IIf ) Removes constraint ( IIh ), add R j − ¯ ¯ R i ≥ t ij ∀ ( i , j ) ∈ E ( IIg ) penalty function P ( tij ) : t ij ≥ ¯ s j − T · w ij ∀ ( i , j ) ∈ E ( IIh ) Generate new problem ( III ) Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm MILP Formulation (cont.) � P (¯ min s i ) ( II ) Solved by ILP Solver, but i ∈ V unacceptable runtime s.t . ¯ R i − ¯ r i ≥ ¯ s i ∀ i ∈ V ( IIa ) Need more effective method ¯ R i − ¯ r i ≤ T ∀ i ∈ V ( IIb ) r j − ¯ ¯ r i ≥ − T · w ij ∀ ( i , j ) ∈ E ( IIc ) Without two constraints, convex 0 ≤ ¯ r i ≤ ¯ R i , ¯ N ff ∀ i ∈ V ( IId ) cost dual network algorithm [R. K. s 1 s k ¯ s i = { ¯ i , · · · , ¯ i } ∀ i ∈ V ( IIe ) Ahuja et al. 2003] 0 ≤ ¯ s i ≤ T ∀ i ∈ V ( IIf ) Removes constraint ( IIh ), add R j − ¯ ¯ R i ≥ t ij ∀ ( i , j ) ∈ E ( IIg ) penalty function P ( tij ) : t ij ≥ ¯ s j − T · w ij ∀ ( i , j ) ∈ E ( IIh ) Generate new problem ( III ) Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm MILP Formulation (cont.) � � P (¯ s i ) + P ( t ij ) ( III ) min � P (¯ min s i ) ( II ) i ∈ V i ∈ V ( i , j ) ∈ E s.t . ¯ R i − ¯ r i ≥ ¯ s i ∀ i ∈ V ( IIa ) s.t . ( IIa ) − ( IIg ) ¯ R i − ¯ r i ≤ T ∀ i ∈ V ( IIb ) t ij ≥ − T · w ij , ∀ ( i , j ) ∈ E ¯ r j − ¯ r i ≥ − T · w ij ∀ ( i , j ) ∈ E ( IIc ) 0 ≤ ¯ r i ≤ ¯ R i , ¯ N ff ∀ i ∈ V ( IId ) s 1 s k s i = { ¯ ¯ i , · · · , ¯ i } ∀ i ∈ V ( IIe ) Given solutions of (III), heuristic 0 ≤ ¯ s i ≤ T ∀ i ∈ V ( IIf ) generate solution of (II): R j − ¯ ¯ R i ≥ t ij ∀ ( i , j ) ∈ E ( IIg ) s j = min ( t ij + T · w ij , ¯ ¯ s j ) , ∀ i ∈ FI ( j ) t ij ≥ ¯ s j − T · w ij ∀ ( i , j ) ∈ E ( IIh ) Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm Remove Redundant Constraint Denote s ∗ i where P (¯ s i ) is minimum Define Q (¯ s i ) : � P (¯ s ∗ s i ≤ s ∗ ¯ i ) if Q (¯ i s i ) = P (¯ ¯ s i > s ∗ s i ) if i Consider new problem (III’), which replaces ( IIa ) and ( IIb ) by ¯ R i − ¯ r i = ¯ s i � � ( III ′ ) Q (¯ s i ) + P ( t ij ) min � � P (¯ min s i ) + P ( t ij ) ( III ) i ∈ V ( i , j ) ∈ E i ∈ V ( i , j ) ∈ E s.t . ( IIc ) − ( IIg ) s.t . ( IIa ) − ( IIg ) ¯ R i − ¯ r i = ¯ s i ∀ i ∈ V t ij ≥ − T · w ij , ∀ ( i , j ) ∈ E t ij ≥ − T · w ij ∀ ( i , j ) ∈ E Theorem 1 For every optimal solution ( ¯ R , ¯ r , ¯ s ) of problem ( III ), there is an optimal solution ( ¯ R , ¯ r , ˆ s ) of problem ( III ′ ), and the converse also holds. Theorem 2 The constraint ( IIb ) in problem ( III ) can be removed. Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm Remove Redundant Constraint Denote s ∗ i where P (¯ s i ) is minimum Define Q (¯ s i ) : � P (¯ s ∗ s i ≤ s ∗ ¯ i ) if Q (¯ i s i ) = P (¯ ¯ s i > s ∗ s i ) if i Consider new problem (III’), which replaces ( IIa ) and ( IIb ) by ¯ R i − ¯ r i = ¯ s i � � ( III ′ ) Q (¯ s i ) + P ( t ij ) min � � P (¯ min s i ) + P ( t ij ) ( III ) i ∈ V ( i , j ) ∈ E i ∈ V ( i , j ) ∈ E s.t . ( IIc ) − ( IIg ) s.t . ( IIa ) − ( IIg ) ¯ R i − ¯ r i = ¯ s i ∀ i ∈ V t ij ≥ − T · w ij , ∀ ( i , j ) ∈ E t ij ≥ − T · w ij ∀ ( i , j ) ∈ E Theorem 1 For every optimal solution ( ¯ R , ¯ r , ¯ s ) of problem ( III ), there is an optimal solution ( ¯ R , ¯ r , ˆ s ) of problem ( III ′ ), and the converse also holds. Theorem 2 The constraint ( IIb ) in problem ( III ) can be removed. Simultaneous Retiming and Slack Budgeting
Introduction MILP Formulation Methodology Remove Redundant Constraint Experimental Results Convex Cost Dual Flow Algorithm Primal Network Flow Problem Solve problem ( III ) by Convex Cost Dual Flow a : 1 Step 1: Transformation to Primal Network Flow Problem r i and ¯ Split vertex i into two vertex ¯ R i 3 4 r i , ¯ R i ) ∈ ¯ E 1 , (¯ R i , ¯ R j ) ∈ ¯ r j ) ∈ ¯ (¯ E 2 , (¯ r i , ¯ E 3 2 Further simplify problem as follow: � min P ( s ij ) ( IV ) r1 R1 r4 ( i , j ) ∈ ¯ E ∀ ( i , j ) ∈ ¯ s.t . µ j − µ i ≥ s ij E ( IVa ) r3 R3 R4 0 ≤ µ i ≤ ¯ ∀ i ∈ ¯ N ff V ( IVb ) E 1 E 2 r2 R2 E 3 ∀ ( i , j ) ∈ ¯ l ij ≤ s ij ≤ u ij E ( IVc ) a Refer to [R. K. Ahuja et al. 2003] for detail about Convex Cost Dual Flow. Simultaneous Retiming and Slack Budgeting
Recommend
More recommend