Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Collaborative operating system and compiler power management for real-time applications

Published: 01 February 2006 Publication History

Abstract

Managing energy consumption has become vitally important to battery-operated portable and embedded systems. Dynamic voltage scaling (DVS) reduces the processor's dynamic power consumption quadratically at the expense of linearly decreasing the performance. When reducing energy with DVS for real-time systems, one must consider the performance penalty to ensure that deadlines can be met. In this paper, we introduce a novel collaborative approach between the compiler and the operating system (OS) to reduce energy consumption. We use the compiler to annotate an application's source code with path-dependent information called power-management hints (PMHs). This fine-grained information captures the temporal behavior of the application, which varies by executing different paths. During program execution, the OS periodically changes the processor's frequency and voltage based on the temporal information provided by the PMHs. These speed adaptation points are called power-management points (PMPs). We evaluate our scheme using three embedded applications: a video decoder, automatic target recognition, and a sub-band tuner. Our scheme shows an energy reduction of up to 57% over no power-management and up to 32% over a static power-management scheme. We compare our scheme to other schemes that solely utilize PMPs for power-management and show experimentally that our scheme achieves more energy savings. We also analyze the advantages and disadvantages of our approach relative to another compiler-directed scheme.

References

[1]
AbouGhazaleh, N., Mosse, D., Childers, B., and Melhem, R. 2001. Toward the placement of power management points in real-time applications. In COLP'01: Workshop on Compilers and Operating Systems for Low Power. IEEE press, Piscataway, NJ.
[2]
AbouGhazaleh, N., Childers, B., Mosse, D., Melhem, R., and Craven, M. 2002. Collaborative compiler-OS power management for time-sensitive applications. Tech. Rep. TR-02-103, Department of Computer Science, University of Pittsburgh, Pittsburgh, PA.
[3]
AbouGhazaleh, N., Childers, B., Mosse, D., Melhem, R., and Craven, M. 2003a. Energy management for real-time embedded applications with compiler Support. In LCTES'03: Proceedings of the 2003 ACM SIGPLAN Conference on Language, Compiler, and Tools for Embedded Systems. ACM Press, New York. 284--293.
[4]
AbouGhazaleh, N., Mosse, D., Childers, B., Melhem, R., and Craven, M. 2003b. Collaborative operating system and compiler power management for real-time applications. In RTAS'03: IEEE Real-Time Embedded Technology and Applications Symposium. IEEE Press, Piscataway, NJ.
[5]
Aydin, H., Melhem, R., Mosse, D., and Alvarez, P. 2001. Determining optimal Processor Speeds for Periodic Real-time Tasks with Different Power Characteristics. In ECRT'01: IEEE Euromicro Conference on Real-Time Systems. IEEE Press, Piscataway, NJ.
[6]
Azevedo, A., Issenin, I., Cornea, R., Gupta, R., Dutt, N., Veidenbaum, A., and Nicolau, A. 2002. Profile-based dynamic voltage scheduling using program checkpoints. In DATE '02: Proceedings of the Conference on Design, Automation and Test in Europe. IEEE Computer Society, Washington, DC. 168.
[7]
Butts, J. A. and Sohi, G. S. 2000. A static power model for architects. In MICRO 33: Proceedings of the 33rd Annual ACM/IEEE International Symposium on Microarchitecture. ACM Press, New York. 191--201.
[8]
Childers, B., Tang, H., and Melhem, R. 2000. Adapting processor supply voltage to instruction-level parallelism. In Koolchips 2000 Workshop, During 33th Annual International Symposium on Microarchitecture (MICRO-33).
[9]
Gruian, F. 2001. On energy reduction in hard real-time systems containing tasks with stochastic execution times. In IEEE Workshop on Power Management for Real-Time and Embedded Systems.
[10]
Hsu, C. and Kremer, U. 2002. Single vs. multiple regions: A comparison of different compiler-directed dynamic voltage scheduling approaches. In Power Aware Computer Systems (PACS). ACM Press, New York.
[11]
Hsu, C. and Kremer, U. 2003. The design, implementation, and evaluation of a compiler algorithm for cpu energy reduction. In PLDI'03: Programming Language Design and Implementation. ACM Press, New York.
[12]
Ishihara, T. and Yasuura, H. 1998. Voltage scheduling problem for dynamically variable voltage processors. In ISLPED '98: Proceedings of the 1998 International Symposium on Low Power Electronics and Design. ACM Press, New York. 197--202.
[13]
Kim, W., Shin, D., Yun, H., Kim, J., and Min, S. 2002. Performance comparison of dynamic voltage scaling algorithms for hard real-time systems. In Real-Time and Embedded Technology and Applications Symposium. IEEE press, Piscataway, NJ.
[14]
Mahalanobis, A., Vijaya Kumar, B. V. K., and Sims, S. R. F. 1996. Distance-classifier correlation filters for multiclass target recognition. Optical Society of America 35, 7 (June), 3127.
[15]
Min, R., Furrer, T., and Chandrakasan, A. 2000. Dynamic voltage scaling techniques for distributed micro-sensor networks. In IEEE VLSI Workshop. IEEE Press, Piscataway, NJ.
[16]
Mossé, D., Aydin, H., Childers, B., and Melhem, R. 2000. Compiler-assisted dynamic power-aware scheduling for real-time applications. In COLP'00: Workshop on Compilers and Operating Systems for Low Power. IEEE Press, Piscataway, NJ.
[17]
MSSG. 2001. MPEG software simulation group, MPEG2 decoder source code. http://www.mpeg.org/ MPEG/MSSG.
[18]
Pering, T., Burd, T., and Brodersen, R. 2000. Voltage scheduling in the lpARM microprocessor system. In ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design. ACM Press, New York. 96--101.
[19]
Pillai, P. and Shin, K. G. 2001. Real-time dynamic voltage scaling for low-power embedded operating systems. In SOSP'01: 18th ACM Symposium on Operating Systems Principles. ACM Press, New York.
[20]
Puschner, P. and Burns, A. 2000. Guest Editorial: A Review of Worst-Case Execution-Time Analysis. Vol. 18. Kluwer Academic Publ. Norwell, MA.
[21]
Rickard, D., Berger, R., Chan, E., Clegg, B., Patton, S., Anderson, R., Brown, R., Sylvester, D., Guthaus, M., Deogun, H., Liu, K. J. R., Pandana, C., and Chandrachoodan, N. 2003. BAE Systems mission specific processor technology. In GOMAC'03: 28th Annual Government Microcircuit Applications and Critical Technology Conference.
[22]
Saputra, H., Kandemir, M., Vijaykrishnan, N., Irwin, M. J., Hu, J. S., Hsu, C.-H., and Kremer, U. 2002. Energy-conscious compilation based on voltage scaling. In LCTES/SCOPES'02: Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems. ACM Press, New York. 2--11.
[23]
Shin, D., Kim, J., and Lee., S. 2001. Intra-task voltage scheduling for low-energy hard real-time application. In IEEE Design and Test of Computers. IEEE Press, Piscataway, NJ.
[24]
Simplescalar. 2001. Architecture simulator. http://www.simplescalar.com.
[25]
Transmeta. 2002. Crusoe processor specification. http://www.transmeta.com.
[26]
Vivancos, E., Healy, C., Mueller, F., and Whalley, D. 2001. Parametric timing analysis. In LCTES'01: Workshop on Language, Compilers, and Tools for Embedded Systems. ACM Press, New York.
[27]
Vrchoticky, A. 1994. Compilation support for fine-grained execution time analysis. Tech. rep., Technical University of Vienna.
[28]
Xie, F., Martonosi, M., and Malik, S. 2003. Compile-time dynamic voltage scaling settings: Opportunities and limits. In PLDI'03: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation. ACM Press, New York. 49--62.
[29]
XScale. 2002. Intel XScale processors. http://developer.intel.com/design/intelxscale.

