Extending Intel PML for hardware-assisted working set size estimation of VMs

Intel page modification logging (PML) is a hardware feature introduced in 2015 for tracking modified memory pages of virtual machines (VMs). Although initially designed to improve VMs checkpointing and live migration, we present in this paper how we can take advantage of this virtualization technology to efficiently estimate the working set size (WSS) of a VM. To this end, we first conduct a study of PML with the Xen hypervisor to investigate its performance impact on VMs and the accuracy of a WSS estimation system that relies on the current version of PML. Our three main findings are as follows. (1) PML reduces by up to 10.18% the time of both VM live migration and checkpointing. (2) PML slightly reduces the negative impact of live migration on application performance by up to 0.95%. (3) A WSS estimation system based on the current version of PML provides inaccurate results. Moreover, our experiments show that write-intensive applications are negatively impacted, with up to 34.9% of performance degradation, when using PML to estimate the WSS of a VM that runs these applications. Based on the aforementioned findings, we introduce page reference logging (PRL), an extended version of PML that allows both read and write memory accesses to be tracked without impacting user VMs, thus more suitable for WSS estimation. We propose a WSS estimation system that leverages PRL and show how it can be used in a data center exploiting memory overcommitment. We implement PRL and the underlying WSS estimation system under Gem5, a popular open-source computer architecture simulator. Evaluation results validate the accuracy of the WSS estimation system and show that PRL does not incur more performance degradation on user’s VMs.

[1]  Jaehyuk Huh,et al.  Revisiting hardware-assisted page walks for virtualized systems , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

[2]  Srilatha Manne,et al.  Accelerating two-dimensional page walks for virtualized systems , 2008, ASPLOS.

[3]  Binoy Ravindran,et al.  Swift Birth and Quick Death: Enabling Fast Parallel Guest Boot and Destruction in the Xen Hypervisor , 2017, VEE.

[4]  P. Santhi Thilagam,et al.  Live migration of virtual machines with their local persistent storage in a data intensive cloud , 2017, Int. J. High Perform. Comput. Netw..

[5]  No License,et al.  Intel ® 64 and IA-32 Architectures Software Developer ’ s Manual Volume 3 A : System Programming Guide , Part 1 , 2006 .

[6]  Kai Shen,et al.  Virtual Machine Memory Access Tracing with Hypervisor Exclusive Cache , 2007, USENIX Annual Technical Conference.

[7]  Yingwei Luo,et al.  Selective hardware/software memory virtualization , 2011, VEE '11.

[8]  Ricardo Bianchini,et al.  Resource Central: Understanding and Predicting Workloads for Improved Resource Management in Large Cloud Platforms , 2017, SOSP.

[9]  Andrea C. Arpaci-Dusseau,et al.  Geiger: monitoring the buffer cache in a virtual machine environment , 2006, ASPLOS XII.

[10]  Irene Zhang,et al.  Fast restore of checkpointed memory using working set estimation , 2011, VEE '11.

[11]  Alan L. Cox,et al.  Translation caching: skip, don't walk (the page table) , 2010, ISCA.

[12]  Michael M. Swift,et al.  Agile Paging: Exceeding the Best of Nested and Shadow Paging , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[13]  Tzi-cker Chiueh,et al.  Working Set-based Physical Memory Ballooning , 2013, ICAC.

[14]  Mengyuan Li,et al.  Peeking Behind the Curtains of Serverless Platforms , 2018, USENIX Annual Technical Conference.

[15]  Jason Nieh,et al.  NEVE: Nested Virtualization Extensions for ARM , 2017, SOSP.

[16]  Tianhao Zhang,et al.  Do-it-yourself virtual memory translation , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[17]  Carlo Curino,et al.  Morpheus: Towards Automated SLOs for Enterprise Clusters , 2016, OSDI.

[18]  Daniel Sánchez,et al.  Tailbench: a benchmark suite and evaluation methodology for latency-critical applications , 2016, 2016 IEEE International Symposium on Workload Characterization (IISWC).

[19]  Jennifer Rexford,et al.  NoHype: virtualized cloud infrastructure without the virtualization , 2010, ISCA.

[20]  Dan Tsafrir,et al.  Hash, Don't Cache (the Page Table) , 2016, SIGMETRICS.

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

[22]  Michael M. Swift,et al.  Efficient Memory Virtualization: Reducing Dimensionality of Nested Page Walks , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

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

[24]  Daniel Hagimont,et al.  Working Set Size Estimation Techniques in Virtualized Environments: One Size Does not Fit All , 2018, SIGMETRICS.

[25]  Juan Manuel García,et al.  A survey of migration mechanisms of virtual machines , 2014, CSUR.

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

[27]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[28]  Franck Cappello,et al.  A hybrid local storage transfer scheme for live migration of I/O intensive workloads , 2012, HPDC '12.

[29]  Navjot Singh,et al.  Hypervisor-assisted application checkpointing in virtualized environments , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[30]  Yingwei Luo,et al.  Low Cost Working Set Size Tracking , 2011, USENIX Annual Technical Conference.

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

[32]  Yiying Zhang,et al.  LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation , 2018, OSDI.

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

[34]  Christina Delimitrou,et al.  Quasar: resource-efficient and QoS-aware cluster management , 2014, ASPLOS.

[35]  Andrew Baumann Hardware is the new Software , 2017, HotOS.

[36]  Daniel Hagimont,et al.  Welcome to zombieland: practical and energy-efficient memory disaggregation in a datacenter , 2018, EuroSys.

[37]  Jian Li,et al.  MigVisor: Accurate Prediction of VM Live Migration Behavior using a Working-Set Pattern Model , 2017, VEE.

[38]  Jinchun Kim,et al.  Dynamic Memory Pressure Aware Ballooning , 2015, MEMSYS.

[39]  Petter Svärd,et al.  Principles and Performance Characteristics of Algorithms for Live VM Migration , 2015, OPSR.

[40]  Peter J. Denning,et al.  The working set model for program behavior , 1968, CACM.