论文部分内容阅读
近年来随着云计算的迅速发展,“计算即服务”的理念与客户机/服务器(C/S:Client/Server)计算模式得到越来越广泛的应用。计算资源通过在不同层次上的封装,以服务的形式提供给最终用户,交互性能这一重要的服务质量指标受到越来越多的重视。另一方面,虚拟化技术由于其灵活性、安全性、支持服务器整合等诸多功能与特点,能够很好的适应C/S计算模式的需求,成为其重要的支撑技术。
现有的虚拟化技术对交互式应用的支持存在缺陷。实际应用中发现,在服务器整合程度较高的计算环境下,虚拟机调度算法无法保证应用程序的交互性能。本文以Xen虚拟化系统为研究平台,以桌面虚拟化等实际应用为研究场景,以交互性能优化为研究目标,对虚拟机调度算法展开了研究。本文针对具体应用场景的特点,提出并实现了三种优化方法,并使用真实的应用程序验证其有效性。
本文的主要研究内容及成果包括以下方面:
1.单一负载虚拟机I/O性能隔离
分析了在单一负载应用场景中,高整合程度计算环境下虚拟机I/O性能急剧下降的问题。在Xen现有的虚拟机调度算法基础上,提出了抢占返回、阻塞奖励、精确结算和无抢占的驱动虚拟机四种改进方法,实现了Credit-HC(Credit-based Highly Consolidation oriented)虚拟机调度算法。实验数据表明,在CPU比例配置足够的情况下,同时运行14台计算密集型虚拟机时,单台虚拟机的网络带宽下降0.3%,网络响应速度下降8.4%,磁盘吞吐率下降6.6%,低于改进前的95.7%、99.6%和95.7%。这些改进方法不但增强了虚拟机I/O性能的隔离能力,而且为交互性能的进一步优化提供了坚实的基础。
2.用于桌面虚拟化的CPU调度优化
分析了在桌面虚拟化应用场景中,高整合程度环境下Xen虚拟化平台交互性能下降的现象,提出了一种全时抢占机制,结合桌面虚拟化的特点,设计并实现了FUPS-DV(FUll-time Preemption Scheduling for Desktop Virtualization)虚拟机调度算法,缓解了Xen中抢占机制与异步事件机制不匹配的问题。FUPS-DV不需要对客户操作系统进行修改,且不依赖于特定的操作系统或远程显示服务平台。实验以Windows XP作为客户操作系统,分别以RDP和VNC作为远程显示服务,使用真实应用程序进行评测。在5台虚拟机同时运行混合负载的情况下,RDP和VNC的平均显示延迟分别降低77.3%和60%。
3.抢占感知的虚拟机调度接口
提出了一种对虚拟机调度接口的扩展PaS(Preemption-aware Scheduling),即抢占感知的调度。PaS将抢占作为虚拟机监控器提供的一种服务,允许客户操作系统根据自身内部信息决定抢占的开始点与结束点,实现虚拟机调度器与客户操作系统调度器之间的协作。本文实现了PaS接口的原型系统,得益于已有成熟的交互式应用识别机制,只需对Linux内核进行少量修改即可使用PaS接口。实验以Fedora-8为客户操作系统,以VNC为远程显示服务,使用真实应用程序进行评测。使用PaS后,平均显示延迟比未优化降低65.1%,比FUPS-DV降低30%。