Cited By

View all
  • (2022)Energy-aware scheduling, compilation, and execution of hard-real-time multi-task Java programsMicroprocessors & Microsystems10.1016/j.micpro.2022.10472195:COnline publication date: 1-Nov-2022
  • (2022)Compiler-assisted energy reduction of java real-time programsMicroprocessors & Microsystems10.1016/j.micpro.2022.10443689:COnline publication date: 1-Mar-2022
  • (2019)An Energy Efficient Embedded Processor for Hard Real-Time Java ApplicationsLectures on Quantum Statistics10.1007/978-3-030-18656-2_21(281-292)Online publication date: 25-Apr-2019
  • Show More Cited By

Recommendations

Reviews

Michael Zastre

Embedded systems researchers who write compilers often run into the profiling problem: how can runtime statistics best be obtained and used to improve future runtime performance__?__ Such statistics are needed to determine how much energy should be used by embedded systems hardware to support an application's execution (slower or faster clock speed means less or more power consumption). For example, the deadline for rendering an MPEG-2 frame, as well as the progress of the application, may indicate that there is more or less slack in the schedule. If the former is the case, then there is time to spare before the frame must be rendered (more slack), and the central processing unit (CPU) frequency, and therefore speed, is lowered; if the latter is the case, there is a danger of missing a deadline; therefore, CPU speed must be increased. The authors of this paper propose a technique for discovering as much slack as possible at runtime. This involves code, into which power management hints (PMHs) are inserted. PMHs compute available slack, and power management points (PMPs), which use the statistics computed by the hints to increase or decrease chip frequency (voltage) in such a way that schedules are met and overall energy usage is minimized. The placement of PMHs is nontrivial, and the authors clearly describe the ways in which both performance profiles and worst-case timings can be used to insert PMHs into a control-flow graph. Some simulation results are provided that examine realistic tasks (for example, automatic target recognition and MPEG video decoding). The paper is clear and well written; the authors have thought about how best to express the many implementation details of their approach. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 5, Issue 1
February 2006
258 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/1132357
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 01 February 2006
Published in TECS Volume 5, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Real-time
  2. collaborative OS and compiler
  3. dynamic voltage scaling
  4. power-management
  5. voltage scaling points placement

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Energy-aware scheduling, compilation, and execution of hard-real-time multi-task Java programsMicroprocessors & Microsystems10.1016/j.micpro.2022.10472195:COnline publication date: 1-Nov-2022
  • (2022)Compiler-assisted energy reduction of java real-time programsMicroprocessors & Microsystems10.1016/j.micpro.2022.10443689:COnline publication date: 1-Mar-2022
  • (2019)An Energy Efficient Embedded Processor for Hard Real-Time Java ApplicationsLectures on Quantum Statistics10.1007/978-3-030-18656-2_21(281-292)Online publication date: 25-Apr-2019
  • (2018)A QoS-enhanced intelligent stochastic real-time packet scheduler for multimedia IP trafficMultimedia Tools and Applications10.1007/s11042-017-4912-677:10(12725-12748)Online publication date: 1-May-2018
  • (2016)Energy and timing aware synchronous programmingProceedings of the 13th International Conference on Embedded Software10.1145/2968478.2968500(1-10)Online publication date: 1-Oct-2016
  • (2014)An Integrated Framework for Energy Optimization of Embedded Real-Time ApplicationsIEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences10.1587/transfun.E97.A.2477E97.A:12(2477-2487)Online publication date: 2014
  • (2012)Energy-Efficient Phase-Aware Scheduling for Heterogeneous Multicore Processors2012 IEEE Green Technologies Conference10.1109/GREEN.2012.6200965(1-6)Online publication date: Apr-2012
  • (2012)Runtime voltage/frequency scaling for energy-aware streaming applications2012 Conference Record of the Forty Sixth Asilomar Conference on Signals, Systems and Computers (ASILOMAR)10.1109/ACSSC.2012.6489264(1439-1443)Online publication date: Nov-2012
  • (2012)A Dynamic Frequency Governor for Operating System Based on Performance-Energy Tradeoff ModelRecent Advances in Computer Science and Information Engineering10.1007/978-3-642-25766-7_64(475-486)Online publication date: 5-Feb-2012
  • (2011)An integrated optimization framework for reducing the energy consumption of embedded real-time applicationsProceedings of the 17th IEEE/ACM international symposium on Low-power electronics and design10.5555/2016802.2016863(271-276)Online publication date: 1-Aug-2011
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media