As multi-core processors become the de-facto configuration in modern computers, the adoption of SMP Virtual Machines(VMs) has been increasing, allowing for more efficient use of computing resources. However,because ...As multi-core processors become the de-facto configuration in modern computers, the adoption of SMP Virtual Machines(VMs) has been increasing, allowing for more efficient use of computing resources. However,because of existence of schedulers in both the hypervisor and the guest VMs, this creates a new research problem,viz., double scheduling. Although double scheduling may cause many issues including lock-holder preemption,v CPU stacking, CPU fragmentation, and priority inversion, prior approaches have either introduced new problems and/or addressed the problem incompletely. In this paper, we describe the design and implementation of Flex Core,a new scheduling scheme using v CPU ballooning, which dynamically adjusts the number of v CPUs of a VM at runtime. This essentially eliminates unnecessary scheduling in the hypervisor layer, and thus, boosts performance significantly. An evaluation using a complete KVM-based implementation shows that the average performance improvement for PARSEC applications on a 12-core Intel machine is approximately 52.9%, ranging from 35.4% to79.6%.展开更多
为了桥接语义鸿沟,提升I/O性能,需要对执行不同类型负载的虚拟CPU(v CPU)采取不同的调度策略,故而虚拟CPU调度算法亟需优化。基于KVM虚拟化平台提出一种基于任务分类的虚拟CPU调度模型STC(virtual CPU scheduler based on task classifi...为了桥接语义鸿沟,提升I/O性能,需要对执行不同类型负载的虚拟CPU(v CPU)采取不同的调度策略,故而虚拟CPU调度算法亟需优化。基于KVM虚拟化平台提出一种基于任务分类的虚拟CPU调度模型STC(virtual CPU scheduler based on task classification),它将虚拟CPU(v CPU)和物理CPU分别分为两个类型,分别为short v CPU和long v CPU,以及short CPU和long CPU,不同类型的v CPU分配至对应类型的物理CPU上执行。同时,基于机器学习理论,STC构建分类器,通过提取任务行为特征将任务分为两类,I/O密集型的任务分配至short v CPU上,而计算密集型任务则分配至long v CPU上。STC在保证计算性能的基础上,提高了I/O的响应速度。实验结果表明,STC与系统默认的CFS相比,网络延时降低18%,网络吞吐率提高17%~25%,并且保证了整个系统的资源共享公平性。展开更多
文摘As multi-core processors become the de-facto configuration in modern computers, the adoption of SMP Virtual Machines(VMs) has been increasing, allowing for more efficient use of computing resources. However,because of existence of schedulers in both the hypervisor and the guest VMs, this creates a new research problem,viz., double scheduling. Although double scheduling may cause many issues including lock-holder preemption,v CPU stacking, CPU fragmentation, and priority inversion, prior approaches have either introduced new problems and/or addressed the problem incompletely. In this paper, we describe the design and implementation of Flex Core,a new scheduling scheme using v CPU ballooning, which dynamically adjusts the number of v CPUs of a VM at runtime. This essentially eliminates unnecessary scheduling in the hypervisor layer, and thus, boosts performance significantly. An evaluation using a complete KVM-based implementation shows that the average performance improvement for PARSEC applications on a 12-core Intel machine is approximately 52.9%, ranging from 35.4% to79.6%.
文摘为了桥接语义鸿沟,提升I/O性能,需要对执行不同类型负载的虚拟CPU(v CPU)采取不同的调度策略,故而虚拟CPU调度算法亟需优化。基于KVM虚拟化平台提出一种基于任务分类的虚拟CPU调度模型STC(virtual CPU scheduler based on task classification),它将虚拟CPU(v CPU)和物理CPU分别分为两个类型,分别为short v CPU和long v CPU,以及short CPU和long CPU,不同类型的v CPU分配至对应类型的物理CPU上执行。同时,基于机器学习理论,STC构建分类器,通过提取任务行为特征将任务分为两类,I/O密集型的任务分配至short v CPU上,而计算密集型任务则分配至long v CPU上。STC在保证计算性能的基础上,提高了I/O的响应速度。实验结果表明,STC与系统默认的CFS相比,网络延时降低18%,网络吞吐率提高17%~25%,并且保证了整个系统的资源共享公平性。