论文部分内容阅读
随着云计算平台越来越庞大并且呈现动态化,有效地管理整个云计算数据中心的资源同时满足用户应用的资源需求成为云提供商和租户共同的诉求。云计算的目标是,租户可以根据随收随付模式租赁计算资源,云提供商可以有效地管理计算资源以保证服务的可扩展性和有效性。网络虚拟化技术的出现为云计算资源的高效管理带来了契机,通过“抽象”整个云数据中心的物理基础设施形成巨大的虚拟“资源池”,满足多用户同时共享资源的需求,大大降低云资源管理难度和维护成本。代表未来网络发展方向的软件定义网络拥有整个网络的全局视图,可以细粒度地操纵整个云数据中心资源,使云计算资源分配任务变得更加有效。然而,由于租户的大量服务和应用程序通常共享同一资源池,使得数据中心环境变得非常复杂,因此,满足多个用户的计算请求而进行有效的资源分配,同时保障整个网络的性能将成为巨大的挑战。为了解决这个问题,首先,本文构建一种基于软件定义网络的fat-tree数据中心虚拟资源分配网络模型。其次,本文提出一种集群虚拟网络(Clustered Virtual Network,CVN)策略和动态heapsort算法寻找含有最合适数量的虚拟机(VM)的交付单元(pod),以有效地利用单个pod中的资源构建集群虚拟网络。然而,当单个pod找不到足够的资源时,将联合多个pod构建跨pod集群虚拟网络(Crossing Pod-CVN,CP-CVN),并提出一种max-min策略以进行跨pod的虚拟机分配。进而,在虚拟机分配的基础上,本文进行网络资源分配,并将此网络资源分配优化问题公式化为线性规划问题(Linear Programming,LP)以最大化网络吞吐量,并提出一种近似算法解决此线性规划问题,保障网络的整体性能。理论分析表明本文所提出的近似算法可以有效地解决软件定义网络中的集群虚拟云资源分配问题并保证网络性能。最后,本文通过网络仿真平台Mininet部署了仿真实验进行方法评估。Mininet是一个被学术界广泛肯定和采用的网络仿真器,它使用轻量级虚拟化在单个系统(如计算机或虚拟机)上部署大型网络。本文从拓扑结构、通信模式、资源分配模式、数据流生成等多维度设计实验,以验证所提出的算法(统称为CVN算法)的有效性。实验结果表明,本文所提出的CVN算法较Cloud Mirror、Oktopus和MILPFlow算法在网络吞吐量和平均传输时延方面有更好的性能表现,证实理论分析的正确性。