Abstract
Energy consumption has become a major constraint in providing increased functionality for devices with small form factors. Dynamic voltage and frequency scaling has been identified as an effective approach for reducing the energy consumption of embedded systems. Earlier works on dynamic voltage scaling focused mainly on performing voltage scaling when the CPU is waiting for memory subsystem or concentrated chiefly on loop nests and/or subroutine calls having sufficient number of dynamic instructions. This paper concentrates on coarser program regions and for the first time uses program phase behavior for performing dynamic voltage scaling. Program phases are annotated at compile time with mode switch instructions. Further, we relate the Dynamic Voltage Scaling Problem to the Multiple Choice Knapsack Problem, and use well known heuristics to solve it efficiently. Also, we develop a simple integer linear program formulation for this problem. Experimental evaluation on a set of media applications reveal that our heuristic method obtains a 38% reduction in energy consumption on an average, with a performance degradation of 1% and upto 45% reduction in energy with a performance degradation of 5%. Further, the energy consumed by the heuristic solution is within 1% of the optimal solution obtained from the ILP approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
AMD-K6III-E+ Processor DataSheet. http://www.amd.com/epd/processors/6.32bitproc/8.amdk6fami/29.amdk6iiie/23543/23543a.pdf
Azevedo, A., Issenin, I., Cornea, R., Gupta, R., Dutt, N., Veidenbaum, A., Nicolau, A.: Profile-based Dynamic Voltage Scheduling using Program Checkpoints. In: DATE 2002. Proceedings of the 2002 Design, Automation and Test in Europe Conf. and Exhibition (2002)
Varma, A., Ganesh, B., Sen, M., Choudhury, S.R., Srinivasan, L., Jacob, B.: A Control-Theoretic Approach to Dynamic Voltage Scheduling. In: CASES 2003. Intl. Conf. on Compilers, Architectures and Synthesis of Embedded Systems (2003)
Chandrakasan, A., Bowhill, W.J., Fox, F.: Design of High-Performance Microprocessor Circuits. IEEE Press, Los Alamitos (2001)
Crusoe Processor Model TM5700/TM5900 DataBook. http://www.transmeta.com/crusoe_docs/tm5900_databook_040204.pdf
European Telecommunication Standards Institute http://www.etsi.org
Contreras, G., Martonosi, M., Peng, J., Ju, R., Lueh, G.-Y.: XTREM: A Power Simulator for the Intel XScale® Core. In: LCTES 2004. Languages, Compilers and Tools for Embedded Systems (June 2004)
Magklis, G., Scott, M.L., Semeraro, G., Albonesi, D.H., Dropsho, S.: Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor. In: 30th Annual Intl. Symp. on Computer Architecture, San Diego, California (June 09-11, 2003)
Hsu, C.-H., Kremer, U., Hsiao, M.: Compiler-directed dynamic frequency and voltage scheduling. In: Falsafi, B., VijayKumar, T.N. (eds.) PACS 2000. LNCS, vol. 2008, Springer, Heidelberg (2001)
Hsu, C.-H., Kremer, U.: Compiler-directed dynamic voltage scaling based on program regions. Technical Report DCS-TR-461, Department of Computer Science, Rutgers University (November 2001)
Intel® PXA255 Processor Electrical, Mechanical, and Thermal Specification. http://www.intel.com/design/pca/applicationsprocessors/manuals/278780.htm
JPEG (Joint Photographic Experts Group) committee http://www.jpeg.org/
Choi, K., Soma, R., Pedram, M.: Off-Chip Latency-Driven Dynamic Voltage and Frequency Scaling for an MPEG Decoding. In: DAC 2004. Proceedings of the 41st annual conference on Design automation (June 2004)
Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B.: MiBench: A free, commercially representative embedded benchmark suite. In: 4th Annual IEEE Workshop on Workload Characterization, Austin, TX (December 2001)
MPEG (Motion Picture Expert Group) Industry Forum http://www.m4if.org/
Mudge, T.: Power: A first class design constraint for future architectures. In: Proceedings of Intl. Conf. on High Performance Computing (December 2000)
Pisinger, D.: A minimal algorithm for the multiple-choice knapsack problem. European Journal of Operational Research 83, 394–410 (1995)
Saputra, H., Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Hu, J., Hsu, C-H., Kremer, U.: Energy-conscious compilation based on voltage scaling. In: LCTES 2002. ACM SIGPLAN Conf. on Languages, Compilers, and Tools for Embedded Systems (June 2002)
Sherwood, T., Calder, B.: Time varying behavior of programs, UC San Diego Technical Report UCSD- CS99-630 (August 1999)
Shen, X., Ding, C., Dwarkadas, S., Scott, M.: Characterizing Phases in Service-Oriented Applications. Technical Report 848. Dept. of Computer Science, University of Rochester (November 2004)
Xie, F., Martonosi, M., Malik, S.: Bounds on power savings using runtime dynamic voltage scaling: An exact algorithm and a linear-time heuristic approximation. In: ISLPED 2005. Proc. of the Intl. Symp. on Low-Power Electronics and Design, San Diego, CA (August 2005)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shyam, K., Govindarajan, R. (2007). Compiler-Directed Dynamic Voltage Scaling Using Program Phases. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds) High Performance Computing – HiPC 2007. HiPC 2007. Lecture Notes in Computer Science, vol 4873. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77220-0_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-77220-0_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77219-4
Online ISBN: 978-3-540-77220-0
eBook Packages: Computer ScienceComputer Science (R0)