25
Power Optimization Using Divide-and- Conquer Techniques for Minimization of the Number of Operations INKI HONG and MIODRAG POTKONJAK University of California at Los Angeles and RAMESH KARRI University of Massachusetts at Amherst We introduce an approach for power optimization using a set of compilation and architectural techniques. The key technical innovation is a novel divide-and-conquer compilation technique to minimize the number of operations for general computations. Our technique optimizes not only a significantly wider set of computations than the previously published techniques, but also outperforms (or performs at least as well as other techniques) on all examples. Along the architectural dimension, we investigate coordinated impact of compilation techniques on the number of processors which provide optimal trade-off between cost and power. We demon- strate that proper compilation techniques can significantly reduce power with bounded hardware cost. The effectiveness of all techniques and algorithms is documented on numerous real-life designs. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors—Compil- ers; Optimization General Terms: Algorithms Additional Key Words and Phrases: Code generation, transformations 1. INTRODUCTION 1.1 Motivation The pace of progress in integrated circuits and system design has been dictated by the push from application trends and the pull from technology A preliminary version of this paper was presented at the 1997 ACM/IEEE International Conference on Computer-Aided Design, San Jose, California, November 10 –13, 1997. Authors’ addresses: I. Hong and M. Potkonjak, Computer Science Department, University of California at Los Angeles, Los Angeles, CA 90095-1596; R. Karri, Department of Electrical & Computer Engineering, University of Massachusetts at Amherst, Amherst, MA 01003. Permission to make digital / hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. © 1999 ACM 1084-4309/99/1000 –0405 $5.00 ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999, Pages 405–429.

Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

Power Optimization Using Divide-and-Conquer Techniques for Minimization ofthe Number of Operations

INKI HONG and MIODRAG POTKONJAKUniversity of California at Los AngelesandRAMESH KARRIUniversity of Massachusetts at Amherst

We introduce an approach for power optimization using a set of compilation and architecturaltechniques. The key technical innovation is a novel divide-and-conquer compilation techniqueto minimize the number of operations for general computations. Our technique optimizes notonly a significantly wider set of computations than the previously published techniques, butalso outperforms (or performs at least as well as other techniques) on all examples. Along thearchitectural dimension, we investigate coordinated impact of compilation techniques on thenumber of processors which provide optimal trade-off between cost and power. We demon-strate that proper compilation techniques can significantly reduce power with boundedhardware cost. The effectiveness of all techniques and algorithms is documented on numerousreal-life designs.

Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors—Compil-ers; Optimization

General Terms: Algorithms

Additional Key Words and Phrases: Code generation, transformations

1. INTRODUCTION

1.1 Motivation

The pace of progress in integrated circuits and system design has beendictated by the push from application trends and the pull from technology

A preliminary version of this paper was presented at the 1997 ACM/IEEE InternationalConference on Computer-Aided Design, San Jose, California, November 10–13, 1997.Authors’ addresses: I. Hong and M. Potkonjak, Computer Science Department, University ofCalifornia at Los Angeles, Los Angeles, CA 90095-1596; R. Karri, Department of Electrical &Computer Engineering, University of Massachusetts at Amherst, Amherst, MA 01003.Permission to make digital / hard copy of part or all of this work for personal or classroom useis granted without fee provided that the copies are not made or distributed for profit orcommercial advantage, the copyright notice, the title of the publication, and its date appear,and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, torepublish, to post on servers, or to redistribute to lists, requires prior specific permissionand / or a fee.© 1999 ACM 1084-4309/99/1000–0405 $5.00

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999, Pages 405–429.

Page 2: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

improvements. The goal and role of designers and design tool developershas been to develop design methodologies, architectures, and synthesistools which connect changing worlds of applications and technologies.

Recently, a new class of portable applications has been forming a newmarket at an exceptionally high rate. The applications and products of theportable wireless market are defined by their intrinsic demand for portabil-ity, flexibility, cost sensitivity, and by their high digital signal processing(DSP) content [Schneiderman 1994]. Portability translates into the crucialimportance of low power design, flexibility results in a need for program-mable platforms implementation, and cost sensitivity narrows architec-tural alternatives to a uniprocessor or an architecture with a limitednumber of off-the-shelf standard processors. The key optimization degree offreedom for relaxing and satisfying this set of requirements comes fromproperties of typical portable computations. The computations are mainlylinear, but rarely 100% linear due to either need for adaptive algorithms ornonlinear quantization elements. Such computations are well suited forstatic compilation and intensive quantitative optimization.

Two main recent relevant technological trends are reduced minimalfeature size and therefore reduced voltages of deep submicron technologies,and the introduction of ultra low power technologies. In widely dominatingdigital CMOS technologies, the power consumption is proportional tosquare of supply voltage ~Vdd!. The most effective techniques try to reduceVdd while compensating for speed reduction using a variety of architecturaland compilation techniques [Singh et al. 1995].

The main limitation of conventional technologies with respect to powerminimization is also related to Vdd and threshold voltage ~Vt!. In tradi-tional bulk silicon technologies both voltages are commonly limited torange above 0.7V. However, in the last few years ultra low power silicon oninsulator (SOI) technologies, such as SIMOX (SOI using separation ofoxygen), bond and etchback SOI (BESOI), and silicon-on-insulator-with-active-substrate (SOIAS), have reduced both Vdd and Vt to well below 1V[El-Kareh et al. 1995; Ipposhi et al. 1995]. There are a number of reportedICs which have values for Vdd and Vt in a range as low as 0.05V–0.1V[Chandrakasan et al. 1996].

Our goal in this paper is to develop a system of synthesis and compilationmethods and tools for realization of portable applications. Technicallyrestated, the primary goal is to develop techniques which efficiently com-pile typical DSP wireless applications on single and multiple programma-ble processors assuming both traditional bulk silicon and the newer SOItechnologies. Furthermore, we study achievable power-cost trade-offs whenparallelism is traded for power reduction on programmable platforms.

1.2 Design Methodology: What is New?

Our design methodology can be briefly described as follows: Given through-put, power consumption, and cost requirements for a computation, our goalis to find cost-effective, power-efficient solutions on single or multiple

406 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 3: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

programmable processor platforms. The first step is to find power-efficientsolutions for a single processor implementation by applying the newtechnique described in Section 4. The second step is to continue to addprocessors until the reduction in average power consumption is not enoughto justify the cost of an additional processor. This step generates cost-effective and power-efficient solutions. This straightforward design meth-odology produces implementations with low cost and low power consump-tion for the given design requirements.

The main technical innovation of the research presented in this paper isthat it is the first approach for the minimization of the number ofoperations in arbitrary computations. The approach optimizes not only asignificantly wider set of computations than the other previously publishedtechniques [Parhi and Messerschmitt 1991; Srivastava and Potkonjak1996], but also outperforms or performs at least as well as other techniqueson all examples. The novel divide-and-conquer compilation procedure com-bines and coordinates power and enabling effects of several transforma-tions (using a well organized ordering of transformations) to minimize thenumber of operations in each logical partition. To the best of our knowledgethis is the first approach for minimization of the number of operationswhich in an optimization-intensive way treats general computations.

The second technical highlight is the quantitative analysis of cost vspower trade-off on multiple programmable processor implementation plat-forms. We derive a condition under which the optimization of the cost-power product using parallelization is beneficial.

1.3 Paper Organization

The rest of the paper is organized in the following way: First, in the nextsection we summarize the relevant background material. In Section 3 wereview the related work on power estimation and optimization as well as onprogram optimization using transformations, and in particular, the mini-mization of the number of operations. Sections 4 and 5 are the technicalcore of this paper and present a novel approach for minimization of thenumber of operations for general DSP computations and explore compilerand technology impact on power-cost tradeoffs of multiple processors-basedlow power application-specific systems. We then present comprehensiveexperimental results and their analysis in Section 6 followed by conclusionsin Section 7.

2. PRELIMINARIES

Before we delve into technical details of the new approach, we outline therelevant preliminaries in this section. In particular, we describe applicationand computation abstractions, selected implementation platform at thetechnology and architectural level, and power estimation related back-ground material.

Power Optimization Using Divide-and-Conquer Techniques • 407

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 4: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

