论文部分内容阅读
近年来,随着互联网技术的快速发展,云计算作为一种按需分配计算资源与存储资源的新兴商业化模式被广泛应用于IT企业方案中。随着云计算被广泛应用于IT企业方案中,云计算数据中心的规模越来越大。面对大规模的数据中心,云服务提供商面临着两个挑战。如何进行虚拟机分配以便于1)降低数据中心的能耗;2)提高服务质量(如:减少数据访问延迟)以满足用户需求。以往对数据中心虚拟机分配的研究往往只关注二者之一。值得注意的是,这两个目标在有些情况下是互斥的,仅仅把已有工作中的虚拟机分配方法合并不能有效的同时优化能耗和数据访问延迟。这种情况下,本文提出一种同时优化两个目标的虚拟机分配策略,以便于更好的满足云服务提供商的需求。因此,本文的主要研究内容是如何有效分配数据中心的虚拟机,以兼顾降低数据中心计算节点(即物理机或服务器)的总能耗和最大数据访问延迟。本文首先形式化兼顾能耗与数据访问延迟优化的云计算数据中心虚拟机分配问题,将能耗和最大数据访问延迟转化为一个目标评估值。按照由浅入深的研究思路,本文首先研究静态环境下的虚拟机分配,这种情况下只考虑固定时刻的虚拟机分配,一次性将虚拟机分配完成。针对静态环境下的虚拟机分配,根据节点的候选集,我们提出了一种基于节点实际能力的迭代贪心算法(Real Capacity-Based Iterator Greedy Algorithm,RCG)。RCG算法首先设定最大数据访问延迟约束阈值,根据计算节点的实际资源量,在满足数据访问延迟约束的情况下,寻找最小化计算节点数目的分配策略。然后不断减小阈值,迭代执行上述过程,直到当前约束阈值下不存在一种有效的分配策略。在迭代过程中,保存评估值最小的分配策略。基于静态环境下的虚拟机分配研究,本文进一步研究了更加贴近实际的动态环境下的虚拟机整合,这种情况下随着任务的不断到达和离开,系统不断分配和回收虚拟机。本文在RCG算法的基础之上,针对动态环境下的虚拟机整合提出了基于多智能体协商的虚拟机整合算法(Multi-agent Negotiation-Based Resource Consolidation Algorithm,MAC)。MAC算法为每个计算节点分配一个智能体。智能体具备一些可以促进协商(合作)进行的性质。智能体根据自身的资源利用率和当前的最大访问延迟与其他智能体进行协商迁移虚拟机。如果智能体检测到当前自身分配的虚拟机产生的数据访问延迟等于最大数据访问延迟,就向其他智能体发出迁移虚拟机的请求。智能体通过判断执行虚拟机迁移策略之后,根据目标评估值的值变化情况,决定是否继续执行协商过程。接着本文通过分析算法的时间复杂度来证明MAC算法的收敛性。最后,本文通过模拟实验验证算法的有效性。针对静态环境下的情形,实验表明,RCG算法的能耗、最大数据访问延迟以及评估值均接近优化工具求解方法(Optimization Software-Based Method,OS),且均优于其他对比方法。针对动态环境下的情形,实验表明,MAC算法产生的能耗和评估值均优于其他对比方法,数据访问延迟比动态重分配算法(Dynamic Reallocation Algorithm,DRA)略大。