ABSTRACT
Scalability of the core frequency is a common feature of low-power processor architectures. Many heuristics for frequency scaling were proposed in the past to find the best trade-off between energy efficiency and computational performance. With complex applications exhibiting unpredictable behavior these heuristics cannot reliably adjust the operation point of the hardware because they do not know where the energy is spent and why the performance is lost.Embedded hardware monitors in the form of event counters have proven to offer valuable information in the field of performance analysis. We will demonstrate that counter values can also reveal the power-specific characteristics of a thread.In this paper we propose an energy-aware scheduling policy for non-real-time operating systems that benefits from event counters. By exploiting the information from these counters, the scheduler determines the appropriate clock frequency for each individual thread running in a time-sharing environment. A recurrent analysis of the thread-specific energy and performance profile allows an adjustment of the frequency to the behavioral changes of the application. While the clock frequency may vary in a wide range, the application performance should only suffer slightly (e.g. with 10% performance loss compared to the execution at the highest clock speed). Because of the similarity to a car cruise control, we called our scheduling policy Process Cruise Control. This adaptive clock scaling is accomplished by the operating system without any application support.Process Cruise Control has been implemented on the Intel XScale architecture, that offers a variety of frequencies and a set of configurable event counters. Energy measurements of the target architecture under variable load show the advantage of the proposed approach.
- J. Anderson, L. Berc, J. Dean, S. Ghemawat, M. Henzinger, S.-T. Leung, R. Sites, M. Vandervoorde, C. Waldspurger, and W. Weihl. Continuous profiling: Where have all the cycles gone? ACM Transactions on Computer Systems, 15(4), November 1997. Google ScholarDigital Library
- F. Bellosa. The benefits of event-driven energy accounting in power-sensitive systems. Proceedings of the 9th ACM SIGOPS European Workshop, September 2000. Google ScholarDigital Library
- F. Bellosa. The case for event-driven energy accounting. Technical Report TR-I4-01-07, University of Erlangen, Department of Computer Science, June 2001.Google Scholar
- F. Bellosa and M. Steckermeier. The performance implications of locality information usage in shared-memory multiprocessors. Journal of Parallel and Distributed Computing, 37(1):1--2, August 1996. Google ScholarDigital Library
- M. Fleischmann. Longrun power management. White Paper of Transmeta Corporation, January 2001.Google Scholar
- J. Flinn, G. Back, J. Anderson, K. Farkas, and D. Grunwald. Quantifying the energy consumption of a pocket computer and a java virtual machine. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems SIGMETRICS'2000, June 2000. Google ScholarDigital Library
- J. Flinn, K. Farkas, and J. Anderson. Power and energy characterization of the itsy pocket computer. Technical Report TN-56, COMPAQ Western Research Lab, February 2000.Google Scholar
- D. Grunwald. Boulder unified frequency/voltage scaling interface (bufscale). http://systems.cs.colorado.edu/ EnergyEfficientComputing/cdcvsi.html, 2001.Google Scholar
- S. Gurumurthi, A. Sivasubramaniam, M. J. Irwin, N. Vijaykrishnan, and M. Kandemir. Using complete machine simulation for software power estimation: The softwatt approach. In Proceedings of the Eighth International Symposium on High-Performance Computer Architecture HPCA'02, February 2002. Google ScholarDigital Library
- I. Hong, M. Potkonjak, and M. Srivastava. On-line scheduling of hard real-time tasks on variable voltage processor. In Proceedings of the International Conference on Computer-Aided Design ICCAD'98, November 1998. Google ScholarDigital Library
- Intel. Intel® 80200 Processor based on Intel® XScale Microarchitecture Developer's Manual, November 2000.Google Scholar
- Intel. Intel XScale Microarchitecture Technical Summary, July 2000.Google Scholar
- Intel. Intel® 80200 Processor based on Intel® XScale Microarchitecture Datasheet, September 2001.Google Scholar
- Intel. Intel® IQ80310 Evaluation Platform, July 2001.Google Scholar
- R. Joseph, D. Brooks, and M. Martonosi. Live, runtime power measurements as a foundation for evaluating power/performance tradeoffs. In Workshop on Complexity Effectice Design WCED, held in conjunction with ISCA-28, June 2001.Google Scholar
- R. Joseph and M. Martonosi. Run-time power estimation in high-performance microprocessors. in The International Symposium on Low Power Electronics and Design ISLPED'01, August 2001. Google ScholarDigital Library
- Micron Technology. Calculating memory system power for DDR. Technical Report TN-46-03, 2001.Google Scholar
- T. Pering and R. Broderson. Energy efficient voltage scheduling for real-time operating systems. In Proceedings of the 4th IEEE Real-Time Technology and Applications Symposium RTAS'98, Work in Progress Session, June 1998.Google Scholar
- P. Pillai and K. Shin. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of the 18th Symposium on Operating Systems Principles SOSP'2001, October 2001. Google ScholarDigital Library
- J. Pouwelse, K. Langendoen, and H. Sips. Dynamic voltage scaling on a low-power microprocessor. In Proceedings of the International Symposium on Mobile Multimedia Systems & Applications MMSA'2000, November 2000.Google Scholar
Index Terms
- Process cruise control: event-driven clock scaling for dynamic power management
Recommendations
Low complexity scheduling algorithms minimizing the energy for tasks with agreeable deadlines
Power management aims in reducing the energy consumed by computer systems while maintaining a good level of performance. One of the mechanisms used to save energy is the shut-down mechanism which puts the system into a sleep state when it is idle. No ...
Low complexity scheduling algorithm minimizing the energy for tasks with agreeable deadlines
LATIN'12: Proceedings of the 10th Latin American international conference on Theoretical InformaticsPower management aims in reducing the energy consumed by computer systems while maintaining a good level of performance. One of the mechanisms used to save energy is the shut-down mechanism which puts the system into a sleep state when it is idle. No ...
Balancing power consumption in multiprocessor systems
Proceedings of the 2006 EuroSys conferenceActions usually taken to prevent processors from overheating, such as decreasing the frequency or stopping the execution flow, also degrade performance. Multiprocessor systems, however, offer the possibility of moving the task that caused a CPU to ...
Comments