Energy efficient prefetching and caching

Traditional disk management strategies--prefetching and caching in particular--are designed to maximize performance. In mobile systems they conflict with strategies that attempt to save energy by powering down the disk when it is idle. We present new rules for prefetching and caching that maximize power-down opportunities (without performance loss) by creating an access pattern characterized by intense bursts of activity separated by long idle times. We also describe an automatic system that monitors past application behavior in order to generate appropriate prefetching hints, and a general system of kernel enhancements that coordinate I/O activity across all running applications. We have implemented our system in the Linux kernel, and have measured its performance and energy consumption via physical instrumentation of a running laptop. We describe our implementation and present quantitative results. For workloads including a mix of sequential access to large files (multimedia), concurrent access to large numbers of files (compilation), and random access to large files (speech recognition), we report disk energy savings of 60-80%, with negligible loss in throughput or interactive responsiveness.

[1]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

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

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

[4]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[5]  Michael L. Scott,et al.  Energy-efficient processor design using multiple clock domains with dynamic voltage and frequency scaling , 2002, Proceedings Eighth International Symposium on High Performance Computer Architecture.

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

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

[8]  Krisztián Flautner,et al.  Vertigo: Automatic Performance-Setting for Linux , 2002, OSDI.

[9]  Michael L. Scott,et al.  Power-efficient Server-class Performance from Arrays of Laptop Disks , 2004 .

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

[11]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[12]  Trevor Mudge,et al.  Vertigo: automatic performance-setting for Linux , 2002, OPSR.

[13]  Mei-Yuh Hwang,et al.  The SPHINX-II speech recognition system: an overview , 1993, Comput. Speech Lang..

[14]  Yuanyuan Zhou,et al.  Reducing Energy Consumption of Disk Storage Using Power-Aware Cache Management , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[15]  Michael L. Scott,et al.  Energy efficiency through burstiness , 2003, 2003 Proceedings Fifth IEEE Workshop on Mobile Computing Systems and Applications.

[16]  Mahadev Satyanarayanan,et al.  Disconnected operation in the Coda File System , 1992, TOCS.

[17]  Jeffrey C. Mogul,et al.  A Better Update Policy , 1994, USENIX Summer.

[18]  Michael L. Scott,et al.  Increasing Disk Burstiness for Energy Efficiency , 2002 .

[19]  Ricardo Bianchini,et al.  Conserving disk energy in network servers , 2003, ICS '03.

[20]  Ricardo Bianchini,et al.  Application transformations for energy and performance-aware device management , 2002, Proceedings.International Conference on Parallel Architectures and Compilation Techniques.

[21]  P. Krishnan,et al.  Practical prefetching via data compression , 1993 .

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

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

[24]  Amin Vahdat,et al.  Currentcy: A Unifying Abstraction for Expressing Energy Management Policies , 2003, USENIX Annual Technical Conference, General Track.

[25]  Carla Schlatter Ellis,et al.  The case for higher-level power management , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[26]  Darrell D. E. Long,et al.  A dynamic disk spin-down technique for mobile computing , 1996, MobiCom '96.

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

[28]  Andrew Tomkins,et al.  Informed multi-process prefetching and caching , 1997, SIGMETRICS '97.

[29]  Geoffrey H. Kuenning,et al.  Automated hoarding for mobile computers , 1997, SOSP.

[30]  Dirk Grunwald,et al.  Massive Arrays of Idle Disks For Storage Archives , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[31]  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).

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

[33]  James F. Allen,et al.  TRIPS: An Integrated Intelligent Problem-Solving Assistant , 1998, AAAI/IAAI.

[34]  Alan Jay Smith,et al.  Apple Macintosh's energy consumption , 1998, IEEE Micro.

[35]  Mahmut T. Kandemir,et al.  DRPM: dynamic speed control for power management in server class disks , 2003, 30th Annual International Symposium on Computer Architecture, 2003. Proceedings..

[36]  Amin Vahdat,et al.  Currentcy: Unifying Policies for Resource Management , 2002 .

[37]  Alvin R. Lebeck,et al.  Power aware page allocation , 2000, SIGP.

[38]  Frank Bellosa,et al.  Cooperative I / O-- A Novel I / O Semantics for Energy-Aware Applications , 2003 .

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

[40]  Alan Jay Smith,et al.  Energy consumption of Apple Macintosh computers , 1997 .

[41]  Lyle A. McGeoch,et al.  Adaptive caching for demand prepaging , 2002, ISMM '02.

[42]  Anna R. Karlin,et al.  A study of integrated prefetching and caching strategies , 1995, SIGMETRICS '95/PERFORMANCE '95.

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