Optimizing storage and memory systems for energy and performance

Electrical energy is an essential resource for the modern world. Unfortunately, its price has almost doubled in the last decade. Furthermore, energy production is also currently one of the primary sources of pollution. These concerns are becoming more important in data-centers. As more computational power is required to serve hundreds of millions of users, bigger data-centers are becoming necessary. This results in higher electrical energy consumption. Of all the energy used in data-centers, including power distribution units, lights, and cooling, computer hardware consumes as much as 80%. Consequently, there is opportunity to make data-centers more energy efficient by designing systems with lower energy footprint. Consuming less energy is critical not only in data-centers. It is also important in mobile devices where battery-based energy is a scarce resource. Reducing the energy consumption of these devices will allow them to last longer and re-charge less frequently. Saving energy in computer systems is a challenging problem. Improving a system's energy efficiency usually comes at the cost of compromises in other areas such as performance or reliability. In the case of secondary storage, for example, spinning-down the disks to save energy can incur high latencies if they are accessed while in this state. The challenge is to be able to increase the energy efficiency while keeping the system as reliable and responsive as before. This thesis tackles the problem of improving energy efficiency in existing systems while reducing the impact on performance. First, we propose a new technique to achieve fine grained energy proportionality in multi-disk systems; Second, we design and implement an energy-efficient cache system using flash memory that increases disk idleness to save energy; Finally, we identify and explore solutions for the page fetch-before-update problem in caching systems that can: (a) control better I/O traffic to secondary storage and (b) provide critical performance improvement for energy efficient systems.

[1]  Medha Bhadkamkar,et al.  EXCES: External caching in energy saving storage systems , 2008, 2008 IEEE 14th International Symposium on High Performance Computer Architecture.

[2]  Jason Flinn,et al.  Speculative execution in a distributed file system , 2005, SOSP '05.

[3]  Vibhore Vardhan,et al.  Power Consumption Breakdown on a Modern Laptop , 2004, PACS.

[4]  Darrell D. E. Long,et al.  A Spin-Up Saved Is Energy Earned: Achieving Power-Efficient, Erasure-Coded Storage , 2008, HotDep.

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

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

[7]  Keith Bostic,et al.  The design and implementa-tion of the 4.4BSD operating system , 1996 .

[8]  Bart Samwel Kernel korner: extending battery life with laptop mode , 2004 .

[9]  Gargi Dasgupta,et al.  Server Workload Analysis for Power Minimization using Consolidation , 2009, USENIX Annual Technical Conference.

[10]  Akshat Verma,et al.  Truly Non-blocking Writes , 2011, HotStorage.

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

[12]  Jörn Engel,et al.  LogFS-finally a scalable flash file system , 2005 .

[13]  Geoffrey H. Kuenning,et al.  Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System , 2002, USENIX Annual Technical Conference, General Track.

[14]  Luiz André Barroso,et al.  The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines , 2009, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines.

[15]  Ethan L. Miller,et al.  Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage , 2008, FAST.

[16]  Akshat Verma,et al.  pMapper: Power and Migration Cost Aware Application Placement in Virtualized Systems , 2008, Middleware.

[17]  Trevor N. Mudge,et al.  FlashCache: a NAND flash memory file cache for low power web servers , 2006, CASES '06.

[18]  Vagelis Hristidis,et al.  BORG: Block-reORGanization for Self-optimizing Storage Systems , 2009, FAST.

[19]  Umesh Deshpande,et al.  Post-copy live migration of virtual machines , 2009, OPSR.

[20]  Himabindu Pucha,et al.  Cost Effective Storage using Extent Based Dynamic Tiering , 2011, FAST.

[21]  Sriram Sankar,et al.  Using Intradisk Parallelism to Build Energy-Efficient Storage Systems , 2009, IEEE Micro.

[22]  Irfan Ahmad,et al.  BASIL: Automated IO Load Balancing Across Storage Devices , 2010, FAST.

[23]  Amer Diwan,et al.  The DaCapo benchmarks: java benchmarking development and analysis , 2006, OOPSLA '06.

[24]  Yuanyuan Zhou,et al.  Hibernator: helping disk arrays sleep through the winter , 2005, SOSP '05.

[25]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[26]  Andrea C. Arpaci-Dusseau,et al.  A File Is Not a File: Understanding the I/O Behavior of Apple Desktop Applications , 2012, TOCS.

[27]  Carl A. Waldspurger,et al.  Memory resource management in VMware ESX server , 2002, OSDI '02.

[28]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[29]  Richard E. Brown,et al.  Report to Congress on Server and Data Center Energy Efficiency: Public Law 109-431 , 2008 .

[30]  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..

[31]  Michael M. Swift,et al.  FlashVM: Virtual Memory Management on Flash , 2010, USENIX Annual Technical Conference.

