skip to main content
10.1145/3620678.3624649acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Maximizing VMs' IO Performance on Overcommitted CPUs with Fairness

Published:31 October 2023Publication History

ABSTRACT

To improve resource utilization and reduce costs many Cloud providers adopt virtual machines (VMs) overcommitment. While effective, this strategy may lead to adverse outcomes, significantly affecting a VM IO performance when one virtual CPU (vCPU) is preempted by another vCPU within the same runqueue of the VM scheduler -- i.e., same physical CPU (pCPU). Additionally, the responsiveness of a VM is reduced during the inactive time of the vCPU, and it necessitates an extra schedule timeslice to react to any IO event. While such problems have been studied in academia and industry, no previous solution has been deployed in production. This is because for example certain solutions require modifications of the guest VM, which is in contrast with industry requirements.

We propose Anubis, a new IO-aware VM scheduler targeting Linux KVM, the most popular VMM in today's Clouds, without requiring any guest VM modifications. Anubis shortens the IO event pending time by lightweight monitoring IO events including interrupt delivery and KVM exit. For the vCPU running the IO activity, Anubis provides an accurate boost, which is exclusively active only during the period when the vCPU has IO activity. While the IO performance is maximized, Anubis still guarantees fairness among VMs. The vCPU that doesn't have IO activity and belongs to the same VM will voluntarily yield the computing resources to counterbalance the unfairness created by the vCPU that has been given a performance boost. Overall, Anubis is a practical solution that provides close-to-non-overcommit performance for IO workloads in VM overcommitted scenarios.

