A novel I/O-aware virtual CPU(vCPU)scheduling mechanism in virtualized environments based on multi-core platform is proposed to eliminate the semantic gap between guest and virtual machine monitor(VMM)that dramatically degrades the performance of I/O-bound workloads in virtual symmetric multi-core processor(vSMP)virtual machine(VM). Inference techniques are used to identify the I/O-bound tasks
and the I/O-bound tasks and I/O events are correlated through the coordination between the guest operating system and VMM. Then the correlation information is used to bridge the semantic gap by a vSMP Internal algorithm so that a vCPU with I/O-bound task can selectively be scheduled to handle its incoming events promptly with ensured fairness among VMs. Extensive evaluations and comparisons with the CFS scheduler used by the KVM virtual machine monitor show that the proposed mechanism significantly improves I/O performance of vSMP VMs with ensured CPU fairness
and little overhead is introduced to guest. Therefore
the proposed mechanism is widely applicable in such environments with unpredictable and varying workloads as virtual desktop and cloud computing.
JIN Hai, ZHONG Alin, WU Song, et al. Virtual machine VCPU scheduling in the multi-core environment: issues and challenges [J]. Journal of Computer Research and Development, 2011, 48(7): 1216-1224.
CHEN P M, NOBLE B D. When virtual is better than real [C]∥Proceedings of the 8th Workshop on Hot Topics in Operating Systems. Piscataway, NJ, USA: IEEE, 2001: 133-138.
SONG Xiang, SHI Jicheng, CHEN Haibo, et al. Schedule processes, not VCPUs [C]∥Proceedings of the 4th Asia-Pacific Workshop on Systems. New York, USA: ACM, 2013: 1-7.
XU Fei, LIU Fangming, JIN Hai, et al. Managing performance overhead of virtual machines in cloud computing: a survey, state of the art, and future directions [J]. Proceedings of the IEEE, 2014, 102(1): 11-31.
BARHAM P, DRAGOVIC B, FRASER K, et al. Xen and the art of virtualization [C]∥Proceedings of the 19th ACM Symposium on Operating Systems Principles. New York, USA: ACM, 2003: 164-177.
KIM H, LIM H, JEONG J, et al. Transparently bridging semantic gap in CPU management for virtualized environments [J]. Journal of Parallel and Distributed Computing, 2011, 71(6): 758-773.
UHLIG R, SMITH L, NEIGER G, et al. Intel virtualization technology [J]. Computer, 2005, 38(5): 48-56.
KIM H, KIM S, JEONG J, et al. Virtual asymmetric multiprocessor for interactive performance of consolidated desktops [C]∥Proceedings of the 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. New York, USA: ACM, 2014: 29-40.
XU Cong, GAMAGE S, LU Hui, et al. vTurbo: accelerating virtual machine I/O processing using designated turbo-sliced core [C]∥Proceedings of the 2013 USENIX Conference on Annual Technical Conference. Berkeley, CA, USA: USENIX, 2013: 243-254.
CHENG Luwei, WANG Choli. vBalance: using interrupt load balance to improve I/O performance for SMP virtual machines [C]∥Proceedings of the Third ACM Symposium on Cloud Computing. New York, USA: ACM, 2012: 1-14.
RUSSELL R. Virtio: towards a de-facto standard for virtual I/O devices [J]. ACM SIGOPS Operating Systems Review: Research and Developments in the Linux Kernel, 2008, 42(5): 95-103.
ADAMS K, AGESEN O. A comparison of software and hardware techniques for x86 virtualization [C]∥Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. New York, USA: ACM, 2006: 2-13.
KIVITY A, KAMAY Y, LAOR D, et al. KVM: the Linux virtual machine monitor [J]. Proceedings of the Linux Symposium, 2007, 1: 225-230.
KRISHNAKUMAR R. Kernel korner: kprobes-a kernel debugger [J]. Linux Journal, 2005, 2005(133): 11.
MOLNAR I. Modular scheduler core and completely fair scheduler [EB/OL].(2007-04-13)[2014-06-26]. http:∥lwn.net/Articles/230501.