[32]  Michael L. Scott,et al.  Energy efficient prefetching and caching , 2004 .

[33]  Ibm Redbooks IBM System Storage San Volume Controller , 2006 .

[34]  Suparna Bhattacharya,et al.  Asynchronous I/O Support in Linux 2.5 , 2010 .

[35]  Qingyuan Deng,et al.  MemScale: active low-power modes for main memory , 2011, ASPLOS XVI.

[36]  Jun Wang,et al.  Exploiting In-Memory and On-Disk Redundancy to Conserve Energy in Storage Systems , 2008, IEEE Transactions on Computers.

[37]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.

[38]  Cristian Ungureanu,et al.  Revisiting storage for smartphones , 2012, TOS.

[39]  Jin Qian,et al.  PARAID: A gear-shifting power-aware RAID , 2007, TOS.

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

[41]  Christopher Small,et al.  Why does file system prefetching work? , 1999, USENIX Annual Technical Conference, General Track.

[42]  Andrea C. Arpaci-Dusseau,et al.  Analysis and Evolution of Journaling File Systems , 2005, USENIX Annual Technical Conference, General Track.

[43]  Andrzej Kochut,et al.  Dynamic Placement of Virtual Machines for Managing SLA Violations , 2007, 2007 10th IFIP/IEEE International Symposium on Integrated Network Management.

[44]  Peter J. Varman,et al.  DiskGroup: Energy Efficient Disk Layout for RAID1 Systems , 2007, 2007 International Conference on Networking, Architecture, and Storage (NAS 2007).

[45]  Alma Riska,et al.  Evaluating Block-level Optimization Through the IO Path , 2007, USENIX Annual Technical Conference.

[46]  David W. Nellans,et al.  Micro-pages: increasing DRAM efficiency with locality-aware data placement , 2010, ASPLOS XV.

[47]  A. L. Narasimha Reddy,et al.  Exploiting Concurrency to Improve Latency and throughput in a Hybrid Storage System , 2010, 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[48]  Tom Chen,et al.  Design and implementation , 2006, IEEE Commun. Mag..

[49]  Ke Chen,et al.  Impacts of Non-blocking Caches in Out-of-order Processors , 2011 .

[50]  Akshat Verma,et al.  SRCMap: Energy Proportional Storage Using Dynamic Consolidation , 2010, FAST.

[51]  Manish Marwah,et al.  Delivering Energy Proportionality with Non Energy-Proportional Systems - Optimizing the Ensemble , 2008, HotPower.

[52]  Hyo J. Lee Augmenting RAID with an SSD for Energy Relief , 2008 .

[53]  Medha Bhadkamkar,et al.  The case for active block layer extensions , 2008, OPSR.

[54]  Klaus-Dieter Lange,et al.  Identifying Shades of Green: The SPECpower Benchmarks , 2009, Computer.

[55]  Shankar Pasupathy,et al.  Measurement and Analysis of Large-Scale Network File System Workloads , 2008, USENIX Annual Technical Conference.

[56]  Jason Flinn,et al.  Rethink the sync , 2006, OSDI '06.

[57]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[58]  Lei Zhang,et al.  Generalized file system dependencies , 2007, SOSP.

[59]  Lakshmi Ganesh,et al.  Optimizing Power Consumption in Large Scale Storage Systems , 2007, HotOS.

[60]  Song Jiang,et al.  SmartSaver: Turning Flash Drive into a Disk Energy Saver for Mobile Computers , 2006, ISLPED'06 Proceedings of the 2006 International Symposium on Low Power Electronics and Design.

[61]  Michael Stumm,et al.  FlexSC: Flexible System Call Scheduling with Exception-Less System Calls , 2010, OSDI.

[62]  Feng Chen,et al.  Hystor: making the best use of solid state drives in high performance storage systems , 2011, ICS '11.

[63]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[64]  Scott A. Brandt,et al.  NVCache: Increasing the Effectiveness of Disk Spin-Down Algorithms with Caching , 2006, 14th IEEE International Symposium on Modeling, Analysis, and Simulation.

[65]  Luiz André Barroso,et al.  The Case for Energy-Proportional Computing , 2007, Computer.

[66]  Fred Douglis,et al.  Beating the I/O bottleneck: a case for log-structured file systems , 1989, OPSR.

[67]  Darrell D. E. Long,et al.  Adaptive disk spin‐down for mobile computers , 2000, Mob. Networks Appl..

[68]  Alan L. Cox,et al.  Lazy Asynchronous I/O for Event-Driven Servers , 2004, USENIX Annual Technical Conference, General Track.

[69]  Ricardo Bianchini,et al.  Exploiting redundancy to conserve energy in storage systems , 2006, SIGMETRICS '06/Performance '06.

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

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