ViPZonE: Hardware Power Variability-Aware Virtual Memory Management for Energy Savings

Hardware variability is predicted to increase dramatically over the coming years as a consequence of continued technology scaling. In this paper, we apply the Underdesigned and Opportunistic Computing (UnO) paradigm by exposing system-level power variability to software to improve energy efficiency. We present ViPZonE, a memory management solution in conjunction with application annotations that opportunistically performs memory allocations to reduce DRAM energy. ViPZonE's components consist of a physical address space with DIMM-aware zones, a modified page allocation routine, and a new virtual memory system call for dynamic allocations from userspace. We implemented ViPZonE in the Linux kernel with GLIBC API support, running on a real x86-64 testbed with significant access power variation in its DDR3 DIMMs. We demonstrate that on our testbed, ViPZonE can save up to 27.80 percent memory energy, with no more than 4.80 percent performance degradation across a set of PARSEC benchmarks tested with respect to the baseline Linux software. Furthermore, through a hypothetical “what-if” extension, we predict that in future non-volatile memory systems which consume almost no idle power, ViPZonE could yield even greater benefits, demonstrating the ability to exploit memory hardware variability through opportunistic software.

[1]  Edward G. Coffman,et al.  A study of interleaved memory systems , 1970, AFIPS '70 (Spring).

[2]  David J. Kuck,et al.  The Burroughs Scientific Processor (BSP) , 1982, IEEE Transactions on Computers.

[3]  Mihaela van der Schaar,et al.  Software adaptation in quality sensitive applications to deal with hardware variability , 2010, GLSVLSI '10.

[4]  Zhao Zhang,et al.  Mini-rank: Adaptive DRAM architecture for improving memory power efficiency , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[5]  Mahmut T. Kandemir,et al.  Process-Variation-Aware Adaptive Cache Architecture and Management , 2009, IEEE Transactions on Computers.

[6]  Puneet Gupta,et al.  Variation-aware speed binning of multi-core processors , 2010, 2010 11th International Symposium on Quality Electronic Design (ISQED).

[7]  John Paul Shen,et al.  Organization Of Array Data For Concurrent Memory Access , 1988, [1988] Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture - MICRO '21.

[8]  Puneet Gupta,et al.  ViPZonE: OS-level memory variability-driven physical address zoning for energy savings , 2012, CODES+ISSS '12.

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

[10]  Sanjeev Kumar,et al.  Dynamic tracking of page miss ratio curve for memory management , 2004, ASPLOS XI.

[11]  Nikil D. Dutt,et al.  E-RoC: Embedded RAIDs-on-Chip for low power distributed dynamically managed reliable memories , 2011, 2011 Design, Automation & Test in Europe.

[12]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach (4. ed.) , 2007 .

[13]  Narayanan Vijaykrishnan,et al.  Variation-aware task allocation and scheduling for MPSoC , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[14]  Gu-Yeon Wei,et al.  Process Variation Tolerant 3T1D-Based Cache Architectures , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[15]  Jung Ho Ahn,et al.  Multicore DIMM: an Energy Efficient Memory Module with Independently Controlled DRAMs , 2009, IEEE Computer Architecture Letters.

[16]  Puneet Gupta,et al.  Variability-aware duty cycle scheduling in long running embedded sensing systems , 2011, 2011 Design, Automation & Test in Europe.

[17]  Avesta Sasan,et al.  A fault tolerant cache architecture for sub 500mV operation: resizable data composer cache (RDC-cache) , 2009, CASES '09.

[18]  Karthick Rajamani,et al.  Benchmarking for Power and Performance , 2007 .

[19]  Mel Gorman,et al.  Understanding the Linux Virtual Memory Manager , 2004 .

[20]  Paul Budnik,et al.  The Organization and Use of Parallel Memories , 1971, IEEE Transactions on Computers.

[21]  James D. Meindl,et al.  Impact of die-to-die and within-die parameter fluctuations on the maximum clock frequency distribution for gigascale integration , 2002, IEEE J. Solid State Circuits.

[22]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[23]  Puneet Gupta,et al.  VaMV: Variability-aware Memory Virtualization , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[24]  B. Ramakrishna Rau,et al.  Interleaved Memory Bandwidth in a Model of a Multiprocessor Computer System , 1979, IEEE Transactions on Computers.

[25]  James Tschanz,et al.  Parameter variations and impact on circuits and microarchitecture , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[26]  Karthick Rajamani,et al.  Energy Management for Commercial Servers , 2003, Computer.

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

[28]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[29]  Puneet Gupta,et al.  A case for opportunistic embedded sensing in presence of hardware power variability , 2010 .

[30]  Chulwoo Kim,et al.  A 1.6V 1.4Gb/s/pin consumer DRAM with self-dynamic voltage-scaling technique in 44nm CMOS technology , 2011, 2011 IEEE International Solid-State Circuits Conference.

[31]  Puneet Gupta,et al.  Variability-aware memory management for nanoscale computing , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[32]  W. Arden The International Technology Roadmap for Semiconductors—Perspectives and challenges for the next 15 years , 2002 .

[33]  Laxmi N. Bhuyan,et al.  High-performance computer architecture , 1995, Future Gener. Comput. Syst..

[34]  Tajana Simunic,et al.  PDRAM: A hybrid PRAM and DRAM main memory system , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[35]  Gurindar S. Sohi High-Bandwidth Interleaved Memories for Vector Processors-A Simulation Study , 1993, IEEE Trans. Computers.

[36]  Kang L. Wang,et al.  Low-power non-volatile spintronic memory: STT-RAM and beyond , 2013 .

[37]  Onur Mutlu,et al.  Stall-Time Fair Memory Access Scheduling for Chip Multiprocessors , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[38]  Ke Meng,et al.  Process Variation Aware Cache Leakage Management , 2006, ISLPED'06 Proceedings of the 2006 International Symposium on Low Power Electronics and Design.

[39]  Chulwoo Kim,et al.  A 1.6 V 1.4 Gbp/s/pin Consumer DRAM With Self-Dynamic Voltage Scaling Technique in 44 nm CMOS Technology , 2011, IEEE Journal of Solid-State Circuits.

[40]  Puneet Gupta,et al.  Power Variability in Contemporary DRAMs , 2012, IEEE Embedded Systems Letters.

[41]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[42]  Harold S. Stone,et al.  High-performance computer architecture (3. ed.) , 1993 .

[43]  Lara Dolecek,et al.  Underdesigned and Opportunistic Computing in Presence of Hardware Variability , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.