2.1 Computational Model

We selected as our computational model synchronous data flow (SDF) [Leeand Messerschmitt 1987; Lee and Parks 1995]. Synchronous data flow(SDF) is a special case of data flow in which the number of data samplesproduced or consumed by each node on each invocation is specified a priori.Nodes can be scheduled statically at compile time onto programmableprocessors. We restrict our attention to homogeneous SDF (HSDF), whereeach node consumes and produces exactly one sample on every execution.The HSDF model is well suited for specification of single-task computationsin numerous application domains such as digital signal processing, videoand image processing, broadband and wireless communications, control,information and coding theory, and multimedia.

The syntax of a targeted computation is defined as a hierarchical controldata-flow graph (CDFG) [Rabaey et al. 1991]. The CDFG represents thecomputation as a flow graph, with nodes, data edges, and control edges.The semantics underlying the syntax of the CDFG format, as we alreadystated, is that of the synchronous data flow computation model.

The only relevant speed metric is throughput, the rate at which theimplementation is capable of accepting and processing the input samplesfrom two consecutive iterations. We opted for throughput as the selectedspeed metric since in essentially all DSP and communication wirelesscomputations latency is not a limiting factor, where latency is defined to bethe delay between the arrival of a set of input samples and the productionof the corresponding output as defined by the specification.

2.2 Hardware Model

The basic building block of the targeted hardware platform is a singleprogrammable processor. We assume that all types of operations take oneclock cycle for their execution, as it is the case in many modern DSPprocessors. The adaptation of the software and algorithms to other hard-ware timing models is straightforward. In the case of a multiprocessor, wemake the following additional simplifying assumptions: (i) all processorsare homogeneous and (ii) interprocessor communication does not cost anytime and hardware. This assumption is reasonable because multiple pro-cessors can be placed on single integrated circuit due to increased integra-tion, although it would be more realistic to assume additional hardwareand delay penalty for using multiple processors.

2.3 Power and Timing Models in Conventional and Ultra Low-Power Technology

It is well known that there are three principal components of powerconsumption in CMOS integrated circuits: switching power, short-circuitpower, and leakage power. The switching power is given by Pswitching 5aCLVdd

2 fclock, where a is the probability that the power consuming switch-ing activity, i.e., transition from 0 to 1, occurs, CL is the loading capaci-tance, Vdd is the supply voltage, and fclock is the system clock frequency.

408 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 5: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

aCL is defined to be effective switched capacitance. In CMOS technology,switching power dominates power consumption. The short-circuit powerconsumption occurs when both NMOS and CMOS transistors are “ON” atthe same time while the leakage power consumption results from reversebiased diode conduction and subthreshold operation. We assume thateffective switched capacitance increases linearly with the number of proces-sors and supply voltage can not be lowered below threshold voltage Vt, forwhich we use several different values between 0.06V and 1.1V for bothconventional and ultra low-power technology.

It is also known that reduced voltage operation comes at the cost ofreduced throughput [Chandrakasan et al. 1992]. The clock speed T followsthe following formula: T 5 CVdd / ~Vdd 2 Vt!

2 where C is a constant[Chandrakasan et al. 1992]. The maximum rate at which a circuit isclocked monotonically decreases as the voltage is reduced. As the supplyvoltage is reduced close to Vt, the rate of clock speed reduction becomeshigher.

2.4 Architecture-Level Power Models for Single and Multiple ProgrammableProcessors

The power model used in this research is built on three statisticallyvalidated and experimentally established facts. The first fact is that thenumber of operations at the machine code level is proportional to thenumber of operations at high-level language [Hoang and Rabaey 1993]. Thesecond fact is that the power consumption in modern programmableprocessors such as the Fujitsu SPARClite MB86934, a 32-bit RISC micro-controller, is directly proportional to the number of operations, regardlessof the mix of operations being executed [Tiwari and Lee 1995]. Tiwari andLee [1995] report that all the operations including integer ALU instruc-tions, floating point instructions, and load/store instructions with lockedcaches incur similar power consumption. Since the use of memory operandsresults in additional power overhead due to the possibility of cache misses,we assume that the cache locking feature is exploited as far as possible. Ifthe cache locking feature cannot be used for the target applications, thepower consumption by memory traffic is likely to be reduced by theminimization of the number of operations since less operations usuallyimply less memory traffic. When the power consumption depends on themix of operations being executed as in the case of the Intel 486DX2 [Tiwariet al. 1994], a more detailed hardware power model may be needed.However, it is obvious that in all proposed power models for programmableprocessors, significant reduction in the number of operations inevitablyresults in lower power. The final empirical observation is related to powerconsumption and timing models in digital CMOS circuits presented in theprevious subsection.

Based on these three observations, we conclude that if the targetedimplementation platform is a single programmable CMOS processor, areduction in the number of operations is the key to power minimization.

Power Optimization Using Divide-and-Conquer Techniques • 409

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 6: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

When the initial number of operations is Ninit, the optimized number ofoperations is Nopt, the initial voltage is Vinit, and the scaled voltage is Vopt,the optimized power consumption relative to the initial power consumptionis ~Vopt@Vinit!

2~Nopt@Ninit!. For multiprocessors, assuming that there is nocommunication overhead, the optimized power consumption for n proces-sors relative to that for a single processor is ~Vn@V1!

2, where V1 and Vn arethe scaled voltages for single and n processors, respectively.

3. RELATED WORK

The related work can be classified along two lines: low power and imple-mentation optimization, and in particular, minimization of the number ofoperations using transformations. The relevant low power topics can befurther divided in three directions: power minimization techniques, powerestimation techniques, and technologies for ultra low power design. Therelevant compilation techniques are also grouped in three directions:transformations, ordering of transformations, and minimization of thenumber of operations.

In the last five years power minimization has been arguably the mostpopular optimization goal. This is mainly due to the impact of the rapidlygrowing market for portable computation and communication products.Power minimization efforts across all level of design abstraction process aresurveyed in Singh et al. [1995].

It is apparent that the greatest potential for power reduction is at thehighest levels (behavioral and algorithmic). Chandrakasan et al. [1992]demonstrated the effectiveness of transformations by showing an order ofmagnitude reduction in several DSP computationally intensive examplesusing a simulated annealing-based transformational script. Raghunathanand Jha [1994] and Goodby et al. [1994] also proposed methods for powerminimization which explore trade-offs between voltage scaling, throughput,and power. Chatterjee and Roy [1994] targeted power reduction in fullyhardwired designs by minimizing the switching activity. Chandrakasan etal. [1994] and Tiwari et al. [1994] did work in power minimization whenprogrammable platforms are targeted.

Numerous power modeling techniques have been proposed at all levels ofabstraction in the synthesis process. As documented in Singh et al. [1995]while there have been numerous efforts at the gate level, at the higher levelof abstraction relatively few efforts have been reported.

Chandrakasan et al. [1995] developed a statistical technique for powerestimation from the behavioral level that takes into account all componentsat the layout level including interconnect. Landman and Rabaey [1996]developed an activity-sensitive architectural power analysis approach forexecution units in ASIC designs. Finally, in a series of papers it wasestablished that the power consumption of modern programmable proces-sors is directly proportional to the number of operations, regardless of whatthe mix of operations being executed is [Lee et al. 1996; Tiwari et al. 1994].

410 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 7: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

Transformations have been widely used at all levels of abstraction in thesynthesis process, e.g., Dey et al. [1992]. However, there is strong experi-mental evidence that they are most effective at the highest levels ofabstraction, such as system and, in particular, behavioral synthesis. Trans-formations only received widespread attention in high-level synthesis [Kuand Micheli 1992; Potkonjak and Rabaey 1992; Walker and Camposano1991].

Comprehensive reviews of use of transformations in parallelizing compil-ers, state-of-the-art general purpose computing environments, and VLSIDSP design are given in Banerjee et al. [1993], Bacon et al. [1994], andParhi [1995], respectively. The approaches for transformation ordering canbe classified in seven groups: local (peephole) optimization, static scripts,exhaustive search-based “generate and test” methods, algebraic ap-proaches, probabilistic search techniques, bottleneck removal methods, andenabling-effect based techniques.

