{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,18]],"date-time":"2026-08-18T01:42:44Z","timestamp":1787017364492,"version":"build-2736575974"},"reference-count":70,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2022,3,7]],"date-time":"2022-03-07T00:00:00Z","timestamp":1646611200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National NSF of China","award":["61732010"],"award-info":[{"award-number":["61732010"]}]},{"name":"Shanghai Key Laboratory of Scalable Computing and Systems"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2022,6,30]]},"abstract":"<jats:p>\n                    We present GiantVM,\n                    <jats:xref ref-type=\"fn\">\n                      <jats:sup>1<\/jats:sup>\n                    <\/jats:xref>\n                    an open-source distributed hypervisor that provides the many-to-one virtualization to aggregate resources from multiple physical machines. We propose techniques to enable distributed CPU and I\/O virtualization and distributed shared memory (DSM) to achieve memory aggregation. GiantVM is implemented based on the state-of-the-art type-II hypervisor QEMU-KVM, and it can currently host conventional OSes such as Linux. (1) We identify the performance bottleneck of GiantVM to be DSM, through a top-down performance analysis. Although GiantVM offers great opportunities for CPU-intensive applications to enjoy the aggregated CPU resources, memory-intensive applications could suffer from cross-node page sharing, which requires frequent DSM involvement and leads to performance collapse. We design the guest-level thread scheduler, DaS (DSM-aware Scheduler), to overcome the bottleneck. When benchmarking with NAS Parallel Benchmarks, the DaS could achieve a performance boost of up to 3.5\u00d7, compared to the default Linux kernel scheduler. (2) While evaluating DaS, we observe the advantage of GiantVM as a resource reallocation facility. Thanks to the SSI abstraction of GiantVM, migration could be done by guest-level scheduling. DSM allows standby pages in the migration destination, which need not be transferred through the network. The saved network bandwidth is 68% on average, compared to VM live migration. Resource reallocation with GiantVM increases the overall CPU utilization by 14.3% in a co-location experiment.\n                  <\/jats:p>","DOI":"10.1145\/3505251","type":"journal-article","created":{"date-parts":[[2022,3,8]],"date-time":"2022-03-08T02:19:56Z","timestamp":1646705996000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["GiantVM: A Novel Distributed Hypervisor for Resource Aggregation with DSM-aware Optimizations"],"prefix":"10.1145","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2378-5616","authenticated-orcid":false,"given":"Xingguo","family":"Jia","sequence":"first","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jin","family":"Zhang","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Boshi","family":"Yu","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xingyue","family":"Qian","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Zhengwei","family":"Qi","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Haibing","family":"Guan","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,3,7]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/169627.169855"},{"key":"e_1_3_2_3_2","volume-title":"THE DESIGN OF CFS","year":"2014","unstructured":"2014. THE DESIGN OF CFS. Retrieved 12 July, 2021 from https:\/\/www.kernel.org\/doc\/Documentation\/scheduler\/sched-design-CFS.txt."},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168860"},{"key":"e_1_3_2_5_2","first-page":"775","volume-title":"Proceedings of the 2018 USENIX Annual Technical Conference.","author":"Aguilera Marcos K.","year":"2018","unstructured":"Marcos K. Aguilera, Nadav Amit, Irina Calciu, Xavier Deguillard, Jayneel Gandhi, Stanko Novakovic, Arun Ramanathan, Pratap Subrahmanyam, Lalith Suresh, Kiran Tati, Rajesh Venkatasubramanian, and Michael Wei. 2018. Remote regions: A simple abstraction for remote memory. In Proceedings of the 2018 USENIX Annual Technical Conference.775\u2013787. Retrieved from https:\/\/www.usenix.org\/conference\/atc18\/presentation\/aguilera."},{"key":"e_1_3_2_6_2","volume-title":"Alibaba Production Cluster Trace Data","year":"2021","unstructured":"Alibaba. 2021. Alibaba Production Cluster Trace Data. Alibaba Retrieved from https:\/\/github.com\/alibaba\/clusterdata."},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.485843"},{"key":"e_1_3_2_8_2","unstructured":"Krste Asanovi\u0107. 2014. FireBox: A hardware building block for 2020 warehouse-scale computers. In Proceedings of the 12th USENIX Conference on File and Storage Technologies."},{"key":"e_1_3_2_9_2","volume-title":"InfiniBand Architecture Volume 1, General Specifications","author":"Association Infiniband Trade","year":"2008","unstructured":"Infiniband Trade Association. 2008. InfiniBand Architecture Volume 1, General Specifications. Infiniband Trade Association."},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1177\/109434209100500306"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-739X(97)00037-X"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/2741948.2741962"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945462"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2018.1151020"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.5555\/1247360.1247401"},{"key":"e_1_3_2_17_2","unstructured":"Kamanashis Biswas and Md. Ashraful Islam. 2009. Hardware virtualization support in INTEL AMD and IBM power processors. arXiv:0909.0099. Retrieved from http:\/\/arxiv.org\/abs\/0909.0099."},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-40501-3_20"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.14778\/3236187.3236209"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/121132.121159"},{"key":"e_1_3_2_21_2","first-page":"2","volume-title":"Proceedings of the 2009 Conference on USENIX Annual Technical Conference","author":"Chapman Matthew","year":"2009","unstructured":"Matthew Chapman and Gernot Heiser. 2009. vNUMA: A virtual shared-memory multiprocessor. In Proceedings of the 2009 Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA,2\u20132. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id=1855807.1855809."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304005"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.5555\/1251203.1251223"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522712"},{"key":"e_1_3_2_25_2","unstructured":"Russ Cox M. Frans Kaashoek and Robert Morris. 2020. Xv6 a Simple Unix-like Teaching Operating System."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/2400682.2400703"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2016.7446090"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2012.01.020"},{"key":"e_1_3_2_30_2","unstructured":"Artyom Egorov. 2020. Blowfish Encryption Library for Browsers and Node.js. Retrieved 21 Dec. 2020 from https:\/\/github.com\/egoroof\/blowfish."},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/3139645.3139651"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/74851.74871"},{"key":"e_1_3_2_33_2","first-page":"649","volume-title":"Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation","author":"Gu Juncheng","year":"2017","unstructured":"Juncheng Gu, Youngmoon Lee, Yiwen Zhang, Mosharaf Chowdhury, and Kang G. Shin. 2017. Efficient memory disaggregation with infiniswap. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation. 649\u2013667. Retrieved from https:\/\/www.usenix.org\/conference\/nsdi17\/technical-sessions\/presentation\/gu."},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2016.01.004"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-019-1901-4"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/2768405.2768406"},{"key":"e_1_3_2_37_2","article-title":"Stress-ng","author":"King Colin Ian","year":"2017","unstructured":"Colin Ian King. 2017. Stress-ng. Retrieved March 28, 2018 fromhttp:\/\/kernel.ubuntu.com\/git\/cking\/stressng.git.","journal-title":"Retrieved March 28, 2018 from"},{"key":"e_1_3_2_38_2","volume-title":"Proceedings of the 2007 Ottawa Linux Symposium","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 2007 Ottawa Linux Symposium."},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037732"},{"key":"e_1_3_2_40_2","article-title":"Sysbench: A system performance benchmark","author":"Kopytov Alexey","year":"2004","unstructured":"Alexey Kopytov. 2004. Sysbench: A system performance benchmark. Retrieved 11 August, 2021 from http:\/\/sysbench.sourceforge.net\/.","journal-title":"http:\/\/sysbench.sourceforge.net\/."},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/APCSAC.2008.4625458"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/75104.75105"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555789"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048070"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11273-005-0613-4"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/367701.367728"},{"key":"e_1_3_2_47_2","volume-title":"Proceedings of the Ottawa Linux Symposium","author":"Mirkin Andrey","year":"2008","unstructured":"Andrey Mirkin, Alexey Kuznetsov, and Kir Kolyshkin. 2008. Containers checkpointing and live migration. In Proceedings of the Ottawa Linux Symposium."},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2017.91"},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.5555\/2813767.2813789"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629597"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541965"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/88.494605"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/1400097.1400108"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/800217"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTER.2010.38"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/1785414.1785443"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/3127479.3128610"},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064189"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/1952682.1952698"},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.163"},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626403001185"},{"key":"e_1_3_2_62_2","article-title":"Automatic NUMA balancing","author":"Riel Rik van","year":"2014","unstructured":"Rik van Riel and Vinod Chegu. 2014. Automatic NUMA balancing. In Proceedings of the Red Hat Summit (2014).","journal-title":"Proceedings of the Red Hat Summit"},{"key":"e_1_3_2_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/3310133"},{"key":"e_1_3_2_64_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2008.26"},{"key":"e_1_3_2_65_2","unstructured":"Bryce Wilson. 2021. MD5 in C. Retrieved 21 Dec. 2020 from https:\/\/github.com\/Zunawe\/md5-c.git."},{"key":"e_1_3_2_66_2","volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation","author":"Huang Yilun Chen Yizhou Shan, Yutong","year":"2018","unstructured":"Yilun Chen Yizhou Shan, Yutong Huang, and Yiying Zhang. 2018. Lego: A decomposed, distributed OS for hardware resource disaggregation. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation. USENIX Association, Carlsbad, CA. Retrieved from https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/shan."},{"key":"e_1_3_2_67_2","first-page":"2","volume-title":"Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation","author":"Zaharia Matei","year":"2012","unstructured":"Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael J. Franklin, Scott Shenker, and Ion Stoica. 2012. Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation. USENIX Association, Berkeley, CA,2\u20132. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id=2228298.2228301."},{"key":"e_1_3_2_68_2","doi-asserted-by":"publisher","DOI":"10.1145\/3381052.3381324"},{"key":"e_1_3_2_69_2","doi-asserted-by":"publisher","DOI":"10.1145\/2785956.2787484"},{"key":"e_1_3_2_70_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.163"},{"key":"e_1_3_2_71_2","unstructured":"AMD. 2005. AMD64 Virtualization Codenamed \u201cPacifica\u201d Technology: Secure Virtual Machine Architecture Reference Manual. AMD."}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3505251","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3505251","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T15:31:26Z","timestamp":1750174286000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3505251"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,7]]},"references-count":70,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,6,30]]}},"alternative-id":["10.1145\/3505251"],"URL":"https:\/\/doi.org\/10.1145\/3505251","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,7]]},"assertion":[{"value":"2021-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-03-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}