论文部分内容阅读
随着虚拟化技术的日趋成熟以及CPU计算能力的增长,虚拟机计算系统可以同时为越来越多的客户虚拟机应用提供服务,因此,用户对虚拟机网络性能提出更高的要求。为了满足应用对于网络性能的需求,需要深入地研究虚拟机网络性能优化方法。虚拟机网络性能优化的研究首先通过多层次、多粒度网络性能组合测试方法对虚拟计算系统的网络性能进行测试和分析,提出当前虚拟机网络性能的影响包含两方面:虚拟计算系统的网络传输性能;其次是虚拟机网络性能隔离度。针对这两方面内容,虚拟机网络性能优化的研究采用基于多网卡的虚拟计算系统网络性能优化方法提高虚拟计算系统的网络传输性能;采用基于分离驱动的虚拟机网络性能隔离方法增强虚拟机网络性能隔离度;采用多虚拟机网络性能协同优化方法保证多虚拟机环境下应用的服务性能。虚拟计算系统网络性能测试及分析是虚拟计算系统网络性能优化的前提及关键步骤。多层次、多粒度网络性能组合测试方法能完整地描述虚拟计算系统网络性能并有效地协助分析虚拟计算系统网络性能瓶颈。该测试方法通过协同使用标准测试程序组合测试和Trace方法,获得在不同层次下,不同粒度的网络性能测试结果,从而完整地描述虚拟计算系统的网络性能。通过拓展测试程序集合,该方法还可应用于整个虚拟计算系统的性能测试。根据该测试方法,设计和实现了一个能灵活配置测试策略和自动部署测试的测试系统。其中,数据传输引擎Xenrelay优化了域间Trace数据传输性能,弥补当前虚拟计算系统Trace方法的不足。最后,利用该测试方法,对虚拟计算系统的网络性能进行了测试和分析,测试结果表明:虚拟机网络性能受到虚拟计算系统网络传输性能和虚拟机网络性能隔离度的影响。针对虚拟计算系统的网络传输性能低下的问题,基于多网卡的虚拟计算系统网络性能优化方法利用多网卡并行传输数据有效提升虚拟机网络性能。首先,该多网卡优化方法通过排队网络建立虚拟计算系统网络性能分析模型,讨论了优化虚拟计算系统网络性能的理论方法。然后,根据模型的理论分析,多网卡优化方法一方面通过扩展ARP邻居代理,建立虚拟机IP地址与物理网卡MAC地址之间一对多的关系,使得虚拟机可以通过多网卡并行传输数据;另一方面,采用发送和接收负载平衡算法控制多网卡上数据的传输,从而提高虚拟计算系统的网络带宽。另外,针对虚拟机的网络性能隔离度差的问题,提出了基于分离驱动的虚拟机网络性能隔离方法。该方法首先通过抽象Xen的I/O虚拟化方式,提出分离驱动模型。然后在此基础上,采用两层资源控制方式保证系统的工作保持性(work-conserving)和公平性,从而实现虚拟计算系统的细粒度I/O性能隔离。该方法在虚拟机层次利用令牌桶实现I/O资源分配,并采用公共令牌桶管理剩余资源,以及通过系统的负载预测虚拟机资源使用情况分配令牌。在虚拟机监控层,该方法使用公平调度算法保证虚拟机间资源I/O分配的公平性。此外,为了有效控制剩余带宽再分配,该方法提出一种基于补偿机制的分配策略。实验表明该方法能够有效地保证虚拟机间的网络性能隔离。越来越多高性能计算机用户采用虚拟计算系统搭建分布式环境,使得虚拟化环境下的计算任务由单机应用向多虚拟机协同参与转变,但网络性能的干扰影响了分布式应用性能。多虚拟机网络性能协同优化方法针对这一情况,提高多台虚拟机网络QoS,保证应用的性能。在该方法中,发送端根据接收端反馈的网络资源分配的历史数据,预测接收节点资源分配情况,并以此为依据结合发送端的资源使用情况,有效地控制数据的发送,从而保证了分布式环境下虚拟机网络QoS。总之,在通过多层次、多粒度网络性能组合测试方法对虚拟机网络性能进行测试的基础上,以优化虚拟计算系统网络传输性能、保证虚拟机网络性能隔离为目的,重点研究基于多网卡的虚拟计算系统网络性能优化技术,细粒度的虚拟计算系统网络性能隔离技术以及多虚拟机网络性能协同优化技术等关键技术,为优化虚拟机网络性能提供了一系列技术方法和措施。