Probably the most widely used technique for ordering transformations islocal (peephole) optimization [Tanenbaum et al. 1982], where a compilerconsiders only a small section of code at a time in order to apply, one byone, iteratively and locally, all available transformations. The advantagesof the approach are that it is fast and simple to implement. However,performances are rarely high, and usually inferior to those obtained byother approaches.

Another popular technique is a static approach to transformations order-ing where their order is given a priori, most often in the form of a script[Ullman 1989]. Script development is based on experience of the compiler/synthesis software developer. This method has at least three drawbacks: itis a time consuming process which involves a lot of experimentation onrandom examples in an ad-hoc manner, any knowledge about the relation-ship among transformations is only implicitly used, and the quality of thesolution is often relatively low for programs/design which have differentcharacteristics than than those used for the development of the script.

The most powerful approach to transformation ordering is enumeration-based “generate and test” [Massalin 1987]. All possible combinations oftransformations are considered for a particular compilation and the bestone is selected using branch-and-bound or dynamic programming algo-rithms. The drawback is the large run time, often exponential in thenumber of transformations.

Another interesting approach is to use a mathematical theory behind theordering of some transformations. However, this method is limited to onlyseveral linear loop transformations [Wolf and Lam 1991]. Simulated an-nealing, genetic programming, and other probabilistic techniques in manysituations provide a good trade-off between the run time and the quality ofsolution when little or no information about the topology of the solutionspace is available. Recently, several probabilistic search techniques havebeen proposed for ordering of transformations in both compiler and behav-ioral synthesis literature. For example, backward-propagation-based neu-ral network techniques were used for developing a probabilistic approach to

Power Optimization Using Divide-and-Conquer Techniques • 411

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 8: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

the application of transformations in compilers for parallel computers [Foxand Koller 1989] and approaches which combine both simulated annealing-based probabilistic and local heuristic optimization mechanisms to demon-strate significant reductions in area and power [Chandrakasan et al. 1995].

In behavioral and logic synthesis, several bottleneck identification andelimination approaches for ordering of transformations have been proposed[Dey et al. 1992; Iqbal et al. 1993]. This line of work mainly addressesthroughput and latency optimization problems, where the bottlenecks canbe easily identified and well quantified. Finally, the idea of enabling anddisabling transformations has recently been explored in a number ofcompilations [Whitfield and Soffa 1990] and high-level synthesis papers[Potkonjak and Rabaey 1992; Srivastava and Potkonjak 1996]. Using thisidea several very powerful transformations scripts have been developed,such as one for maximally and arbitrarily fast implementation of linearcomputations [Potkonjak and Rabaey 1992], and joint optimization oflatency and throughput for linear computations [Srivastava and Potkonjak1994]. Also, the enabling mechanism has been used as a basis for severalapproaches for the ordering of transformations for optimization of generalcomputations [Huang and Rabaey 1994]. The key advantage to this class ofapproaches is related to the intrinsic importance and power of the enabling/disabling relationship between a pair of transformations.

Transformations have been used for optimization of a variety of designand program metrics, such as throughput, latency, area, power, permanentand temporal fault-tolerance, and testability. Interestingly, the power oftransformations is most often focused on secondary metrics such as paral-lelism, instead of on primary metrics such as the number of operations.

In compiler domain, constant and copy propagation and common subex-pression techniques are often used. It can easily be shown that the constantpropagation problem is undecidable when the computation has conditionals[Kam and Ullman 1977]. The standard procedure with this problem is touse so-called conservative algorithms. These algorithms do not guaranteethat all constants will be detected, but that each data declared constant isindeed constant over all possible executions of the program. A comprehen-sive survey of the most popular constant propagation algorithms can befound in Wegman and Zadeck [1991].

Parhi and Messerschmitt [1991] presented optimal unfolding of linearcomputations in DSP systems. Unfolding results in simultaneous process-ing of consecutive iterations of a computation. Potkonjak and Rabaey[1992] addressed the minimization of the number of multiplications andadditions in linear computations in their maximally fast form so that thethroughput is preserved. Potkonjak et al. [1996] presented a set of tech-niques for minimization of the number of shifts and additions in linearcomputations. Sheliga and Sha [1994] gave an approach for minimization ofthe number of multiplications and additions in linear computations.

Srivastava and Potkonjak [1996] developed an approach for the minimi-zation of the number of operations in linear computations using unfoldingand the application of the maximally fast procedure. A variant of their

412 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 9: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

technique is used in the “conquer” phase of our approach. Our approach isdifferent from theirs in two respects. First, their technique can handle onlyvery restricted computations, which are linear, while our approach canoptimize arbitrary computations. Second, our approach outperforms orperforms at least as well as their technique for linear computations.

4. SINGLE PROGRAMMABLE PROCESSOR IMPLEMENTATION:MINIMIZING THE NUMBER OF OPERATIONS

The global flow of the approach is presented in Section 4.1. The strategy isbased on divide-and-conquer optimization followed by postoptimizationstep, merging the divided subparts, which is explained in Section 4.2.Finally, Section 4.3 provides a comprehensive example to illustrate thestrategy.

4.1 Global Flow of the Approach

The core of the approach is presented in the pseudocode of Figure 1. Therest of this subsection explains the global flow of the approach in moredetail.

The first step of the approach is to identify the computation’s stronglyconnected components (SCCs), using the standard depth-first search-basedalgorithm [Tarjan 1972] which has a low order polynomial-time complexity.For any pair of operations A and B within an SCC, there exist both a pathfrom A to B and a path from B to A. An example of this step is shown inFigure 2. The graph formed by all the SCCs is acyclic. Thus, the SCCs canbe isolated from each other using pipeline delays, which enables us tooptimize each SCC separately. The inserted pipeline delays are treated asinputs or outputs to the SCC. As a result, every output and state in an SCCdepend only on the inputs and states of the SCC. Thus, in this sense, theSCC is isolated from the rest of the computation and it can be optimizedseparately. In a number of situations our technique is capable of partition-ing a nonlinear computation into partitions consisting of only linear com-

Fig. 1. The core of the approach to minimize the number of operations for general DSPcomputations.

Power Optimization Using Divide-and-Conquer Techniques • 413

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 10: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

putations. Consider for example a computation which consists of twostrongly connected components SCC1 and SCC2. SCC1 has as operationsonly additions and multiplications with constants. SCC2 has as operationsonly max operation and additions. Obviously, since the computation hasadditions, multiplications with constants and max operations, it is nonlin-ear. However, after applying our technique of logical separation usingpipeline states, we have two parts which are linear. Note that this isolationis not affected by unfolding. We define an SCC with only one node as atrivial SCC. For trivial SCCs unfolding fails to reduce the number ofoperations. Thus, any adjacent trivial SCCs are merged together before theisolation step, to reduce the number of pipeline delays used.

The number of delays in each subpart is minimized using retiming inpolynomial time by the Leiserson-Saxe algorithm [Leiserson and Saxe1991]. Note that a smaller number of delays will require a smaller numberof operations, since both the next states and outputs depend on theprevious states. SCCs are further classified as either linear or nonlinear.Linear computations can be represented using the state-space equations inFigure 3. Minimization of the number of operations for linear computationsis NP-complete [Sheliga and Sha 1994]. We have adopted an approach of

D

* *

* *

D

+

*

D

+

+

+

D

*

+

X

X

= Addition

= Constant Multiplication

= Functional Delay (State)

= Variable Multiplication

= Strongly Connected Component

Fig. 2. An illustrated example of the SCC decomposition step.

414 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 11: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

Srivastava and Potkonjak [1996] for the optimization of linear subpartsthat uses unfolding and the maximally fast procedure [Potkonjak andRabaey 1992]. We note that instead of maximally fast procedure, the ratioanalysis by Sheliga and Sha [1994] can be used. Srivastava and Potkonjak[1996] have provided the closed-form formula for the optimal unfoldingfactor with the assumption of dense linear computations. We provide theformula in Figure 4. For sparse linear computations, they have proposed aheuristic which continues to unfold until there is no improvement. We havemade the simple heuristic more efficient with a binary search, based on theunimodality property of the number of operations on an unfolding factor[Srivastava and Potkonjak 1996].