References

  1. Alexandru Agache, Marc Brooker, Andreea Florescu, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. 2020. Firecracker: Lightweight Virtualization for Serverless Applications. In Proceedings of the 17th Usenix Conference on Networked Systems Design and Implementation (Santa Clara, CA, USA)(NSDI'20). USENIX Association, USA, 419--434.Google ScholarGoogle Scholar
  2. Amazon. 2020. AWS Lambda Website. https://aws.amazon.com/lambda.Google ScholarGoogle Scholar
  3. Amazon. 2022. How Amazon ECS manages CPU and memory resources. https://aws.amazon.com/blogs/containers/how-amazonecs-manages-cpu-and-memory-resources/.Google ScholarGoogle Scholar
  4. Amazon. 2023. Burstable performance instances. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html.Google ScholarGoogle Scholar
  5. Apache. 2023. ab - Apache HTTP server benchmarking tool. https://httpd.apache.org/docs/2.4/programs/ab.html.Google ScholarGoogle Scholar
  6. AWS. 2023. BBC delivers live, UHD coverage of UEFA Euros and Wimbledon with AWS. https://aws.amazon.com/cn/blogs/media/bbc-delivers-live-uhd-coverage-of-uefa-euros-and-wimbledon-with-aws/.Google ScholarGoogle Scholar
  7. AWS. 2023. Explore.org live streams nature cams to global audiences with AWS. https://aws.amazon.com/cn/blogs/media/explore-org-live-streams-nature-cams-to-global-audiences-with-aws/.Google ScholarGoogle Scholar
  8. AWS. 2023. LAMP Server on AWS. https://aws.amazon.com/marketplace/pp/prodview-gqnnpbafrkkys.Google ScholarGoogle Scholar
  9. AWS. 2023. Partner Success with AWS. https://aws.amazon.com/partners/success/.Google ScholarGoogle Scholar
  10. AWS. 2023. Washington Post's Arc publishing platform uses AWS to transform the broadcast landscape. https://aws.amazon.com/cn/blogs/media/washington-posts-arc-publishing-platform-uses-aws-to-transform-the-broadcast-landscape/.Google ScholarGoogle Scholar
  11. Blueprint. 2022. https://blueprints.launchpad.net/nova/+spec/nova-change-default-overcommit-values.Google ScholarGoogle Scholar
  12. Justinien Bouron, Sebastien Chevalley, Baptiste Lepers, Willy Zwaenepoel, Redha Gouicem, Julia Lawall, Gilles Muller, and Julien Sopena. 2018. The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS. In Proceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference (Boston, MA, USA) (USENIX ATC '18). 85--96.Google ScholarGoogle Scholar
  13. Kevin Burns, Antonio Barbalace, Vincent Legout, and Binoy Ravindran. 2014. KairosVM: Deterministic introspection for real-time virtual machine hierarchical scheduling. In Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA). 1--8. https://doi.org/10.1109/ETFA.2014.7005061Google ScholarGoogle ScholarCross RefCross Ref
  14. Kevin Burns, Vincent Legout, Antonio Barbalace, and Binoy Ravindran. 2019. PrVM: A Multicore Real-Time Virtualization Scheduling Framework with Probabilistic Timing Guarantees. SIGBED Rev. 16, 3 (nov 2019), 14--20. https://doi.org/10.1145/3373400.3373402Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Luwei Cheng and Cho-Li Wang. 2012. VBalance: Using Interrupt Load Balance to Improve I/O Performance for SMP Virtual Machines (SoCC '12). Association for Computing Machinery, New York, NY, USA, Article 2, 14 pages. https://doi.org/10.1145/2391229.2391231Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Huawei Cloud. 2023. Elastic Cloud Server (ECS). https://www.huaweicloud.com/intl/en-us/product/ecs.html.Google ScholarGoogle Scholar
  17. Huawei Cloud. 2023. A Summary List of x86 ECS Specifications. https://support.huaweicloud.com/intl/en-us/productdesc-ecs/ecs_01_0014.html.Google ScholarGoogle Scholar
  18. Key concepts and definitions for burstable performance instances. 2023. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html.Google ScholarGoogle Scholar
  19. Mehiar Dabbagh, Bechir Hamdaoui, Mohsen Guizani, and Ammar Rayes. 2015. Efficient datacenter resource utilization through cloud resource overcommitment. In 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). 330--335. https://doi.org/10.1109/INFCOMW.2015.7179406Google ScholarGoogle ScholarCross RefCross Ref
  20. Xiaoning Ding, Phillip B. Gibbons, and Michael A. Kozuch. 2013. A Hidden Cost of Virtualization When Scaling Multicore Applications. In 5th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 13). USENIX Association, San Jose, CA. https://www.usenix.org/conference/hotcloud13/workshop-program/presentations/dingGoogle ScholarGoogle Scholar
  21. Xiaoning Ding, Phillip B. Gibbons, Michael A. Kozuch, and Jianchen Shan. 2014. Gleaner: Mitigating the Blocked-Waiter Wakeup Problem for Virtualized Multicore Applications. In 2014 USENIX Annual Technical Conference (USENIXATC 14). USENIX Association, Philadelphia, PA, 73--84. https://www.usenix.org/conference/atc14/technical-sessions/presentation/dingGoogle ScholarGoogle Scholar
  22. Michael Drescher, Vincent Legout, Antonio Barbalace, and Binoy Ravindran. 2016. A Flattened Hierarchical Scheduler for Real-Time Virtualization. In Proceedings of the 13th International Conference on Embedded Software (Pittsburgh, Pennsylvania) (EMSOFT '16). Association for Computing Machinery, Article 12, 10 pages. https://doi.org/10.1145/2968478.2968501Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sahan Gamage, Cong Xu, Ramana Rao Kompella, and Dongyan Xu. 2014. VPipe: Piped I/O Offloading for Efficient Data Movement in Virtualized Clouds (SOCC '14). Association for Computing Machinery, New York, NY, USA, 1--13. https://doi.org/10.1145/2670979.2671006Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Google. 2020. Google Cloud Functions. https://cloud.google.com/functions.Google ScholarGoogle Scholar
  25. Google. 2022. Get more from every core: Announcing CPU overcommit for Compute Engine. https://cloud.google.com/blog/products/compute/cpu-overcommit-for-sole-tenant-nodes-now-ga.Google ScholarGoogle Scholar
  26. Ori Hadary, Luke Marshall, Ishai Menache, Abhisek Pan, Esaias E Greeff, David Dion, Star Dorminey, Shailesh Joshi, Yang Chen, Mark Russinovich, and Thomas Moscibroda. 2020. Protean: VM Allocation Service at Scale. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). USENIX Association, 845--861. https://www.usenix.org/conference/osdi20/presentation/hadaryGoogle ScholarGoogle Scholar
  27. Hadoop. 2023. https://hadoop.apache.org/.Google ScholarGoogle Scholar
  28. Red Hat. 2017. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/6.0_technical_notes/deployment.Google ScholarGoogle Scholar
  29. HBase. 2023. https://hbase.apache.org/.Google ScholarGoogle Scholar
  30. Hadoop Distributed File System (HDFS™). 2023. https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesi.Google ScholarGoogle Scholar
  31. Scott Hendrickson, Stephen Sturdevant, Tyler Harter, Venkateshwaran Venkataramani, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2016. Serverless computation with openlambda. In 8th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. IBM. 2022. https://www.ibm.com/docs/en/cic/1.1.3?topic=SSLL2F_1.1.3/com.ibm.cloudin.doc/admintasks/configuring/customizing/allocation_ratio_templates.htm.Google ScholarGoogle Scholar
  33. iperf3. 2023. https://github.com/esnet/iperf.Google ScholarGoogle Scholar
  34. Kenta Ishiguro, Naoki Yasuno, Pierre-Louis Aublin, and Kenji Kono. 2021. Mitigating Excessive VCPU Spinning in VM-Agnostic KVM. In Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (Virtual, USA) (VEE 2021). Association for Computing Machinery, New York, NY, USA, 139--152. https://doi.org/10.1145/3453933.3454020Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Weiwei Jia, Cheng Wang, Xusheng Chen, Jianchen Shan, Xiaowei Shang, Heming Cui, Xiaoning Ding, Luwei Cheng, Francis C. M. Lau, Yuexuan Wang, and Yuangang Wang. 2018. Effectively Mitigating I/O Inactivity in VCPU Scheduling. In Proceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference (Boston, MA, USA) (USENIX ATC '18). USENIX Association, USA, 267--279.Google ScholarGoogle Scholar
  36. Ardalan Kangarlou, Sahan Gamage, Ramana Rao Kompella, and Dongyan Xu. 2010. vSnoop: Improving TCP Throughput in Virtualized Environments via Acknowledgement Offload. In SC '10: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis. 1--11. https://doi.org/10.1109/SC.2010.57Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. Kay and P. Lauder. 1988. A Fair Share Scheduler. Commun. ACM 31, 1 (jan 1988), 44--55. https://doi.org/10.1145/35043.35047Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Linux kernel. 2023. https://elixir.bootlin.com/linux/v4.14.325/source/arch/x86/kernel/apic/apic.c.Google ScholarGoogle Scholar
  39. Linux kernel. 2023. https://elixir.bootlin.com/linux/v4.14.325/source/arch/x86/kernel/apic/apic_flat_64.c.Google ScholarGoogle Scholar
  40. Hwanju Kim, Hyeontaek Lim, Jinkyu Jeong, Heeseung Jo, and Joonwon Lee. 2009. Task-Aware Virtual Machine Scheduling for I/O Performance. (VEE '09). Association for Computing Machinery, New York, NY, USA, 101--110. https://doi.org/10.1145/1508293.1508308Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Linux KVM. 2023. https://www.linux-kvm.org/page/Main_Page.Google ScholarGoogle Scholar
  42. LEMP. 2023. https://lemp.io/.Google ScholarGoogle Scholar
  43. Scott D. Lowe. [n. d.]. Best Practices for Oversubscription of CPU, Memory and Storage in vSphere Virtual Environments. Dell.Google ScholarGoogle Scholar
  44. Hui Lu, Brendan Saltaformaggio, Ramana Kompella, and Dongyan Xu. 2015. VFair: Latency-Aware Fair Storage Scheduling via per-IO Cost-Based Differentiation (SoCC '15). Association for Computing Machinery, New York, NY, USA, 125--138. https://doi.org/10.1145/2806777.2806943Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Hui Lu, Cong Xu, Cheng Cheng, Ramana Kompella, and Dongyan Xu. 2015. vHaul: Towards Optimal Scheduling of Live Multi-VM Migration for Multi-tier Applications. In 2015 IEEE 8th International Conference on Cloud Computing. 453--460. https://doi.org/10.1109/CLOUD.2015.67Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. LWN.2011. https://lwn.net/Articles/444503/.Google ScholarGoogle Scholar
  47. Microsoft. 2020. Microsoft Azure Functions. https://azure.microsoft.com/en-us/services/functions.Google ScholarGoogle Scholar
  48. Microsoft. 2023. https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-b-series-burstable-workload-example.Google ScholarGoogle Scholar
  49. MongoDB. 2023. https://www.mongodb.com.Google ScholarGoogle Scholar
  50. Ricardo Neri. 2022. https://www.spinics.net/lists/kernel/msg4348466.html.Google ScholarGoogle Scholar
  51. Nginx. 2023. https://nginx.org/.Google ScholarGoogle Scholar
  52. Diego Ongaro, Alan L. Cox, and Scott Rixner. 2008. Scheduling I/O in Virtual Machine Monitors. In Proceedings of the Fourth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (Seattle, WA, USA) (VEE '08). Association for Computing Machinery, New York, NY, USA, 1--10. https://doi.org/10.1145/1346256.1346258Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. OpenEuler. 2022. https://docs.openeuler.org/en/docs/20.03_LTS_SP2/docs/Virtualization/best-practices.html.Google ScholarGoogle Scholar
  54. Openstack. 2022. https://docs.openstack.org/arch-design/design-compute/design-compute-overcommit.html.Google ScholarGoogle Scholar
  55. Oracle. 2023. https://www.oracle.com/uk/a/ocom/docs/why-kvmis-winning.pdf.Google ScholarGoogle Scholar
  56. Mongodb performance test. 2023. https://github.com/idealo/mongodb-performance-test.Google ScholarGoogle Scholar
  57. PostMark. 2023. https://www.filesystems.org/docs/auto-pilot/Postmark.html.Google ScholarGoogle Scholar
  58. Xen Project. 2023. https://xenproject.org/.Google ScholarGoogle Scholar
  59. Redis. 2023. https://redis.io/.Google ScholarGoogle Scholar
  60. Redis-benchmark. 2023. https://redis.io/docs/management/optimization/benchmarks/.Google ScholarGoogle Scholar
  61. Mohammad Shahrad, Rodrigo Fonseca, Íñigo Goiri, Gohar Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich, and Ricardo Bianchini. 2020. Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider. In Proceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC'20). USENIX Association, USA, Article 14, 14 pages.Google ScholarGoogle Scholar
  62. Jianchen Shan, Weiwei Jia, and Xiaoning Ding. 2017. Rethinking Multicore Application Scalability on Big Virtual Machines. In 2017 IEEE 23rd International Conference on Parallel and Distributed Systems (ICPADS). 694--701. https://doi.org/10.1109/ICPADS.2017.00094Google ScholarGoogle ScholarCross RefCross Ref
  63. Kun Suo, Yong Zhao, Jia Rao, Luwei Cheng, Xiaobo Zhou, and Francis C. M. Lau. 2017. Preserving I/O Prioritization in Virtualized OSes. In Proceedings of the 2017 Symposium on Cloud Computing (Santa Clara, California) (SoCC '17). Association for Computing Machinery, New York, NY, USA, 269--281. https://doi.org/10.1145/3127479.3127484Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. sysbench. 2023. https://github.com/akopytov/sysbench.Google ScholarGoogle Scholar
  65. Boris Teabe, Alain Tchana, and Daniel Hagimont. 2016. Application-Specific Quantum for Multi-Core Platform Scheduler. In Proceedings of the Eleventh European Conference on Computer Systems (London, United Kingdom) (EuroSys '16). Association for Computing Machinery, New York, NY, USA, Article 3, 14 pages. https://doi.org/10.1145/2901318.2901340Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Twitch. 2023. https://blog.twitch.tv/en/2017/10/10/live-video-transmuxing-transcoding-f-fmpeg-vs-twitch-transcoder-part-i-489c1c125f28/.Google ScholarGoogle Scholar
  67. Vmware. 2022. https://www.reddit.com/r/vmware/comments/dl2bt8/do_you_overcommit_cpu_in_your_environement/.Google ScholarGoogle Scholar
  68. Intel® 64 Architecture x2APIC Specification. 2023. https://www.naic.edu/~phil/software/intel/318148.pdf.Google ScholarGoogle Scholar
  69. xen. 2013. https://wiki.xenproject.org/wiki/Credit2_Scheduler.Google ScholarGoogle Scholar
  70. Cong Xu, Sahan Gamage, Pawan N. Rao, Ardalan Kangarlou, Ramana Rao Kompella, and Dongyan Xu. 2012. VSlicer: Latency-Aware Virtual Machine Scheduling via Differentiated-Frequency CPU Slicing (HPDC '12). Association for Computing Machinery, New York, NY, USA, 3--14. https://doi.org/10.1145/2287076.2287080Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Cong Xu, Brendan Saltaformaggio, Sahan Gamage, Ramana Rao Kompella, and Dongyan Xu. 2015. VRead: Efficient Data Access for Hadoop in Virtualized Clouds. In Proceedings of the 16th Annual Middleware Conference (Vancouver, BC, Canada) (Middleware '15). Association for Computing Machinery, New York, NY, USA, 125--136. https://doi.org/10.1145/2814576.2814735Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Yahoo. 2023. Yahoo! Cloud Serving Benchmark. https://github.com/brianfrankcooper/YCSB.Google ScholarGoogle Scholar
  73. Olive Zhao. 2021. https://forum.huawei.com/enterprise/en/why-are-huawei-cloud-computing-products-switched-from-xen-to-kvm/thread/818617-893.Google ScholarGoogle Scholar

Index Terms

  1. Maximizing VMs' IO Performance on Overcommitted CPUs with Fairness

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SoCC '23: Proceedings of the 2023 ACM Symposium on Cloud Computing
        October 2023
        624 pages
        ISBN:9798400703874
        DOI:10.1145/3620678

        Copyright © 2023 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 31 October 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        Overall Acceptance Rate169of722submissions,23%
      • Article Metrics

        • Downloads (Last 12 months)234
        • Downloads (Last 6 weeks)36

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader