Presentation on theme: "OPTIMAL FSMD PARTITIONING FOR LOW POWER Nainesh Agarwal and Nikitas Dimopoulos Electrical and Computer Engineering University of Victoria."— Presentation transcript:
OPTIMAL FSMD PARTITIONING FOR LOW POWER Nainesh Agarwal and Nikitas Dimopoulos Electrical and Computer Engineering University of Victoria
Summary Power and energy Power gating Partitioning as means to achieve optimal power gating What next
Computation Power and Energy What is the minimum energy a computation can expend? Are we there yet?
Computation Power and Energy cont’d Feynman gives a relation between free energy and computation rate for reversible computation –E = kTlogr –Where r is the computation rate. This means that at the limit, we may expend zero energy (when r =1) but then the computation will take infinitely long.
For irreversible computation, – E=kTblog2 –Where b is the number of bits involved in the computation (entropy) Computation Power and Energy cont’d
In both cases, these quantities are wxceptionally small. –k = ×10 −23 J/K At T=300ºK, kT= 4.14x J A 50W 3GHz processor, in one cycle, consumes 1.65x10 -8 J Computation Power and Energy cont’d
DSPstone benchmarks synthesized in 180 nm and 90 nm technologies Computation Power and Energy cont’d
DSPstone dynamic energy
DSPstone total energy
Computational energy is far above the theoretical minimum (by more than 10 orders of magnitude) Technological drive reduces total energy (an order of magnitude per generation) Leakage power has become an issue Power gating may provide efficiencies to further scale the technology Computation Power and Energy cont’d
Partitioning Controller and datapath are considered together Problem is formulated as –Integer Linear Programming –Non-linear programming solved using simulated annealing
Notation s i represents a state of a FSMD v k represents a variable associated with one or more states A variable v k is considered to be shared between two states s i and s j if the variable is read and/or written at both states T ij Is the total number of bits of all variables shared by states s i and s j E ij is 1 if there is a transition between states s i and s j, otherwise it is 0.
ILP formulation Minimizes the number of bits that are shared between the partitions and the number of times that control could between the partitions –s ij is 1 if both states s i and s j are in the same partition. Otherwise, it is 0.
ILP formulation - complete
Simulated Annealing formulation x i is -1 if state s i is in the left partition, and it is 1 if s i is in the right partition These quantities count the number of variable bits and transition edges shared between the two partitions
Simulated Annealing formulation simplification steps Observe that is constant (the total number of variable-bits)
Simulated Annealing formulation Minimizes both the shared bits and the transition edges.
Evaluation Implemented four integer algorithms –8-bit counter –5/3 wavelet transform using lifting –multiplierless approximation to the eight-point Discrete Cosine Transform (DCT) –Integer transform from the H.264 standard Used CoDeL to implement the designs. Trace data were obtained from simulations using Synopsys The ILP model was solved using the CPLEX solver included in the AIMMS modeling environment The simulated annealing used MATLAB
Evaluation cont’d Power savings were estimated (no partitioned design implementation yet) –The static power savings depends on the size of the sequential logic and the portion of time spent in each partition. –The dynamic power savings depends on the number of bits that are not clocked while the partition is not powered mediated by the overhead due to data communication when the active partition changes.
Evaluation (Static Power savings)
Evaluation (Dynamic Power Savings)
Results (Simulated Annealing)
Discussion Results show that partitioning the control and datapaths could potentially save up to 50% of power (static power) Some circuits could not partition (DWT includes one tight loop where it spends more than 90% of the time) Simulated annealing and ILP (for the partitioned circuits) give identical results. Simulated annealing is much faster.
Future Extend methodology to more than 2 partitions Implement the partitioned FSMD machines and confirm the realized power savings Lower energy!