When a subpart is classified as nonlinear, we apply unfolding after theisolation of nonlinear operations. All nonlinear operations are isolated fromthe subpart so that the remaining linear subparts can be optimized by themaximally fast procedure. All arcs from nonlinear operations to the linearsubparts are considered as inputs to the linear subparts, and all arcs fromlinear subparts to the nonlinear operations are considered as outputs fromthe linear subparts. The process is illustrated in Figure 5. All arcs denotedby i are considered to be inputs and all arcs denoted by o are considered tobe outputs for unfolded linear subpart. We observe that if every output andstate of the nonlinear subpart depends on nonlinear operations, thenunfolding with the separation of nonlinear operations is ineffective inreducing the number of operations.

Sometimes it is beneficial to decompose a computation into larger sub-parts than SCCs. We consider an example given in Figure 6. Each noderepresents a subpart of the computation. We make the following assump-tions specifically for clarifying the presentation of this example and simpli-fying it. We stress here that the assumptions are not necessary for ourapproach. Assume that each subpart is linear and can be represented by

Fig. 3. State-space equations for linear computations.

Fig. 4. Closed-form formula of unfolding for dense linear computation with P inputs, Qoutputs, and R states.

Power Optimization Using Divide-and-Conquer Techniques • 415

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 12: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

state-space equations in Figure 3. Also assume that every subpart is dense,which means that every output and state in a subpart are linear combina-tions of all inputs and states in the subpart with no 0, 1, or -1 coefficients.The number inside a node is the number of delays or states in the subpart.Assume that when there is an arc from a subpart X to a subpart Y, everyoutput and state of Y depends on all inputs and states of X. Separatelyoptimizing SCCs P1 and P2 in Figure 6 costs 211 operations from theformula in Figure 4. On the other hand, optimizing the entire computationentails only 63.67 operations. Separate optimization does not perform wellin this example because there are too many intermediate outputs from SCCP1 to SCC P2. This observation leads us to an approach of merging subpartsto further reduce the number of operations. Since it is worthwhile toexplain the subpart merging problem in detail, the next section is devotedto the explanation of the problem and our heuristic approaches.

Since the subparts of a computation are unfolded separately by differentunfolding factors, we need to address the problem of scheduling thesubparts. They should be scheduled so that memory requirements for codeand data are minimized. We observe that the unfolded subparts can berepresented by a multirate synchronous data-flow graph [Lee and Messer-schmitt 1987] and the work of Bhattacharyya et al. [1993] can be directlyused.

Note that the approach is particularly useful for architectures thatrequire high locality and regularity in computation because it improves

*

*

*

+ *

*

X

*

*

* X

*

+ *

*

**+

**

Xo

i

o

i

o

i

iteration i iteration i+1 iteration i+2

o oo

Fig. 5. An example of isolating nonlinear operations from 2 times unfolded nonlinearsubpart.

5 5

P1 P2

Fig. 6. A motivational example for subpart merging.

416 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 13: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

both locality and regularity of computation by decomposing into sub partsand using the maximally fast procedure. Locality in a computation relatesto the degree to which a computation has natural clusters of operationswhile regularity in a computation refers to the repeated occurrence of thecomputational patterns such as a multiplication followed by an addition[Guerra et al. 1994; Mehra and Rabaey 1996].

4.2 Subpart Merging

Initially, we only consider merging of linear SCCs. When two SCCs aremerged, the resulting subpart does not form an SCC. Thus, in general, wemust consider merging any adjacent arbitrary subparts. Suppose we con-sider merging of subparts i and j. The gain GAIN~i, j! of merging subpartsi and j can be computed as follows: GAIN~i, j! 5 COST~i! 1 COST~j! 2COST~i, j!, where COST~i! is the number of operations for subpart i andCOST~i, j! is the number of operations for the merged subpart of i and j.To compute the gain, COST~i, j! must be computed, which requires con-stant coefficient matrices A, B, C, and D for only the merged subpart of iand j. It is easy to construct the matrices using the depth-first search[Tarjan 1972].

The i times unfolded system can be represented by the state-spaceequations in Figure 7. From the equations, the total number of operationscan be computed for i times unfolded subpart, as follows. Let N~*, i! andN~1 , i! denote the number of multiplications and the number of additionsfor i times unfolded system, respectively. The resulting number of opera-tions is ~N~*, i! 1 N~1 , i!! / ~i 1 1! because i times unfolded systemuses a batch of i 1 1 input samples to generate a batch of i 1 1 outputsamples. We continue to unfold until no improvement is achieved. If thereare no coefficients of 1 or 21 in the matrices A, B, C, and D, then theclosed-form formula for the optimal unfolding factor iopt and for the numberof operations for i times unfolded system are provided in Figure 8.

We can now evaluate possible merging candidates. We propose twoheuristic algorithms for subpart merging. The first heuristic is based on thegreedy optimization approach. The pseudocode is provided in Figure 9. Thealgorithm is simple. Until there is no improvement, merge the pair ofsubparts that produces the highest gain.

The other heuristic algorithm is based on a general combinatorial optimi-zation technique known as simulated annealing [Kirkpatrick et al. 1983].

Fig. 7. i times unfolded state-space equations.

Power Optimization Using Divide-and-Conquer Techniques • 417

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 14: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

The pseudocode is provided in Figure 10. The actual implementationdetails are presented for each of the following areas: the cost function, theneighbor solution generation, the temperature update function, the equilib-

Fig. 8. Closed-form formula for unfolding; if two outputs depend on the same set of inputsand states, they are in the same group, and the same is true for states.

Fig. 9. Pseudocode of a greedy heuristic for subpart merging.

Fig. 10. Pseudocode for simulated annealing algorithm for subpart merging.

418 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 15: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

rium criterion, and the frozen criterion. First, the number of operations forthe entire given computation has been used as the cost function. Second,the neighbor solution is generated by the merging of two adjacent subparts.Third, the temperature is updated by the function Tnew 5 a~Told!*Told. Forthe temperature T . 200.0, a is chosen to be 0.1, so that in a hightemperature regime where every new state has very high chance of accep-tance, the temperature reduction occurs very rapidly. For 1.0 , T #

200.0, a is set to 0.95 so that the optimization process explores thispromising region more slowly. For T # 1.0, a is set to 0.8 so that T isquickly reduced to converge to a local minimum. The initial temperature isset to 4,000,000. Fourth, the equilibrium criterion is specified by thenumber of iterations of the inner loop. The number of iterations of the innerloop is set to 20 times the number of subparts. Lastly, the frozen criterionis given by the temperature. If the temperature falls below 0.1, thesimulated annealing algorithm stops.

Both heuristics performed equally well on all the examples and the runtimes for both are very small because the examples have few subparts. Wehave used both greedy and simulated annealing-based heuristics for gener-ating experimental results, and they produced exactly the same results.

4.3 Explanatory Example: Putting It All Together

We illustrate the key ideas of our approach for minimizing the number ofoperations by considering the computation of Figure 11. We use the sameassumptions as those in the example in Figure 6.

The number of operations per input sample is initially 2081. (We illus-trate how the number of operations is calculated in a maximally fast way[Potkonjak and Rabaey 1992] using a simple linear computation with 1input X, 1 output Y, and 2 states S1, S2, described in Figure 12.) Using thetechnique of Srivastava and Potkonjak [1996] that unfolds the entire

7

8

6

910

P1

P2

P3 P4

P5

Fig. 11. An explanatory example.

Power Optimization Using Divide-and-Conquer Techniques • 419

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 16: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

