论文部分内容阅读
目前,虚拟化技术已经广泛应用于数据中心,但其引入的性能损失仍然是制约其发展的瓶颈。即便是在单根输入输出虚拟化环境下,虚拟机的延时和带宽都逊于原生系统。对其的改善可通过优化虚拟CPU调度算法和中断处理两个途径实现。虚拟CPU调度算法对虚拟机的延时、带宽有着重要影响,但主流的虚拟CPU调度算法并没有实现对延时和带宽的保障,尤其当I/O型负载的虚拟机和计算型负载的虚拟机竞争处理器资源时,其性能显著下降;其次,随着高速网络的普及,处理器资源成了决定虚拟机性能的另一个重要元素,运行I/O型负载的虚拟机对处理器资源的使用率远低于运行计算型负载的虚拟机,容易导致I/O处理无法获得足够物理CPU资源。针对上述问题,设计了一种适用于多处理器架构且灵活、高效的虚拟CPU调度策略FLMS。FLMS通过将I/O型负载与计算型负载运行环境隔离,为I/O负载提供了短时间片与高频率的调度。同时FLMS重新设计了优先级机制,让I/O任务更效率执行。其次,基于多处理器架构优化了负载均衡,减少了远程虚拟CPU迁移、择优选择目标虚拟CPU。此外,FLMS优化了物理CPU资源分配并且设计了“借贷”机制,保证I/O处理获得足够的物理CPU资源。FLMS通用于目前主流的虚拟化方案,并且保证公平性准则。虚拟化环境下中断处理会导致CPU产生上下文切换,使虚拟机性能受损。针对该问题,提出了一种基于多处理器架构的优化方法。为虚拟机监控器预定处理器资源用于处理外部设备产生的请求,剩余的处理器用于调度运行虚拟CPU,使得虚拟机监控器的中断处理可以不影响虚拟机的正常运行。同时设计指定中断负载均衡机制,针对特定的中断如网卡中断或磁盘中断进行优化,保证特定的中断能交由负荷最小的虚拟CPU处理。实验表明,FLMS算法提升了虚拟机带宽并降低响应延时。在软件虚拟化方式下相比于最新的优化方案有30%的提升,在使用硬件辅助虚拟化的系统中,通过FLMS能够获得接近原生系统的I/O性能。优化后的中断处理也能有效改善虚拟机的响应延时和带宽。