论文部分内容阅读
随着云计算和虚拟化技术的兴起和发展,许多传统领域的计算问题,如超大规模、可扩展和高可靠的分布式计算问题,逐渐被引入到云计算和虚拟化的研究领域。它们通过对孤立、异构的资源进行聚合,实现在广域、动态环境下的资源共享与协同工作。尤其是对于高性能、高密度或关键任务的服务和应用程序,利用虚拟化和云计算的容错性能,可以避免系统脆弱性,增强系统弹性。然而,随着云计算的规模进一步扩大,其网络架构可能导致严重而频繁的、不可预知的性能损失。特别是针对某些紧耦合并行应用程序,由网络带来的性能损耗将直接影响到整个系统的效率。如果将虚拟机和虚拟覆盖网络技术相结合,从而构成一种新的高性能虚拟计算环境,它具有动态拓扑、网络性能预测和虚拟环境迁移等特点,那么它将非常适于应用到当前或未来的分布式和云计算系统中。因此,本文利用现今较为成熟的虚拟化技术,针对高性能分布式计算环境,设计一种新的简单灵活的模型,使得紧耦合应用程序可以在不同环境之间无缝迁移,这无论对于分散的云计算系统还是集中的数据中心网络都具有非常重要的意义。本文的主要创新工作包括:1.深入研究了基于虚拟机的覆盖网络,设计并实现了一种嵌入于虚拟机监视器Palacios中的覆盖网络系统VNET/P。在虚拟技术和覆盖网络的研究领域,VNET/P系统首次将虚拟覆盖网架构于虚拟机监视器之上。VNET/P可以将Palacios创建的一组虚拟机抽象于本地局域网,即使支持虚拟机的宿主机是远程互连的,而且它根据数据链路层的MAC地址和用户设置的路由规则,对虚拟机的收/发数据进行封装、路由和转发。通过在带宽为1Gbps的以太网和10Gbps的光纤网络上,对VNET/P连接的虚拟机之间的通信性能进行测试,结果证明,由VNET/P所额外产生的性能损耗非常小。2.设计了一个独特的VNET/P桥,将本地虚拟机与外界网络连接起来,VNET/P向外界发送或接收外界的数据都通过该桥接系统实现。在Palacios+Kitten平台上,桥接设备置于特殊的桥虚拟机Dom0中,使用虚拟网络设备Virtio来完成数据的交换。VNET/P桥对数据进行再次封装,然后通过Passthrough以太设备将数据发送到目的宿主机的相应桥接设备中。3.提出在虚拟网络中利用多核的技术,实现虚拟机之间的数据发送与接收的并行性。在多核方式下,当VNET/P核心接收或发送一个包时,包分配器将产生一个内核线程,然后为数据包选择一个虚拟网卡,并且使对应的虚拟机主动分配一个CPU core。此时CPU不立即执行VM exit指令,而是多个虚拟机并行运行在不同的CPU core上。该方法动态地使用空闲的CPU core来提高包转发带宽,同时减少了VM exit的次数,其优势在于最大化海量数据的传输通量。4.基于VNET/P结点构建虚拟覆盖网。本文利用VNET/P控制组件对虚拟网络拓扑进行动态配置、监视网络性能、热迁移虚拟机等。VNET/P覆盖网的拓扑并非仅仅是简单的以太网拓扑,而是可以动态配置的通用拓扑,如总线型、星型、环型、网、超立方体等结构。在覆盖网上使用基于MAC层的以太包,便于VNET/P与各种物理网络设备、VMM中的虚拟网卡、Guest中的快速虚拟设备直接交互。另外本文还对覆盖网的形式化描述和自适应问题进行了探索。