computation, the number can be reduced to 725 with an unfolding factor of12. Our approach optimizes each subpart separately. This separate optimi-zation is enabled by isolating the subparts using pipeline delays. Figure 13shows the computation after the isolation step. Since every subpart islinear, unfolding is performed to optimize the number of operations foreach subpart. The subparts parts P1, P2, P3, P4, and P5 cost 120.75, 53.91,114.86, 129.75, and 103.0 operations per input sample with unfoldingfactors 3, 10, 6, 7, and 2, respectively. The total number of operations perinput sample for the entire computation is 522.27. We now apply SCCmerging to further reduce the number of operations. We first consider thegreedy heuristic. The heuristic considers merging adjacent subparts. Ini-tially, the possible merging candidate pairs are P1P2, P1P3, P2P5, P3P4,and P4P5, which produce gains of 251.48, 2112.06, 252.38, 122.87, and2114.92, respectively. SCC P3 and SCC P4 are merged with an unfoldingfactor of 22. In the next iteration, there are now 4 subparts and 4 candidatepairs for merging, all of which yield negative gains. So the heuristic stopsat this point. The total number of operations per input sample has furtherdecreased to 399.4. The simulated annealing heuristic produced the samesolution for this example. The approach reduced the number of operationsby a factor of 1.82 from the previous technique of Srivastava and Potkonjak[1996], while it has achieved the reduction by a factor of 5.2 from the initialnumber of operations.

For single processor implementation, since both the Srivastava andPotkonjak [1996]technique and our new method yield higher throughput

Fig. 12. A simple example of # operations calculation.

D

D D

D

D

D

7

9

8 6

10

2D

P1P2

P3 P4

P5

Fig. 13. A motivational example after the isolation step.

420 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 17: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

than the original, the supply voltage can be lowered to the extent that theextra throughput is compensated for by the loss in circuit speed due toreduced voltage. If the initial voltage is 3.3V, then our technique reducespower consumption by a factor of 26.0 with the supply voltage of 1.48V,while the Srivastava and Potkonjak [1996] technique reduces it by a factorof 10.0 with supply voltage 1.77V.

The scheduling of the unfolded subparts is performed to generate theminimum code and data memory schedule. The schedule period is the leastcommon multiple of the unfolding factor 11’s, which is 3036. Let P3,4

denote the merged subpart of SCC P3 and P4. While a simple mindedschedule (759 P1, 276 P2, 132 P3,4, 1012 P5) to minimize the code sizeignoring loop overheads generates 9108 units of data memory requirement,a schedule (759 P1, 4(69 P2, 33 P3,4, 253 P5)) which minimizes the datamemory requirement among the schedules minimizing the code size gener-ates 4554 units of data memory requirement.

5. MULTIPLE PROGRAMMABLE PROCESSORS IMPLEMENTATION

When multiple programmable processors are used, potentially more sav-ings in power consumption can be obtained. We summarize the assump-tions made in Section 2: (i) processors are homogeneous; (ii) interprocessorcommunication does not cost any time and hardware; (iii) effective switchedcapacitance increases linearly with the number of processors; (iv) bothaddition and multiplication take one clock cycle; and (v) supply voltagecannot be lowered below threshold voltage Vt, for which we use severaldifferent values between 0.06V and 1.1V. Based on these assumptions,using k processors increases the throughput k times when there is enoughparallelism in the computation, while the effective switched capacitanceincreases k times as well. In all the real-life examples considered, sufficientparallelism actually existed for the numbers of processors that we used.

We observe that the next states, i.e., the feedback loops S@n# 5 AS@n2 1# can be computed in parallel. Note that the maximally fast procedureby Potkonjak and Rabaey [1992] evaluates a linear computation by firstdoing the constant-variable multiplications in parallel and then organizingthe additions as a maximally balanced binary tree. Since all the next statesare computed in a maximally fast procedure, more parallelism exists at thebottom of the binary computation tree. All other operations not in thefeedback loops can be computed in parallel because they can be separatedby pipeline delays. As the number of processors becomes larger, the numberof operations outside the feedback loops gets larger and results in more

Fig. 14. Closed-form condition for sufficient parallelism when using k processors for a denselinear computation with R states.

Power Optimization Using Divide-and-Conquer Techniques • 421

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 18: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

parallelism. For dense linear computations, we provide the closed-formcondition for sufficient parallelism when using k processors in Figure 14.We note that although the formulas were derived for the worst-casescenario, the required number of operations outside the feedback loops issmall for the range of the number of processors in the experiment. Moreoperations exist outside feedback loops than are required for full parallel-ism in all the real-life examples we have considered.

Now we can reduce the voltage so that the clock frequency of all kprocessors is reduced by a factor of k. The average power consumption of kprocessors is reduced from that of a single processor by a factor of ~V1@Vk!

2

where Vk is a scaled supply voltage for k processor implementations, andVk satisfies the equation Vk / ~Vk 2 Vt!

2 5 k*V1 / ~V1 2 Vt!2 [Chan-

drakasan et al. 1992]. From this observation it is always beneficial to usemore processors in terms of power consumption with the following twolimitations: (i) the amount of parallelism available limits the improvementin throughput and the critical path of the computation is the maximumachievable throughput and (ii) when supply voltage approaches close tothreshold voltage, the improvement in power consumption becomes sosmall that the cost of adding a processor is not justified. With this in mind,we want to find the number of processors that minimizes power consump-tion cost-effectively in both standard CMOS technology and ultra-lowpower technology.

Since the cost of programmable processors is high, and especially the costof processors on ultra-low power platforms such as SOI is very high[El-Kareh et al. 1995; Ipposhi et al. 1995], guidance for cost-effective designis important. We need a measure to differentiate between cost-effective andcost-ineffective solutions. We propose a PN product, where P is the power

Table I. The Values of PN Producs and the Number of Processors for Various Combinationsof the Initial Voltage Vinit, Scaled Voltage for Single Processor V1 and Threshold Voltage Vt

Vt Vinit V1 number of processors

2 3 4 5 6 7 8 9 10

1.1 5.0 5.0 0.90 0.93 0.98 1.04 1.10 1.17 1.24 1.30 1.374.0 1.00 1.08 1.17 1.28 1.38 1.49 1.59 1.70 1.803.0 1.14 1.33 1.51 1.70 1.88 2.06 2.24 2.42 2.602.0 1.42 1.82 2.22 2.60 2.98 3.35 3.71 4.08 4.44

0.7 3.3 3.3 0.89 0.91 0.95 1.00 1.06 1.12 1.19 1.25 1.312.0 1.12 1.28 1.45 1.62 1.79 1.96 2.12 2.28 2.451.0 1.63 2.22 2.80 3.38 3.94 4.50 5.05 5.60 6.15

0.3 1.3 1.3 0.92 0.96 1.02 1.08 1.16 1.23 1.30 1.38 1.451.0 1.04 1.14 1.27 1.39 1.52 1.64 1.76 1.89 2.010.7 1.24 1.49 1.75 2.00 2.24 2.48 2.72 2.95 3.19

0.1 0.5 0.5 0.87 0.87 0.91 0.95 1.00 1.06 1.11 1.17 1.220.4 0.95 1.01 1.08 1.17 1.25 1.34 1.43 1.51 1.600.3 1.09 1.24 1.39 1.54 1.70 1.85 2.00 2.15 2.30

0.06 0.25 0.25 0.94 0.98 1.05 1.12 1.20 1.28 1.36 1.44 1.520.15 1.20 1.42 1.64 1.86 2.07 2.29 2.50 2.70 2.91

422 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 19: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

consumption normalized to that of optimized single-processor implementa-tion and N is the number of processors. The smaller the PN product, themore cost-effective the solution. If PN is smaller than 1.0, using N proces-sors decreases the power consumption by a factor of more than N. It Thenumber of processors the implementation should use depends on the powerconsumption requirement and the cost of the implementation. Table Iprovides the values of PN products with respect to the number of proces-sors for various combinations of the initial voltage Vinit, the scaled voltagefor single processor V1, and the threshold voltage Vt. Vinit is the initialvoltage for the implementation before optimization. We note that PNproducts monotonically increase with respect to the number of processors.

From Table I, we observe that cost-effective solutions usually use a fewprocessors in all the cases considered on both the standard CMOS andultra-low power platforms. We also observe that if the voltage reduction ishigh for a single processor case, then there is not much room to furtherreduce power consumption by using more processors.

Based on these observations, we developed our strategy for multiple-processor implementation. The first step is to minimize power consumptionfor single-processor implementation using the technique proposed in Sec-tion 4. The second step is to increase the number of processors until the PNproduct is below the given maximum value. The maximum value is deter-mined on the basis of the power consumption requirement and the budgetfor the implementation. The strategy produces solutions with only a fewprocessors, in many cases with a single processor for all the real-lifeexamples, since our method for minimizing the number of operationssignificantly reduces their number and, in turn, reduces the supply voltagefor the single-processor implementation. Adding more processors does notusually reduce power consumption in a cost-effective way. Our methodachieves cost-effective solutions with a very low power penalty, comparedto solutions that optimize power consumption without considering hard-ware cost.

