Towards Virtual Machine Image Management for Persistent Memory

Persistent memory's (PM) byte-addressability and high capacity will also make it emerging for virtualized environment. Modern virtual machine monitors virtualize PM using either I/O virtualization or memory virtualization. However, I/O virtualization will sacrifice PM's byte-addressability, and memory virtualization does not get the chance of PM image management. In this paper, we enhance QEMU's memory virtualization mechanism. The enhanced system can achieve both PM's byte-addressability inside virtual machines and PM image management outside the virtual machines. We also design pcow, a virtual machine image format for PM, which is compatible with our enhanced memory virtualization and supports storage virtualization features including thin-provision, base image and snapshot. Address translation is performed with the help of Extended Page Table (EPT), thus much faster than image formats implemented in I/O virtualization. We also optimize pcow considering PM's characteristics. The evaluation demonstrates that our scheme boosts the overall performance by up to 50x compared with qcow2, an image format implemented in I/O virtualization, and brings almost no performance overhead compared with the native memory virtualization.

[1]  Yubin Xia,et al.  Mitigating Sync Amplification for Copy-on-write Virtual Disk , 2016, FAST.

[2]  Richard McDougall,et al.  Virtualization performance: perspectives and challenges ahead , 2010, OPSR.

[3]  Yubin Xia,et al.  A Case for Virtualizing Persistent Memory , 2016, SoCC.

[4]  Youyou Lu,et al.  Loose-Ordering Consistency for persistent memory , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[5]  Xueti Tang,et al.  Spin-transfer torque magnetic random access memory (STT-MRAM) , 2013, JETC.

[6]  Shih-Hung Chen,et al.  Phase-change random access memory: A scalable technology , 2008, IBM J. Res. Dev..

[7]  Andy Rudoff,et al.  Persistent Memory Programming , 2017, login Usenix Mag..

[8]  Andrea C. Arpaci-Dusseau,et al.  Redesigning LSMs for Nonvolatile Memory with NoveLSM , 2018, USENIX Annual Technical Conference.

[9]  Stratis Viglas,et al.  DHTM: Durable Hardware Transactional Memory , 2018, 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA).

[10]  Chunqiang Tang,et al.  FVD: A High-Performance Virtual Machine Image Format for Cloud , 2011, USENIX Annual Technical Conference.

[11]  Steven Swanson,et al.  A study of application performance with non-volatile main memory , 2015, 2015 31st Symposium on Mass Storage Systems and Technologies (MSST).

[12]  Yu Hua A Write-friendly Hashing Scheme for Non-volatile Memory Systems , 2017 .

[13]  Gang Wang,et al.  Performance Analysis of 3D XPoint SSDs in Virtualized and Non-Virtualized Environments , 2018, 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS).

[14]  Tao Zhang,et al.  Overcoming the challenges of crossbar resistive memory architectures , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[15]  Andrea C. Arpaci-Dusseau,et al.  Crash Consistency , 2015, ACM Queue.

[16]  Jian Yang,et al.  Architecting Flash-based Solid-State Drive for High-performance I/O Virtualization , 2014, IEEE Computer Architecture Letters.

[17]  H. Reza Taheri,et al.  Performance Implications of Extended Page Tables on Virtualized x86 Processors , 2016, VEE.

[18]  Youjip Won,et al.  Endurable Transient Inconsistency in Byte-Addressable Persistent B+-Tree , 2018, FAST.

[19]  Bo Peng,et al.  MDev-NVMe: A NVMe Storage Virtualization Solution with Mediated Pass-Through , 2018, USENIX Annual Technical Conference.

[20]  Tao Huang,et al.  Clustering-based acceleration for virtual machine image deduplication in the cloud environment , 2016, J. Syst. Softw..

[21]  Andrea C. Arpaci-Dusseau,et al.  ANViL: Advanced Virtualization for Modern Non-Volatile Memory Devices , 2015, FAST.