This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Program Counter-Based Prediction Techniques for Dynamic Power Management
June 2006 (vol. 55 no. 6)
pp. 641-658
Reducing energy consumption has become one of the major challenges in designing future computing systems. This paper proposes a novel idea of using program counters to predict I/O activities in the operating system. It presents a complete design of Program-Counter Access Predictor (PCAP) that dynamically learns the access patterns of applications and predicts when an I/O device can be shut down to save energy. PCAP uses path-based correlation to observe a particular sequence of program counters leading to each idle period and predicts future occurrences of that idle period. PCAP differs from previously proposed shutdown predictors in its ability to: 1) correlate I/O operations to particular behavior of the applications and users, 2) carry prediction information across multiple executions of the applications, and 3) attain higher energy savings while incurring lower mispredictions. We perform an extensive evaluation study of PCAP using a detailed trace-driven simulation and an actual Linux implementation. Our results show that PCAP achieves lower average mispredictions and higher energy savings than the simple timeout scheme and the state-of-the-art Learning Tree scheme.

[1] J.-L. Baer and T.-F. Chen, “An Effective On-Chip Preloading Scheme to Reduce Data Access Penalty,” Proc. 1991 ACM/IEEE Conf. Supercomputing, Nov. 1991.
[2] N. Bellas, I. Hajj, and C. Polychronopoulos, “Using Dynamic Cache Management Techniques to Reduce Energy in a High-Performance Processor,” Proc. Int'l Symp. Low Power Electronics and Design, Aug. 1999.
[3] L. Benini, A. Bogliolo, G.A. Paleologo, and G.D. Micheli, “Policy Optimization for Dynamic Power Management,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 18, no. 6, pp. 813-833, June 1999.
[4] D. Bertozzi, L. Benini, and B. Ricco, “Power Aware Network Interface Management for Streaming Multimedia,” Proc. Wireless Comm. and Networking Conf., pp. 926-930, 2002.
[5] B. Black, B. Mueller, S. Postal, R. Rakvic, N. Utamaphethai, and J.P. Shen, “Load Execution Latency Reduction,” Proc. 12th Int'l Conf. Supercomputing, July 1998.
[6] R.W. Carr and J.L. Hennessy, “WSCLOCK: A Simple and Effective Algorithm for Virtual Memory Management,” Proc. Eighth Symp. Operating Systems Principles, Dec. 1981.
[7] E.V. Carrera, E. Pinheiro, and R. Bianchini, “Conserving Disk Energy in Network Servers,” Proc. Int'l Conf. Supercomputing, June 2003.
[8] J.S. Chase, D.C. Anderson, P.N. Thakar, A.M. Vahdat, and R.P. Doyle, “Managing Energy and Server Resources in Hosting Centers,” Proc. ACM Symp. Operating Systems Principles, Oct. 2001.
[9] G.Z. Chrysos and J.S. Emer, “Memory Dependence Prediction Using Store Sets,” Proc. 25th Ann. Int'l Symp. Computer Architecture, June 1998.
[10] E.-Y. Chung, L. Benini, A. Bogliolo, Y.-H. Lu, and G.D. Micheli, “Dynamic Power Management for Nonstationary Service Requests,” IEEE Trans. Computers, vol. 51, no. 11, pp. 1345-1361, Nov. 2002.
[11] E.-Y. Chung, L. Benini, and G.D. Micheli, “Dynamic Power Management Using Adaptive Learning Tree,” Proc. Int'l Conf. Computer-Aided Design, Nov. 1999.
[12] D. Colarelli and D. Grunwald, “Massive Arrays of Idle Disks for Storage Archives,” Proc. 15th High Performance Networking and Computing Conf., Nov. 2002.
[13] Dell Computer Corp., Dell System 320SLi User's Guide, June 1992.
[14] F. Douglis, P. Krishnan, and B. Bershad, “Adaptive Disk Spin-Down Policies for Mobile Computers,” Proc. Second USENIX Symp. Mobile and Location-Independent Computing, Apr. 1995.
[15] C.S. Ellis, “The Case for Higher-Level Power Management,” Proc. Workshop Hot Topics in Operating Systems, Mar. 1999.
[16] K.I. Farkas, P. Chow, N.P. Jouppi, and Z. Vranesic, “Memory-System Design Considerations for Dynamically-Scheduled Processors,” Proc. 24th Ann. Int'l Symp. Computer Architecture, June 1997.
[17] R.A. Golding, P. Bosch, C. Staelin, T. Sullivan, and J. Wilkes, “Idleness Is Not Sloth,” Proc. USENIX Winter Conf., Jan. 1995.
[18] S. Gurumurthi, A. Sivasubramaniam, M. Kandemir, and H. Franke, “DRPM: Dynamic Speed Control for Power Management in Server Class Disks,” Proc. Int'l Symp. Computer Architecture, June 2003.
[19] T. Heath, E. Pinheiro, J. Hom, U. Kremer, and R. Bianchini, “Application Transformations for Energy and Performance-Aware Device Management,” Proc. 11th Int'l Conf. Parallel Architectures and Compilation Techniques, Sept. 2002.
[20] Hewlett-Packard, “Kittyhawk Power Management Modes,” internal document, Apr. 1993.
[21] C.-H. Hwang and A.C. Wu, “A Predictive System Shutdown Method for Energy Saving of Event Driven Computation,” ACM Trans. Design Automation of Electronic Systems, vol. 5, no. 2, pp. 226-241, Apr. 2000.
[22] C. Im, H. Kim, and S. Ha, “Dynamic Voltage Scheduling Technique for Low-Power Multimedia Applications Using Buffers,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 34-39, 2001.
[23] T. Ishihara and H. Yasuura, “Voltage Scheduling Problem for Dynamically Variable Voltage Processors,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 197-202, 1998.
[24] Y. Jégou and O. Temam, “Speculative Prefetching,” Proc. Int'l Conf. Supercomputing, July 1993.
[25] A.R. Karlin, M.S. Manasse, L.A. McGeoch, and S. Owicki, “Competitive Randomized Algorithms for Non-Uniform Problems,” Proc. First ACM-SIAM Symp. Discrete Algorithms, Jan. 1990.
[26] A.-C. Lai and B. Falsafi, “Selective, Accurate, and Timely Self-Invalidation Using Last-Touch Prediction,” Proc. 27th Ann. Int'l Symp. Computer Architecture, June 2000.
[27] A.-C. Lai, C. Fide, and B. Falsafi, “Dead-Block Prediction and Dead-Block Correlating Prefetchers,” Proc. 28th Ann. Int'l Symp. Computer Architecture, June 2001.
[28] J. Andrews, “Linux: Laptop Mode,, Prolonging Battery Life” http://kerneltrap.org/node653, 2004.
[29] Y.-H. Lu, E.-Y. Chung, T. Simunic, L. Benini, and G.D. Micheli, “Quantitative Comparison of Power Management Algorithms,” Proc. Design Automation and Test in Europe, Mar. 2000.
[30] Y.-H. Lu, G.D. Micheli, and L. Benini, “Requester-Aware Power Reduction,” Proc. Int'l Symp. System Synthesis, Sept. 2000.
[31] J. Luo and N. Jha, “Static and Dynamic Variable Voltage Scheduling Algorithms for Real-Time Heterogeneous Distributed Embedded Systems,” Proc. Asia and South Pacific Conf. VLSI Design, pp. 719-726, 2002.
[32] M.M.K. Martin, P.J. Harper, D.J. Sorin, M.D. Hill, and D.A. Wood, “Using Destination-Set Prediction to Improve the Latency/Bandwidth Tradeoff in Shared-Memory Multiprocessors,” Proc. 30th Ann. Int'l Symp. Computer Architecture, June 2003.
[33] N. Megiddo and D.S. Modha, “ARC: A Self-Tuning, Low Overhead Replacement Cache,” Proc. Second USENIX Conf. File and Storage Technologies, Mar. 2003.
[34] R. Nair, “Dynamic Path-Based Branch Correlation,” Proc. 28th Ann. Int'l Symp. Microarchitecture, Nov. 1995.
[35] R. Neugebauer and D. McAuley, “Energy Is Just Another Resource: Energy Accounting and Energy Pricing in the Nemesis OS,” Proc. Eighth Workshop Hot Topics in Operating Systems, May 2001.
[36] R. Neugebauer and D. McAuley, “Energy Is Just Another Resource: Energy Accounting and Energy Pricing in the Nemesis OS,” Proc. Workshop Hot Topics in Operating Systems, pp. 59-64, 2001.
[37] Open Office, http:/www.openoffice.org/, 2004.
[38] E. Pinheiro and R. Bianchini, “Energy Conservation Techniques for Disk Array-Based Servers,” Proc. 18th Int'l Conf. Supercomputing, June 2004.
[39] S.S. Pinter and A. Yoaz, “Tango: A Hardware-Based Data Prefetching Technique for Superscalar Processors,” Proc. 29th Ann. ACM/IEEE Int'l Symp. Microarchitecture, Dec. 1996.
[40] J. Pouwelse, K. Langendoen, and H. Sips, “Energy Priority Scheduling for Variable Voltage Processors,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 28-33, 2001.
[41] M.D. Powell, A. Agarwal, T.N. Vijaykumar, B. Falsafi, and K. Roy, “Reducing Set-Associative Cache Energy via Way-Prediction and Selective Direct-Mapping,” Proc. 34th Ann. ACM/IEEE Int'l Symp. Microarchitecture, Dec. 2001.
[42] Q. Qiu and M. Pedram, “Dynamic Power Management Based on Continuous-Time Markov Decision Processes,” Proc. Design Automation Conf., June 1999.
[43] A. Ramachandran and M.F. Jacome, “Xtream-Fit: An Energy-Delay Efficient Data Memory Subsystem for Embedded Media Processing,” Proc. Design Automation Conf., pp. 137-142, 2003.
[44] G. Reinman and B. Calder, “Predictive Techniques for Aggressive Load Speculation,” Proc. 31st Ann. ACM/IEEE Int'l Symp. Microarchitecture, Nov. 1998.
[45] M.T. Schmitz, B.M. Al-Hashimi, and P. Eles, “Energy-Efficient Mapping and Scheduling for DVS Enabled Distributed Embedded Systems,” Proc. Design Automation and Test in Europe Conf., pp. 514-521, 2002.
[46] T. Sherwood, S. Sair, and B. Calder, “Predictor-Directed Stream Buffers,” Proc. 33rd Ann. ACM/IEEE Int'l Symp. Microarchitecture, Dec. 2000.
[47] T. Simunic, L. Benini, P. Glynn, and G.D. Micheli, “Dynamic Power Management for Portable Systems,” Proc. Int'l Conf. Mobile Computing and Networking, Aug. 2000.
[48] J.E. Smith, “A Study of Branch Prediction Strategies,” Proc. Eighth Ann. Symp. Computer Architecture, May 1981.
[49] M.B. Srivastava, A.P. Chandrakasan, and R.W. Brodersen, “Predictive System Shutdown and Other Architecture Techniques for Energy Efficient Programmable Computation,” IEEE Trans. VLSI Systems, vol. 4, no. 1, pp. 42-55, Mar. 1996.
[50] A. Weisel, B. Beutel, and F. Bellosa, “Cooperative IO— A Novel IO Semantics for Energy-Aware Applications,” Operating Systems Design and Implementation, pp. 117-129, 2002.
[51] A. Weissel, B. Beutel, and F. Bellosa, “Cooperative I/O— A Novel I/O Semantics for Energy-Aware Applications,” Proc. Fifth Symp. Operating System Design and Implementation, Dec. 2002.
[52] C. Young, N. Gloy, and M.D. Smith, “A Comparative Analysis of Schemes for Correlated Branch Prediction,” Proc. 22nd Ann. Int'l Symp. Computer Architecture, June 1995.
[53] H. Zeng, C.S. Ellis, A.R. Lebeck, and A. Vahdat, “ECOSystem: Managing Energy as a First Class Operating System Resource,” Proc. Int'l Conf. Architectural Support for Programming Languages and Operating Systems, pp. 123-132, 2002.
[54] Q. Zhu, F.M. David, Y. Zhou, C.F. Devaraj, P. Cao, and Z. Li, “Reducing Energy Consumption of Disk Storage Using Power-Aware Cache Management,” Proc. 10th Int'l Symp. High-Performance Computer Architecture, Feb. 2004.
[55] Q. Zhu, A. Shankar, and Y. Zhou, “PB-LRU: A Self-Tuning Power Aware Storage Cache Replacement Algorithm for Conserving Disk Energy,” Proc. 18th Int'l Conf. Supercomputing, June 2004.

Index Terms:
Energy-aware systems, hardware/software interfaces, storage management.
Citation:
Chris Gniady, Ali R. Butt, Y. Charlie Hu, Yung-Hsiang Lu, "Program Counter-Based Prediction Techniques for Dynamic Power Management," IEEE Transactions on Computers, vol. 55, no. 6, pp. 641-658, June 2006, doi:10.1109/TC.2006.87
Usage of this product signifies your acceptance of the Terms of Use.