Table II. Minimizing the Number of Operations for Real-Life Examples; IF—ImprovementFactor, RP—Reduction Percentage, N/A—Not Applicable—Srivastava and Potkonjak [1996]

Design Init. Ops [Sri96]New

MethodIF From[Sri96]

RP From[Sri96]

IF FromInit. Ops

RP FromInit. Ops

dist 48 47.3 36.4 1.30 23.0 1.32 24.2chemical 41 33 29.6 1.11 10.3 1.38 27.8DAC 2098 2098 1327.83 1.58 36.7 1.58 36.7modem 213 213 148.83 1.43 30.1 1.43 30.1GE controller 180 180 105.26 1.71 41.5 1.71 41.5APCM receiver 2238 N/A 1444.19 N/A N/A 1.55 35.4Audio Filter 1 154 N/A 76.0 N/A N/A 2.03 50.7Audio Filter 2 228 N/A 92.0 N/A N/A 2.48 59.7Video Filter 1 296 N/A 157.14 N/A N/A 1.88 46.8Video Filter 2 398 N/A 184.5 N/A N/A 2.16 53.7VSTOL 1686 N/A 876 N/A N/A 1.92 47.9

Power Optimization Using Divide-and-Conquer Techniques • 423

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 20: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

6. EXPERIMENTAL RESULTS

Our set of benchmark designs include all the benchmark examples used inSrivastava and Potkonjak [1996], as well as the following typical portableDSP, video, communication, and control applications: DAC—4 stage NECdigital to analog converter (DAC) for audio signals; modem—2 stage NECmodem; GE controller—5-state GE linear controller; APCM receiver—Motorola’s adaptive pulse code modulation receiver; Audio Filter 1—analogto digital converter (ADC) followed by 14 order cascade IIR filter; AudioFilter 2—ADC followed by 18 order parallel filter; Video Filter 1—twoADCs followed by 10-order two dimensional (2D) IIR filter; Video Filter2—two ADCs followed by 12-order 2D IIR filter; and VSTOL—VSTOLrobust observer structure aircraft speed controller. DAC, modem, and theGE controller are linear computations and the rest are nonlinear computa-tions. The benchmark examples from Srivastava and Potkonjak [1996] areall linear, including ellip, iir5, wdf5, iir6, iir10, iir12, steam, dist, andchemical.

Table II presents the experimental results of our technique for minimiz-ing the number of operations for real-life examples. The fifth and seventhcolumns of Table II provide our method’s improvement factors over Srivas-tava and Potkonjak [1996] and the initial number of operations, respec-tively. Our method has achieved the same number of operations as Srivastava

Table III. Minimizing Power Consumption on Single Programmable Processors for LinearExamples; PRF—Power Reduction Factor

Design Vinit Vt Vnew PRF

dist 5.0 1.1 3.76 2.333.3 0.7 2.70 1.961.3 0.3 1.10 1.840.5 0.1 0.42 1.88

0.25 0.06 0.21 1.82chemical 5.0 1.1 3.61 2.65

3.3 0.7 2.61 2.211.3 0.3 1.07 2.040.5 0.1 0.41 2.10

0.25 0.06 0.21 2.02DAC 5.0 1.1 3.81 2.72

3.3 0.7 2.50 2.751.3 0.3 1.00 2.690.5 0.1 0.38 2.80

0.25 0.06 0.19 2.66modem 5.0 1.1 4.02 2.21

3.3 0.7 2.65 2.231.3 0.3 1.05 2.190.5 0.1 0.40 2.25

0.25 0.06 0.20 2.17GE controller 5.0 1.1 3.65 3.21

3.3 0.7 2.39 3.251.3 0.3 0.96 3.160.5 0.1 0.36 3.31

0.25 0.06 0.18 3.12

424 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 21: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

and Potkonjak [1996] for ellip, iir5, wdf5, iir6, iir10, iir12, and steam, whilereducing the number of operations by 23 and 10.3% for dist and chemical,respectively. All the examples in Srivastava and Potkonjak [1996] aresingle-input single-output (SISO) linear computations, except dist andchemical, which are two-inputs single-output linear computations. Sincethe SISO linear computations are very small, there is no room for improve-ment over Srivastava and Potkonjak [1996]. Our method has reduced thenumber of operations by an average factor of 1.77 (average 43.5%) for theexamples where previous techniques were either ineffective or inapplicable.Tables III and IV present real-life examples of our technique’s experimen-tal results for minimizing power consumption on single programmableprocessors for various technologies. Our method results in reducing powerconsumption by an average factor of 3.58.

For multiple-processor implementations, Tables V and VI summarize theexperimental results of our technique for minimizing power consumption.We define threshold PN product PNT to be the value of PN product, where

Table IV. Minimizing Power Consumption on Single Programmable Processors forNonlinear examples; PRF—Power Reduction Factor

Design Vinit Vt Vnew PRF

APCM receiver 5.0 1.1 3.85 2.623.3 0.7 2.53 2.641.3 0.3 1.01 2.580.5 0.1 0.38 2.68

0.25 0.06 0.19 2.56Audio Filter 1 5.0 1.1 3.34 4.54

3.3 0.7 2.03 4.431.3 0.3 0.88 4.450.5 0.1 0.33 4.73

0.25 0.06 0.17 4.38Audio Filter 2 5.0 1.1 3.03 6.76

3.3 0.7 1.85 6.541.3 0.3 0.8 6.580.5 0.1 0.3 7.11

0.25 0.06 0.16 6.44Video Filter 1 5.0 1.1 3.45 3.97

3.3 0.7 2.26 4.031.3 0.3 0.91 3.900.5 0.1 0.34 4.12

0.25 0.06 0.18 3.84Video Filter 2 5.0 1.1 3.24 5.15

3.3 0.7 2.12 5.241.3 0.3 0.85 5.040.5 0.1 0.32 5.37

0.25 0.06 0.17 4.94VSTOL 5.0 1.1 3.43 4.10

3.3 0.7 2.25 4.151.3 0.3 0.90 4.020.5 0.1 0.34 4.25

0.25 0.06 0.17 3.96

Power Optimization Using Divide-and-Conquer Techniques • 425

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 22: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

we should stop increasing the number of processors. When PNT 5 1, i.e.,power reduction by the addition of a processor must be greater than 2 to becost effective; in almost all cases a single processor solution is optimum.When PNT gets larger, the number of processors increases, but the solu-tions still use only a few processors, which results in an order of magnitudereduction in power consumption. All the results clearly indicate the effec-tiveness of our new method.

7. CONCLUSION

We introduced an approach for power minimization using a set of compila-tion and architectural techniques. The key technical innovation is a compi-lation technique for minimizing the number of operations that synergisti-cally uses several transformations within a divide-and-conqueroptimization framework. The new approach not only deals with arbitrarycomputations, but also outperforms previous techniques for limited compu-tation types.

Furthermore, we investigated the coordinated impact of compilationtechniques and new ultra-low power technologies on the number processorsthat provide optimal tradeoff in cost and power. The experimental results

Table V. Minimizing Power Consumption on Multiple Processors for Linear Examples;PNT—threshold PN product, N—No. of processors, PRF—Power Reduction Factor

Design Vinit Vt N 5 1 PNT 5 1 PNT 5 1.25 PNT 5 1.5

Vnew PRF N PRF N PRF N PRF

dist 5.0 1.1 3.76 2.33 1 2.33 4 7.53 6 9.473.3 0.7 2.70 1.96 2 4.04 5 8.11 8 10.541.3 0.3 1.10 1.84 2 3.71 4 6.31 7 8.740.5 0.1 0.42 1.88 3 5.78 6 9.46 9 11.84

0.25 0.06 0.21 1.82 1 1.82 4 6.00 6 7.59chemical 5.0 1.1 3.61 2.65 1 2.65 3 6.87 5 9.39

