{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:47:00Z","timestamp":1750308420386,"version":"3.41.0"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2021,8,16]],"date-time":"2021-08-16T00:00:00Z","timestamp":1629072000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Science Foundation of China","doi-asserted-by":"crossref","award":["61872201, 61702521, and U1833114"],"award-info":[{"award-number":["61872201, 61702521, and U1833114"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Science and Technology Development Plan of Tianjin","award":["18ZXZNGX00140, 18ZXZNGX00200, and 20JCZDJC00610"],"award-info":[{"award-number":["18ZXZNGX00140, 18ZXZNGX00200, and 20JCZDJC00610"]}]},{"DOI":"10.13039\/501100012226","name":"Fundamental Research Funds for the Central Universities","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100012226","id-type":"DOI","asserted-by":"crossref"}]},{"name":"TKLNDST"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2021,8,31]]},"abstract":"<jats:p>\n            Persistent memory\u2019s (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\u2019s byte-addressability, and memory virtualization does not get the chance of PM image management. In this article, we enhance QEMU\u2019s memory virtualization mechanism. The enhanced system can achieve both PM\u2019s byte-addressability inside virtual machines and PM image management outside the virtual machines. We also design\n            <jats:italic>pcow<\/jats:italic>\n            , a virtual machine image format for PM, which is compatible with our enhanced memory virtualization and supports storage virtualization features including thin-provisioning, base image, snapshot, and striping. Address translation is performed with the help of the Extended Page Table, thus much faster than image formats implemented in I\/O virtualization. We also optimize\n            <jats:italic>pcow<\/jats:italic>\n            considering PM\u2019s characteristics. We perform exhaustive performance evaluations on an x86 server equipping with Intel\u2019s Optane DC persistent memory. The evaluation demonstrates that our scheme boosts the overall performance by up to 50\u00d7 compared with qcow2, an image format implemented in I\/O virtualization, and brings almost no performance overhead compared with the native memory virtualization. The striping feature can also scale-out the virtual PM\u2019s bandwidth performance.\n          <\/jats:p>","DOI":"10.1145\/3450976","type":"journal-article","created":{"date-parts":[[2021,8,17]],"date-time":"2021-08-17T00:10:00Z","timestamp":1629159000000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Toward Virtual Machine Image Management for Persistent Memory"],"prefix":"10.1145","volume":"17","author":[{"given":"Jiachen","family":"Zhang","sequence":"first","affiliation":[{"name":"Nankai University, Tianjin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lixiao","family":"Cui","sequence":"additional","affiliation":[{"name":"Nankai University, Tianjin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Peng","family":"Li","sequence":"additional","affiliation":[{"name":"Nankai University, Tianjin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xiaoguang","family":"Liu","sequence":"additional","affiliation":[{"name":"Nankai University, Tianjin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gang","family":"Wang","sequence":"additional","affiliation":[{"name":"Nankai University, Tianjin"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,8,16]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Redis Labs. 2009. redis. Retrieved from https:\/\/redis.io\/.  Redis Labs. 2009. redis. Retrieved from https:\/\/redis.io\/."},{"key":"e_1_2_1_2_1","unstructured":"Redis Labs. 2009. redis-benchmark. Retrieved from https:\/\/redis.io\/topics\/benchmarks.  Redis Labs. 2009. redis-benchmark. Retrieved from https:\/\/redis.io\/topics\/benchmarks."},{"key":"e_1_2_1_3_1","unstructured":"VMware. 2011. Virtual Disk Format 5.0. Retrieved from https:\/\/www.vmware.com\/support\/developer\/vddk\/vmdk_50_technote.pdf.  VMware. 2011. Virtual Disk Format 5.0. Retrieved from https:\/\/www.vmware.com\/support\/developer\/vddk\/vmdk_50_technote.pdf."},{"key":"e_1_2_1_4_1","volume-title":"et\u00a0al","author":"Axboe Jens","year":"2014","unstructured":"Jens Axboe , et\u00a0al . 2014 . Flexible I\/O Tester. Retrieved from https:\/\/github.com\/axboe\/fio. Jens Axboe, et\u00a0al. 2014. Flexible I\/O Tester. Retrieved from https:\/\/github.com\/axboe\/fio."},{"key":"e_1_2_1_5_1","unstructured":"Intel. 2014. Persistent Memory Development Kit. Retrieved from https:\/\/pmem.io\/pmdk\/.  Intel. 2014. Persistent Memory Development Kit. Retrieved from https:\/\/pmem.io\/pmdk\/."},{"key":"e_1_2_1_6_1","unstructured":"Intel. 2017. BTT - Block Translation Table Linux Kernel Documentation. Retrieved from https:\/\/www.kernel.org\/doc\/Documentation\/nvdimm\/btt.txt.  Intel. 2017. BTT - Block Translation Table Linux Kernel Documentation. Retrieved from https:\/\/www.kernel.org\/doc\/Documentation\/nvdimm\/btt.txt."},{"key":"e_1_2_1_7_1","volume-title":"et\u00a0al","author":"Wolf Kevin","year":"2017","unstructured":"Kevin Wolf , et\u00a0al . 2017 . Qcow2 Image Format, QEMU Documentation. Retrieved from https:\/\/github.com\/qemu\/qemu\/blob\/master\/docs\/interop\/qcow2.txt. Kevin Wolf, et\u00a0al. 2017. Qcow2 Image Format, QEMU Documentation. Retrieved from https:\/\/github.com\/qemu\/qemu\/blob\/master\/docs\/interop\/qcow2.txt."},{"key":"e_1_2_1_8_1","unstructured":"VMware. 2018. PMem (Persistant Memory) NVDIMM support in vSphere. Retrieved from https:\/\/storagehub.vmware.com\/t\/vsphere-storage\/vsphere-6-7-core-storage-1\/pmem-persistant-memory-nvdimm-support-in-vsphere\/.  VMware. 2018. PMem (Persistant Memory) NVDIMM support in vSphere. Retrieved from https:\/\/storagehub.vmware.com\/t\/vsphere-storage\/vsphere-6-7-core-storage-1\/pmem-persistant-memory-nvdimm-support-in-vsphere\/."},{"key":"e_1_2_1_9_1","unstructured":"Intel. 2018. pmem-redis. Retrieved from https:\/\/github.com\/pmem\/pmem-redis.  Intel. 2018. pmem-redis. Retrieved from https:\/\/github.com\/pmem\/pmem-redis."},{"key":"e_1_2_1_10_1","unstructured":"Intel. 2018. Using Persistent Memory Devices with the Linux Device Mapper. Retrieved from https:\/\/pmem.io\/2018\/05\/15\/using_persistent_memory_devices_with_the_linux_device_mapper.html.  Intel. 2018. Using Persistent Memory Devices with the Linux Device Mapper. Retrieved from https:\/\/pmem.io\/2018\/05\/15\/using_persistent_memory_devices_with_the_linux_device_mapper.html."},{"key":"e_1_2_1_11_1","unstructured":"Intel. 2019. Intel Optane DC Persistent Memory. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/optane-dc-persistent-memory.html.  Intel. 2019. Intel Optane DC Persistent Memory. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/optane-dc-persistent-memory.html."},{"key":"e_1_2_1_12_1","volume-title":"et\u00a0al","author":"Kivity Avi","year":"2019","unstructured":"Avi Kivity , Anthony Liguori , et\u00a0al . 2019 . The memory API, QEMU Documentation. Retrieved from https:\/\/github.com\/qemu\/qemu\/blob\/master\/docs\/devel\/memory.rst. Avi Kivity, Anthony Liguori, et\u00a0al. 2019. The memory API, QEMU Documentation. Retrieved from https:\/\/github.com\/qemu\/qemu\/blob\/master\/docs\/devel\/memory.rst."},{"key":"e_1_2_1_13_1","unstructured":"Pankaj Gupta. 2019. Virtio-pmem patchwork. Retrieved from https:\/\/patchwork.kernel.org\/cover\/11010055.  Pankaj Gupta. 2019. Virtio-pmem patchwork. Retrieved from https:\/\/patchwork.kernel.org\/cover\/11010055."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463585.2463589"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930601"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/3189759.3189777"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00045"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277450"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2987550.2987551"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2014.6974684"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1899928.1899933"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3007611.2892258"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277420"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2800695.2801719"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_2_1_26_1","first-page":"34","article-title":"Persistent memory programming. Login","volume":"42","author":"Rudoff Andy","year":"2017","unstructured":"Andy Rudoff . 2017 . Persistent memory programming. Login : Usenix Mag. 42 (2017), 34 \u2013 40 . Andy Rudoff. 2017. Persistent memory programming. Login: Usenix Mag. 42 (2017), 34\u201340.","journal-title":"Usenix Mag."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1400097.1400108"},{"key":"e_1_2_1_28_1","unstructured":"SNIA NVM Programming Technical Working Group. 2017. NVM Programming Model (Version 1.2).  SNIA NVM Programming Technical Working Group. 2017. NVM Programming Model (Version 1.2)."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2013.22"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/2002181.2002199"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/2750482.2750491"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2015.7056056"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132761"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2016.02.021"},{"volume-title":"Proceedings of the 35th Symposium on Mass Storage Systems and Technologies (MSST\u201919)","author":"Zhang J.","key":"e_1_2_1_35_1","unstructured":"J. Zhang , L. Cui , P. Li , X. Liu , and G. Wang . 2019. Towards virtual machine image management for persistent memory . In Proceedings of the 35th Symposium on Mass Storage Systems and Technologies (MSST\u201919) . 116\u2013125. J. Zhang, L. Cui, P. Li, X. Liu, and G. Wang. 2019. Towards virtual machine image management for persistent memory. In Proceedings of the 35th Symposium on Mass Storage Systems and Technologies (MSST\u201919). 116\u2013125."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADSW.2018.8644859"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2015.7208275"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 33rd Symposium on Mass Storage Systems and Technologies (MSST\u201917)","author":"Zuo Pengfei","year":"2017","unstructured":"Pengfei Zuo and Yu Hua . 2017 . A write-friendly hashing scheme for non-volatile memory systems . In Proceedings of the 33rd Symposium on Mass Storage Systems and Technologies (MSST\u201917) . Pengfei Zuo and Yu Hua. 2017. A write-friendly hashing scheme for non-volatile memory systems. In Proceedings of the 33rd Symposium on Mass Storage Systems and Technologies (MSST\u201917)."}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3450976","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3450976","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T17:49:24Z","timestamp":1750268964000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3450976"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,8,16]]},"references-count":38,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,8,31]]}},"alternative-id":["10.1145\/3450976"],"URL":"https:\/\/doi.org\/10.1145\/3450976","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"type":"print","value":"1553-3077"},{"type":"electronic","value":"1553-3093"}],"subject":[],"published":{"date-parts":[[2021,8,16]]},"assertion":[{"value":"2020-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-08-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}