Design and Implementation of Power-Aware Virtual Memory

Despite constant improvements in fabrication technology, hardware components are consuming more power than ever. With the ever-increasing demand for higher performance in highly-integrated systems, and as battery technology falls further behind, managing energy is becoming critically important to various embedded and mobile systems. In this paper, we propose and implement power-aware virtual memory to reduce the energy consumed by the memory in response to workloads becoming increasingly data-centric. We can use the power management features in current memory technology to put individual memory devices into low power modes dynamically under software control to reduce the power dissipation. However, it is imperative that any techniques employed weigh memory energy savings against any potential energy increases in other system components due to performance degradation of the memory. Using a novel power-aware virtual memory implementation, we estimate a significant reduction in memory power dissipation, from 4.1 W to 0.5-2.7 W, based on Rambus memory specifications, while running various real-world applications in a working Linux system. Unfortunately, due to a hardware bug in the chipset, direct power measurement is currently not possible. Applying more advanced techniques, we can reduce power dissipation further to 0.2-1.7 W, depending on the actual workload, with negligible effects on performance. We also show this work is applicable to other memory architectures, and is orthogonal to previously-proposed hardware-controlled power-management techniques, so it can be applied simultaneously to further enhance energy conservation in a variety of platforms.

[1]  Alan Jay Smith,et al.  Improving dynamic voltage scaling algorithms with PACE , 2001, SIGMETRICS '01.

[2]  Srilatha Manne,et al.  Power and performance tradeoffs using various caching strategies , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[3]  P. Krishnan,et al.  Thwarting the Power-Hungry Disk , 1994, USENIX Winter.

[4]  Amin Vahdat,et al.  ECOSystem: managing energy as a first class operating system resource , 2002, ASPLOS X.

[5]  Paul Horton,et al.  A Quantitative Analysis of Disk Drive Power Management in Portable Computers , 1994, USENIX Winter.

[6]  Fred Douglis,et al.  Adaptive Disk Spin-Down Policies for Mobile Computers , 1995, Comput. Syst..

[7]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[8]  Krishna M. Sivalingam,et al.  A Survey of Energy Efficient Network Protocols for Wireless Networks , 2001, Wirel. Networks.

[9]  M. J. Irwin,et al.  Scheduler-based DRAM energy management , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[10]  Scott Shenker,et al.  Scheduling for reduced CPU energy , 1994, OSDI '94.

[11]  Robin Kravets,et al.  Power management techniques for mobile communication , 1998, MobiCom '98.

[12]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[13]  R. Brodersen,et al.  Voltage Scheduling in the lpARM Microprocessor System , 2000 .

[14]  Johan Pouwelse,et al.  Dynamic voltage scaling on a low-power microprocessor , 2001, MobiCom '01.

[15]  Kanad Ghose,et al.  Energy-efficiency of VLSI caches: a comparative study , 1997, Proceedings Tenth International Conference on VLSI Design.

[16]  Luca Benini,et al.  Power-aware operating systems for interactive systems , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[17]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[18]  Alvin M. Despain,et al.  Cache design trade-offs for power and performance optimization: a case study , 1995, ISLPED '95.

[19]  Martin Nilsson,et al.  Investigating the energy consumption of a wireless network interface in an ad hoc networking environment , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[20]  Carla Schlatter Ellis,et al.  Modeling of DRAM Power Control Policies Using Deterministic and Stochastic Petri Nets , 2002, PACS.

[21]  Trevor Mudge,et al.  Dynamic voltage scaling on a low-power microprocessor , 2001 .

[22]  Luca Benini,et al.  Dynamic power management for portable systems , 2000, MobiCom '00.

[23]  Carla Schlatter Ellis,et al.  Memory controller policies for DRAM power management , 2001, ISLPED '01.

[24]  Kai Li,et al.  Storage alternatives for mobile computers , 1994, OSDI '94.

[25]  Thomas D. Burd,et al.  Energy efficient CMOS microprocessor design , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[26]  Carla Schlatter Ellis,et al.  Power aware page allocation , 2000, SIGP.

[27]  Thomas D. Burd,et al.  Voltage scheduling in the IpARM microprocessor system , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[28]  P. Krishnan,et al.  Flash memory file caching for mobile computers , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[29]  Philip M. Long,et al.  Adaptive Disk Spindown via Optimal Rent-to-Buy in Probabilistic Environments , 1999, Algorithmica.

[30]  Luca Benini,et al.  Operating-system directed power reduction , 2000, ISLPED '00.

[31]  Daniel Moss,et al.  Compiler-assisted dynamic power-aware scheduling for real-time applications , 2000 .

[32]  Randy H. Katz,et al.  Measuring and Reducing Energy Consumption of Network Interfaces in Hand-Held Devices (Special Issue on Mobile Computing) , 1997 .

[33]  Mahmut T. Kandemir,et al.  Scheduler-based DRAM energy management , 2002, DAC '02.

[34]  Carl Staelin,et al.  Idleness is Not Sloth , 1995, USENIX.

[35]  Jason Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[36]  Hal Wasserman,et al.  Comparing algorithm for dynamic speed-setting of a low-power CPU , 1995, MobiCom '95.

[37]  Sally A. McKee,et al.  Hitting the memory wall: implications of the obvious , 1995, CARN.

[38]  Vincent K. N. Lau,et al.  Automatic Performance Setting for Dynamic Voltage Scaling , 2002, Wirel. Networks.

[39]  Flavius Gruian Hard real-time scheduling for low-energy using stochastic data and DVS processors , 2001, ISLPED'01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design (IEEE Cat. No.01TH8581).

[40]  Mahmut T. Kandemir,et al.  DRAM energy management using software and hardware directed power mode control , 2001, Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.