3.3 0.7 2.61 2.21 2 4.49 5 8.86 7 10.691.3 0.3 1.07 2.04 1 2.04 4 6.83 6 8.670.5 0.1 0.41 2.10 3 6.35 6 10.31 9 12.86

0.25 0.06 0.21 2.02 1 2.02 4 6.66 6 8.42DAC 5.0 1.1 3.81 2.72 1 2.72 4 8.89 6 11.20

3.3 0.7 2.50 2.75 1 2.75 4 9.22 6 11.711.3 0.3 1.00 2.69 1 2.69 3 7.05 5 9.670.5 0.1 0.38 2.80 2 5.73 5 11.43 7 13.83

0.25 0.06 0.19 2.66 1 2.66 3 6.72 5 9.09modem 5.0 1.1 4.02 2.21 2 4.45 4 7.56 7 10.45

3.3 0.7 2.65 2.23 2 4.56 5 9.07 7 10.971.3 0.3 1.05 2.19 1 2.19 4 7.22 6 9.130.5 0.1 0.40 2.25 2 4.72 5 9.64 8 12.62

0.25 0.06 0.20 2.17 1 2.17 3 5.69 5 7.80GE controller 5.0 1.1 3.65 3.21 1 3.21 3 8.39 5 11.49

3.3 0.7 2.39 3.25 1 3.25 4 10.49 6 13.201.3 0.3 0.96 3.16 1 3.16 3 8.05 5 10.920.5 0.1 0.36 3.31 2 6.62 4 11.18 6 14.21

0.25 0.06 0.18 3.12 1 3.12 3 7.58 4 8.99

426 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 23: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

on a number of real-life designs clearly indicate the effectiveness of allproposed techniques and algorithms.

REFERENCES

BACON, D. F., GRAHAM, S. L., AND SHARP, O. J. 1994. Compiler transformations forhigh-performance computing. ACM Comput. Surv. 26, 4 (Dec. 1994), 345–420.

BANERJEE, U., EIGENMANN, R., NICOLAU, A., AND PADUA, D. A. 1993. Automatic programparallelization. Proc. IEEE 81, 2 (Feb.), 211–243.

BHATTACHARYYA, S. S., BUCK, J. T., HA, S., AND LEE, E. A. 1993. A scheduling framework forminimizing memory requirements of multirate signal processing algorithms expressed asdataflow graphs. In VLSI Signal Processing VI IEEE Press, Piscataway, NJ, 188–196.

CHANDRAKASAN, A. P., SHENG, S., AND BRODERSEN, R. W. 1992. Low-power CMOS digitaldesign. IEEE J. Solid-State Circuits 27, 4 (Apr. 1992), 473–484.

CHANDRAKASAN, A. P., SRIVASTAVA, M., AND BRODERSEN, R. W. 1994. Energy efficientprogrammable computation. In Proceedings of the 7th International Conference on VLSIDesign 261–264.

CHATTERJEE, A. AND ROY, R. K. 1994. Synthesis of low power DSP circuits using activitymetrics. In Proceedings of the 7th International Conference on VLSI Design 265–270.

Table VI. Minimizing Power Consumption on Multiple Processors for Nonlinear Examples;PNT—threshold PN product, N—No. of processors, PRF—Power Reduction Factor

Design Vinit Vt N 5 1 PNT 5 1 PNT 5 1.25 PNT 5 1.5

Vnew PRF N PRF N PRF N PRF

APCM receiver 5.0 1.1 3.85 2.62 1 2.62 4 8.64 6 10.923.3 0.7 2.53 2.64 2 5.29 4 8.95 7 12.331.3 0.3 1.01 2.58 1 2.58 3 6.81 6 10.320.5 0.1 0.38 2.68 2 5.49 5 10.94 7 13.24

0.25 0.06 0.19 2.56 1 2.56 3 6.47 5 8.75Audio Filter 1 5.0 1.1 3.34 4.54 1 4.54 3 11.12 4 13.22

3.3 0.7 2.03 4.43 1 4.43 2 7.99 4 12.381.3 0.3 0.88 4.45 1 4.45 2 8.07 4 12.560.5 0.1 0.33 4.73 1 4.73 3 12.31 5 16.84

0.25 0.06 0.17 4.38 1 4.38 2 7.81 4 11.99Audio Filter 2 5.0 1.1 3.03 6.76 1 6.76 2 11.88 4 18.04

3.3 0.7 1.85 6.54 1 6.54 2 11.26 3 14.451.3 0.3 0.8 6.58 1 6.58 2 11.38 3 14.640.5 0.1 0.3 7.11 1 7.11 3 17.27 4 20.49

0.25 0.06 0.16 6.44 1 6.44 2 11.14 3 14.33Video Filter 1 5.0 1.1 3.45 3.97 1 3.97 3 9.96 5 13.45

3.3 0.7 2.26 4.03 1 4.03 3 10.32 5 14.041.3 0.3 0.91 3.90 1 3.90 3 9.55 4 11.340.5 0.1 0.34 4.12 1 4.12 4 13.25 6 16.66

0.25 0.06 0.18 3.84 1 3.84 3 9.33 4 11.06Video Filter 2 5.0 1.1 3.24 5.15 1 5.15 2 9.36 4 14.60

3.3 0.7 2.12 5.24 1 5.24 3 12.82 4 15.221.3 0.3 0.85 5.04 1 5.04 2 8.99 4 13.790.5 0.1 0.32 5.37 1 5.37 3 13.67 5 18.55

0.25 0.06 0.17 4.94 1 4.94 2 8.81 4 13.52VSTOL 5.0 1.1 3.43 4.10 1 4.10 3 10.24 5 13.80

3.3 0.7 2.25 4.15 1 4.15 3 10.60 5 14.401.3 0.3 0.90 4.02 1 4.02 3 9.76 4 11.580.5 0.1 0.34 4.25 1 4.25 4 13.66 6 17.18

0.25 0.06 0.17 3.96 1 3.96 2 7.06 4 10.84

Power Optimization Using Divide-and-Conquer Techniques • 427

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 24: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

CHANDRAKASAN, A. P., POTKONJAK, M., MEHRA, R., RABAEY, J., AND BRODERSEN, R.W. 1995. Optimizing power using transformations. IEEE Trans. Comput.-Aided Des. 14, 1(1995), 13–32.

CHANDRAKASAN, A., YANG, I., VIERI, C., AND ANTONIADIS, D. 1996. Design considerations andtools for low-voltage digital system design. In Proceedings of the 33rd Annual Conference onDesign Automation (DAC ’96, Las Vegas, NV, June 3–7, 1996), T. P. Pennino and E. J. Yoffa,Eds. ACM Press, New York, NY, 113–118.

DEY, S., POTKONJAK, M., AND ROTHWEILER, S. G. 1992. Performance optimization of sequentialcircuits by eliminating retiming bottlenecks. In Proceedings of the 1992 IEEE/ACMInternational Conference on Computer-Aided Design (ICCAD ’92, Santa Clara, CA, Nov.8–12), L. Trevillyan, Ed. IEEE Computer Society Press, Los Alamitos, CA, 504–509.

EL-KAREH, B., CHEN, B., AND STANLEY, T. 1995. Silicon on insulator--an emerging high-leverage technology. IEEE Trans. Compon., Packaging, Manuf. Technol. 18, 1, 187–194.

FOX, G. C. AND KOLLER, J. G. 1989. Code generation by a generalized neural network. J.Parallel Distrib. Comput. 7, 2 (Oct. 1989), 388–410.

GAREY, M. AND JOHNSON, D. 1979. Computers and Intractability: A Guide to the Theory ofNP-Completeness. W. H. Freeman & Co., New York, NY.

GOODBY, L., ORAILOGLU, A., AND CHAU, P. M. 1994. Microarchitectural synthesis of perfor-mance-constrained, low power VLSI designs. In Proceedings of the IEEE InternationalConference on Computer Design (Cambridge, MA, Oct. 10-12) 323–326.

GUERRA, L., POTKONJAK, M., AND RABAEY, J. 1994. System-level design guidance usingalgorithm properties. In Proceedings of the IEEE Workshop on VLSI Signal ProcessingVII IEEE Press, Piscataway, NJ, 73–82.

