SwapX: An NVM-Based Hierarchical Swapping Framework

Non-volatile memory (NVM) provides persistence with dynamic random access memory (DRAM)-like performance. This paper presents SwapX, an NVM-based hierarchical swapping framework for guest operating systems (OSs) in virtual machines (VMs). SwapX works in a cluster connected to a NVM pool, where each server is equipped with both NVM and DRAM to provide hierarchical swapping service for VMs. SwapX: 1) manages free NVM on different machines and forward swap request to the central NVM pool and 2) adaptively maps the virtual address space of VMs onto the hosts DRAM, NVM, and the NVM pool according to its access patterns, so that the guest pages could be transparently swapped to the appropriate place. Prototype evaluation shows that SwapX improves energy efficiency significantly compared with both DRAM-swap and local disk swap, and only introduces small performance loss compared with DRAM-swap.

[1]  Steven Hand,et al.  Satori: Enlightened Page Sharing , 2009, USENIX Annual Technical Conference.

[2]  Chung-Sheng Li,et al.  Disaggregated and optically interconnected memory: when will it be cost effective? , 2015, ArXiv.

[3]  Krste Asanovic,et al.  FireBox: A Hardware Building Block for 2020 Warehouse-Scale Computers , 2014 .

[4]  Thomas F. Wenisch,et al.  System-level implications of disaggregated memory , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[5]  Jeffrey S. Vetter,et al.  A Survey of Software Techniques for Using Non-Volatile Memories for Storage and Main Memory Systems , 2016, IEEE Transactions on Parallel and Distributed Systems.

[6]  Robbert van Renesse,et al.  Characterizing Load Imbalance in Real-World Networked Caches , 2014, HotNets.

[7]  A. Kivity,et al.  kvm : the Linux Virtual Machine Monitor , 2007 .

[8]  Karsten Schwan,et al.  Software-controlled transparent management of heterogeneous memory resources in virtualized systems , 2013, MSPC '13.

[9]  Dan Tsafrir,et al.  VSwapper: a memory swapper for virtualized environments , 2014, ASPLOS.

[10]  Vijayalakshmi Srinivasan,et al.  Scalable high performance main memory system using phase-change memory technology , 2009, ISCA '09.

[11]  Cong Xu,et al.  NVSim: A Circuit-Level Performance, Energy, and Area Model for Emerging Nonvolatile Memory , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Scott Shenker,et al.  Network support for resource disaggregation in next-generation datacenters , 2013, HotNets.

[13]  Alaa R. Alameldeen,et al.  Transparent Hardware Management of Stacked DRAM as Part of Memory , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

[14]  Rajesh K. Gupta,et al.  Onyx: A Prototype Phase Change Memory Storage Array , 2011, HotStorage.

[15]  Yuan Xie,et al.  Modeling, Architecture, and Applications for Emerging Memory Technologies , 2011, IEEE Design & Test of Computers.

[16]  Edwin Hsing-Mean Sha,et al.  Building high-performance smartphones via non-volatile memory: The swap approach , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[17]  Rüdiger Kapitza,et al.  NV-Hypervisor: Hypervisor-Based Persistence for Virtual Machines , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

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

[19]  Onur Mutlu,et al.  Architecting phase change memory as a scalable dram alternative , 2009, ISCA '09.

[20]  Kimberly Keeton,et al.  The Machine: An Architecture for Memory-centric Computing , 2015, ROSS@HPDC.

[21]  Thomas F. Wenisch,et al.  Disaggregated memory for expansion and sharing in blade servers , 2009, ISCA '09.

[22]  Dejan S. Milojicic,et al.  Beyond Processor-centric Operating Systems , 2015, HotOS.

[23]  Y. C. Tay,et al.  Ex-Tmem: Extending Transcendent Memory with Non-volatile Memory for Virtual Machines , 2014, 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS).

[24]  Ed Doller Forging a future in memory: New technologies, new markets, new applications , 2010, 2010 IEEE Hot Chips 22 Symposium (HCS).

[25]  Kenneth A. Ross,et al.  Path processing using Solid State Storage , 2012, ADMS@VLDB.

[26]  Paolo Faraboschi,et al.  Operating System Support for NVM+DRAM Hybrid Main Memory , 2009, HotOS.