论文部分内容阅读
随着近年来虚拟桌面系统和云计算技术的蓬勃发展,虚拟化技术不断成熟和完善。与此同时,虚拟化环境中的应用服务也呈现多元化,并难以预测。由于虚拟机监视器对于虚拟机上运行的应用服务缺乏直观的了解,所以应用类型的不确定性使得虚拟机之间的合理资源分配变得困难。特别是,虚拟机VCPU调度算法对于I/O性能影响尤为显著。针对虚拟机监视器无法感知应用特征的问题,本文提出了基于应用特征感知的VCPU调度优化技术。通过该技术,Xen能够感知应用类型的I/O密集性特征,为VCPU调度算法高效分配物理计算资源提供有效依据,改善I/O响应延迟。本文首先分析了Xen虚拟化平台中的关键技术,详细研究了Xen的I/O虚拟化技术和前后端分离的虚拟设备驱动模型;分析了Xen中的虚拟VCPU调度算法,论述了BOOSTING机制在调度算法处理I/O密集型应用的响应时的加速作用;针对混合型应用,提出了由于Xen虚拟机监视器与上层应用之间的“语义鸿沟”,导致了Xen无法感应到混合型应用中的I/O密集型任务,进而使得VCPU调度算法无法为I/O密集型应用的处理提供优先调度,BOOSTING机制无法发挥应有的作用,最终使得I/O响应延迟较大;为了解决上述问题,提出了基于应用特征的VCPU调度优化技术。其次,该方法通过建立基于虚拟网络后端的I/O特征感应代理,解析经过特权域转发的网络数据包,保存网络流量的历史记录。在此基础上,针对虚拟机中应用类型不可预知的特点,建立了基于置信度的I/O密集性的判定算法,综合考虑网络应用短期和长期的I/O密集性特征的变化,为测量I/O密集性提供了一种动态方法。第三,本文在建立了I/O特征测量标准的基础上,通过修改事件通知机制,为I/O请求附加了紧迫性信息。通过设计VCPU局部加速机制,改进了VCPU调度策略,使得调度算法最终能够感应混合应用中的I/O密集性特征,从而对于VCPU的调度更有针对性,有效降低了混合应用中I/O请求的响应延迟。最后,确定了I/O密集性判定算法中的相关参数,通过实验验证了在使用了基于应用特征的VCPU调度技术后,网络I/O延迟有明显下降,验证了该技术的有效性。此外,还通过实验分析了VCPU局部加速率对于网络吞吐率和CPU利用率的影响,其中,通过提高VCPU局部加速率,可以大幅提高I/O密集型应用的网络吞吐率。