HOANG, P. D. AND RABAEY, J. M. 1993. Scheduling of DSP programs onto multiprocessors formaximum throughput. IEEE Trans. Signal Process. 41, 6, 2225–2235.

HUANG, S. H. AND RABAEY, J. M. 1994. Maximizing the throughput of high performance DSPapplications using behavioral transformations. In EDAC ’94 (EDAC ’94, 1994) 25–30.

IPPOSHI, T., IWAMATSU, T., YAMAGUCHI, Y., UEDA, K., MORINAKA, H., MASHIKO, K., INOUE, Y., AND

HIRAO, T. 1995. An advanced 0.5 mu m CMOS/SOI technology for practical ultrahigh-speedand low-power circuits. In Proceedings of the International Conference on SOI 46–47.

IQBAL, Z., POTKONJAK, M., DEY, S., AND PARKER, A. 1993. Critical path minimization usingretiming and algebraic speed-up. In Proceedings of the 30th International Conference onDesign Automation (DAC’93, Dallas, TX, June 14–18), A. E. Dunlop, Ed. ACM Press, NewYork, NY, 573–577.

KAM, J. B. AND ULLMAN, J. D. 1997. Monotone data flow analysis frameworks. Acta Inf. 7,305–317.

KIRKPATRICK, S., GELATT, C. D., JR., AND VECCHI, M. P. 1983. Optimization by simulatedannealing. Science 220, 4598 (May), 671–680.

KU, D. C. AND DE MICHELI, G. 1992. High level synthesis of ASICs under timing andsynchronization constraints. Kluwer Academic Publishers, Hingham, MA.

LANDMAN, P. E. AND RABAEY, J. 1996. Activity-sensitive architectural power analysis. IEEETrans. Comput.-Aided Des. 15, 6, 571–587.

LEE, E. AND MESSERSCHMITT, D. 1987. Synchronous data flow. Proc. IEEE 75, 9, 1235–1245.LEE, E. A. AND PARKS, T. M. 1995. Dataflow process networks. Proc. IEEE 83, 5 (May),

773–801.LEE, M. T.-C., FUJITA, M., TIWARI, V., AND MALIK, S. 1997. Power analysis and minimization

techniques for embedded DSP software. IEEE Trans. Very Large Scale Integr. Syst. 5, 1,123–135.

LEISERSON, C. E. AND SAXE, J. B. 1991. Retiming synchronous circuitry. Algorithmica 6, 1,5–35.

MASSALIN, H. 1987. Superoptimizer: A look at the smallest program. In Proceedings of the2nd International Conference on Architectural Support for Programming Languages andOperating Systems (APLOS II, Palo Alto, CA, Oct. 5–8), R. Katz, Ed. IEEE ComputerSociety Press, Los Alamitos, CA, 122–126.

MEHRA, R. AND RABAEY, J. 1996. Exploiting regularity for low-power design. In Proceedings ofthe 1996 IEEE/ACM International Conference on Computer-Aided Design (ICCAD ’96, San

428 • I. Hong et al.

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.

Page 25: Power Optimization Using Divide-and-Conquer Techniques for ...miodrag/papers/Hong_ACMTrans_1999.pdf · the delay between the arrival of a set of input samples and the production of

Jose, CA, Nov. 10–14, 1996), R. A. Rutenbar and R. H. J. M. Otten, Eds. IEEE ComputerSociety Press, Los Alamitos, CA, 166–172.

PARHI, K. K. AND MESSERSCHMITT, D. G. 1991. Static rate-optimal scheduling of iterativedata-flow programs via optimum unfolding. IEEE Trans. Comput. 40, 2 (Feb. 1991),178–195.

PARHI, K. K. 1995. High-level algorithm and architecture transformations for DSPsynthesis. J. VLSI Signal Process. 9, 1/2 (Jan. 1995), 121–143.

POTKONJAK, M. AND RABAEY, J. 1992. Maximally fast and arbitrarily fast implementation oflinear computations. In Proceedings of the 1992 IEEE/ACM International Conference onComputer-Aided Design (ICCAD ’92, Santa Clara, CA, Nov. 8–12), L. Trevillyan, Ed. IEEEComputer Society Press, Los Alamitos, CA, 304–308.

POTKONJAK, M., SRIVASTAVA, M., AND CHANDRAKASAN, A. P. 1996. A. P. Multiple constantmultiplications: efficient and versatile framework and algorithms for exploring commonsubexpression elimination. IEEE Trans. Comput.-Aided Des. 15, 2, 151–165.

RABAEY, J. M., CHU, C., HOANG, P., AND POTKONJAK, M. 1991. Fast prototyping of data pathintensive architecture. IEEE Des. Test 8, 2, 40–51.

RAGHUNATHAN, A. AND JHA, N. K. 1994. Behavioral synthesis for low power. In Proceedings ofthe IEEE International Conference on Computer Design (Cambridge, MA, Oct.10-12) 318–322.

SCHNEIDERMAN, R. 1994. Wireless Personal Communications. IEEE Press, Piscataway, NJ.SHELIGA, M. AND SHA, E. H. M. 1994. Global node reduction of linear systems using ratio

analysis. In Proceedings of the Seventh International Symposium on High-Level Synthesis(ISSS ’94, Niagara-on-the-Lake, Ont., Canada, May 18–20, 1994), P. G. Paulin, Ed. IEEEComputer Society Press, Los Alamitos, CA, 140–145.

SINGH, D., RABAEY, J., PEDRAM, M., CATTHOOR, F., RAJGOPAL, S., SEHGAL, N., AND MOZDZEN,T. 1995. Power conscious CAD tools and methodologies: A perspective. Proc. IEEE 83, 4(Apr.), 570–594.

SRIVASTAVA, M. B. AND POTKONJAK, M. 1994. Transforming linear systems for joint latencyand throughput optimization. In EDAC ’94 (EDAC ’94, 1994) 267–271.

SRIVASTAVA, M. B. AND POTKONJAK, M. 1996. Power optimization in programmable processorsand ASIC implementations of linear systems: Transformation-based approach. In Proceed-ings of the 33rd Annual Conference on Design Automation (DAC ’96, Las Vegas, NV, June3–7, 1996), T. P. Pennino and E. J. Yoffa, Eds. ACM Press, New York, NY, 343–348.

TANENBAUM, A. S., VAN STRAVEN, H., AND STEVENSON, J. W. 1982. Using peephole optimizationon intermediate code. ACM Trans. Program. Lang. Syst. 4, 1 (1982), 21–36.

TARJAN, R. E. 1972. Depth first search and linear graph algorithms. SIAM J. Comput. 1, 2(1972), 146–160.

TIWARI, V., MALIK, S., AND WOLFE, A. 1994. Power analysis of embedded software: a first steptowards software power minimization. IEEE Trans. Very Large Scale Integr. Syst. 2, 4 (Dec.1994), 437–445.

SHIRAKAWA, I., Ed. 1995. Proceedings of the Conference on Asia Pacific Design Automation(CD-ROM). (ASP-DAC ’95, Makuhari, Massa, Chiba, Japan, Aug. 29–Sept. 1, 1995) ACMPress, New York, NY.

ULLMAN, J. 1989. Principles of Database and Knowledge-Base Systems. Computer SciencePress, Inc., New York, NY.

WALKER, R. AND CAMPOSANO, R. 1991. A Survey of High-Level Synthesis Systems. KluwerAcademic Publishers, Hingham, MA.

WEGMAN, M. N. AND ZADECK, F. K. 1991. Constant propagation with conditionalbranches. ACM Trans. Program. Lang. Syst. 13, 2 (Apr. 1991), 181–210.

WHITFIELD, D. AND SOFFA, M. L. 1990. An approach to ordering optimizingtransformations. SIGPLAN Not. 25, 3 (Mar. 1990), 137–146.

WOLF, M. E. AND LAM, M. S. 1991. A loop transformation theory and an algorithm tomaximize parallelism. IEEE Trans. Parallel Distrib. Syst. 2, 4 (Oct.), 452–471.

Received: March 1997; revised: July 1997; accepted: December 1997

Power Optimization Using Divide-and-Conquer Techniques • 429

ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 4, October 1999.