{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:47:33Z","timestamp":1773193653046,"version":"3.50.1"},"reference-count":35,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2018,8,28]],"date-time":"2018-08-28T00:00:00Z","timestamp":1535414400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2018,8,28]]},"abstract":"<jats:p>ARM servers are becoming increasingly common, making server technologies such as virtualization for ARM of growing importance. We present the first study of ARM virtualization performance on server hardware, including multi-core measurements of two popular ARM and x86 hypervisors, KVM and Xen. We show how ARM hardware support for virtualization can enable much faster transitions between VMs and the hypervisor, a key hypervisor operation. However, current hypervisor designs, including both Type 1 hypervisors such as Xen and Type 2 hypervisors such as KVM, are not able to leverage this performance benefit for real application workloads on ARMv8.0. We discuss the reasons why and show that other factors related to hypervisor software design and implementation have a larger role in overall performance. Based on our measurements, we discuss software changes and new hardware features, the Virtualization Host Extensions (VHE), added in ARMv8.1 that bridge the gap and bring ARM's faster VM-to-hypervisor transition mechanism to modern Type 2 hypervisors running real applications.<\/jats:p>","DOI":"10.1145\/3273982.3273987","type":"journal-article","created":{"date-parts":[[2018,8,30]],"date-time":"2018-08-30T13:45:11Z","timestamp":1535636711000},"page":"45-56","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["ARM Virtualization"],"prefix":"10.1145","volume":"52","author":[{"given":"Christoffer","family":"Dall","sequence":"first","affiliation":[{"name":"Columbia University"}]},{"given":"Shih-Wei","family":"Li","sequence":"additional","affiliation":[{"name":"Columbia University"}]},{"given":"Jin Tack","family":"Lim","sequence":"additional","affiliation":[{"name":"Columbia University"}]},{"given":"Jason","family":"Nieh","sequence":"additional","affiliation":[{"name":"Columbia University"}]}],"member":"320","published-online":{"date-parts":[[2018,8,28]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2008. Hackbench. http:\/\/people.redhat.com\/mingo\/cfs-scheduler\/tools\/hackbench. c.  2008. Hackbench. http:\/\/people.redhat.com\/mingo\/cfs-scheduler\/tools\/hackbench. c."},{"key":"e_1_2_1_2_1","unstructured":"2008. SPECjvm2008. https:\/\/www.spec.org\/jvm2008.  2008. SPECjvm2008. https:\/\/www.spec.org\/jvm2008."},{"key":"e_1_2_1_3_1","unstructured":"2014. Xen ARM with Virtualization Extensions. http:\/\/wiki.xen.org\/wiki\/Xen_ ARM_with_Virtualization_Extensions Accessed: April 2016.  2014. Xen ARM with Virtualization Extensions. http:\/\/wiki.xen.org\/wiki\/Xen_ ARM_with_Virtualization_Extensions Accessed: April 2016."},{"key":"e_1_2_1_4_1","unstructured":"2015. Tuning Xen for Performance. http:\/\/wiki.xen.org\/wiki\/Tuning_Xen_for_ Performance. Accessed: Jul. 2015.  2015. Tuning Xen for Performance. http:\/\/wiki.xen.org\/wiki\/Tuning_Xen_for_ Performance. Accessed: Jul. 2015."},{"key":"e_1_2_1_5_1","volume-title":"http:\/\/www.cloudlab.us Accessed","year":"2016","unstructured":"2016. CloudLab. http:\/\/www.cloudlab.us Accessed : April 2016 . 2016. CloudLab. http:\/\/www.cloudlab.us Accessed: April 2016."},{"key":"e_1_2_1_6_1","volume-title":"http:\/\/www.tcpdump.org\/tcpdump_man.html","year":"2016","unstructured":"2016. Tcpdump. http:\/\/www.tcpdump.org\/tcpdump_man.html . Accessed : April 2016 . 2016. Tcpdump. http:\/\/www.tcpdump.org\/tcpdump_man.html. Accessed: April 2016."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168860"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/2342821.2342856"},{"key":"e_1_2_1_9_1","unstructured":"ARM Ltd. 2017. ARM Architecture Reference Manual ARMv8-A DDI 0487C.a (ID121917).  ARM Ltd. 2017. ARM Architecture Reference Manual ARMv8-A DDI 0487C.a (ID121917)."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945462"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1899928.1899945"},{"key":"e_1_2_1_12_1","unstructured":"David Brash. 2014. The ARMv8-A architecture and its ongoing development. http:\/\/community.arm.com\/groups\/processors\/blog\/2014\/12\/02\/ the-armv8-a-architecture-and-its-ongoing-development.  David Brash. 2014. The ARMv8-A architecture and its ongoing development. http:\/\/community.arm.com\/groups\/processors\/blog\/2014\/12\/02\/ the-armv8-a-architecture-and-its-ongoing-development."},{"key":"e_1_2_1_13_1","first-page":"1","article-title":"Methodology for Performance Analysis of VMware vSphere under Tier-1 Applications","volume":"2","author":"Buell Jeffrey","year":"2013","unstructured":"Jeffrey Buell , Daniel Hecht , Jin Heo , Kalyan Saladi , and H. Reza Taheri . 2013 . Methodology for Performance Analysis of VMware vSphere under Tier-1 Applications . VMware Technical Journal 2 , 1 (June 2013), 19-28. Jeffrey Buell, Daniel Hecht, Jin Heo, Kalyan Saladi, and H. Reza Taheri. 2013. Methodology for Performance Analysis of VMware vSphere under Tier-1 Applications. VMware Technical Journal 2, 1 (June 2013), 19-28.","journal-title":"VMware Technical Journal"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2382553.2382554"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the 2005 USENIX Annual Technical Conference. 387-390","author":"Cherkasova L.","unstructured":"L. Cherkasova and R. Gardner . 2005. Measuring CPU overhead for I\/O processing in the Xen virtual machine monitor .. In Proceedings of the 2005 USENIX Annual Technical Conference. 387-390 . L. Cherkasova and R. Gardner. 2005. Measuring CPU overhead for I\/O processing in the Xen virtual machine monitor.. In Proceedings of the 2005 USENIX Annual Technical Conference. 387-390."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522714"},{"key":"e_1_2_1_19_1","volume-title":"Proceeding of the USENIX Annual Technical Conference (USENIX ATC). 221-233","author":"Dall Christoffer","year":"2017","unstructured":"Christoffer Dall , Shih-Wei Li , and Jason Nieh . 2017 . Optimizing the Design and Implementation of the Linux ARM Hypervisor . In Proceeding of the USENIX Annual Technical Conference (USENIX ATC). 221-233 . Christoffer Dall, Shih-Wei Li, and Jason Nieh. 2017. Optimizing the Design and Implementation of the Linux ARM Hypervisor. In Proceeding of the USENIX Annual Technical Conference (USENIX ATC). 221-233."},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the Ottawa Linux Symposium. 45-56","author":"Dall Christoffer","year":"2010","unstructured":"Christoffer Dall and Jason Nieh . 2010 . KVM for ARM . In Proceedings of the Ottawa Linux Symposium. 45-56 Christoffer Dall and Jason Nieh. 2010. KVM for ARM. In Proceedings of the Ottawa Linux Symposium. 45-56"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541946"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the Ottawa Linux Symposium. 93-107","author":"Ding Jiun-Hung","year":"2012","unstructured":"Jiun-Hung Ding , Chang-Jung Lin , Ping-Hao Chang , Chieh-Hao Tsang , Wei-Chung Hsu , and Yeh-Ching Chung . 2012 . ARMvisor: System Virtualization for ARM . In Proceedings of the Ottawa Linux Symposium. 93-107 . Jiun-Hung Ding, Chang-Jung Lin, Ping-Hao Chang, Chieh-Hao Tsang,Wei-Chung Hsu, and Yeh-Ching Chung. 2012. ARMvisor: System Virtualization for ARM. In Proceedings of the Ottawa Linux Symposium. 93-107."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2038916.2038940"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151020"},{"key":"e_1_2_1_26_1","first-page":"2","article-title":"Virtualizing Latency-Sensitive Applications: Where Does the Overhead Come From","volume":"2","author":"Heo Jin","year":"2013","unstructured":"Jin Heo and Reza Taheri . 2013 . Virtualizing Latency-Sensitive Applications: Where Does the Overhead Come From ? VMware Technical Journal 2 , 2 (Dec. 2013), 21-30. Jin Heo and Reza Taheri. 2013. Virtualizing Latency-Sensitive Applications: Where Does the Overhead Come From? VMware Technical Journal 2, 2 (Dec. 2013), 21-30.","journal-title":"VMware Technical Journal"},{"key":"e_1_2_1_27_1","unstructured":"Hewlett-Packard. 2014. HP Moonshot-45XGc Switch Module. http:\/\/www8.hp. com\/us\/en\/products\/moonshot-systems\/product-detail.html?oid=7398915.  Hewlett-Packard. 2014. HP Moonshot-45XGc Switch Module. http:\/\/www8.hp. com\/us\/en\/products\/moonshot-systems\/product-detail.html?oid=7398915."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ccnc08.2007.64"},{"key":"e_1_2_1_29_1","unstructured":"Ian Campbell. 2015. Personal Communication.  Ian Campbell. 2015. Personal Communication."},{"key":"e_1_2_1_30_1","unstructured":"Intel Corporation. 2015. Intel 64 and IA-32 Architectures Software Developer's Manual 325384-056US.  Intel Corporation. 2015. Intel 64 and IA-32 Architectures Software Developer's Manual 325384-056US."},{"key":"e_1_2_1_31_1","first-page":"225","volume-title":"Proceedings of the Ottawa Linux Symposium","volume":"1","author":"Kivity Avi","year":"2007","unstructured":"Avi Kivity , Yaniv Kamay , Dor Laor , Uri Lublin , and Anthony Liguori . 2007 . kvm: The Linux Virtual Machine Monitor . In Proceedings of the Ottawa Linux Symposium , Vol. 1 . 225 - 230 . Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lublin, and Anthony Liguori. 2007. kvm: The Linux Virtual Machine Monitor. In Proceedings of the Ottawa Linux Symposium, Vol. 1. 225-230."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132754"},{"key":"e_1_2_1_33_1","unstructured":"Linux ARM Kernel Mailing List. 2015. \"tcp: refine TSO autosizing\" causes performance regression on Xen. http:\/\/lists.infradead.org\/pipermail\/linux-arm-kernel\/ 2015-April\/336497.html.  Linux ARM Kernel Mailing List. 2015. \"tcp: refine TSO autosizing\" causes performance regression on Xen. http:\/\/lists.infradead.org\/pipermail\/linux-arm-kernel\/ 2015-April\/336497.html."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/361011.361073"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1400097.1400108"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/1404014.1404017"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.5555\/647055.715774"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103799.2103813"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3273982.3273987","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3273982.3273987","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T00:44:44Z","timestamp":1750207484000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3273982.3273987"}},"subtitle":["Performance and Architectural Implications"],"short-title":[],"issued":{"date-parts":[[2018,8,28]]},"references-count":35,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,8,28]]}},"alternative-id":["10.1145\/3273982.3273987"],"URL":"https:\/\/doi.org\/10.1145\/3273982.3273987","relation":{},"ISSN":["0163-5980"],"issn-type":[{"value":"0163-5980","type":"print"}],"subject":[],"published":{"date-parts":[[2018,8,28]]},"assertion":[{"value":"2018-08-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}