本发明涉及了面向云数据中心的资源管理领域,特别涉及一种基于资源管理的云数据中心成本优化方法。
背景技术:
随着云计算技术的不断进步,基于云计算环境的云数据中心也得到了飞速发展,提高云数据中心的管理能力,可以使得它为更多用户提供高质量、安全可靠的服务,能够迅速响应用户的请求。在当今信息化的社会,云数据中心通常由成千上万台计算节点以及相关设备组成,拥有大量的资源,由于用户需求的大大增加,数据中心的规模也在不断的扩大。如何合理分配资源,降低数据中心的能耗,减少开销,也是众多研究者目前关注的问题之一。国内的一些it公司开始关注数据中心能耗问题,他们将数据中心建在大山里,目的也是想要尽可能的节省能耗,减少成本费用,所以降低能耗,缩减成本是当前亟待解决的问题。当前研究者大多是关注工作流-前端虚拟机层、前端虚拟机层-后台服务器层上面的资源管理,且大多是关注能耗问题,成本费用考虑的并不多。本发明是在工作流-前端虚拟机层-后台服务器层上进行联合资源管理,在工作流-前端虚拟机层,通过引入一种蚁群最优化方法,缩短任务执行时间,进而减少费用成本;在前端虚拟机层-后台服务器层,通过合理将虚拟机进行适当合并,减少资源部署时间,达到优化时间,减少费用的目的。
技术实现要素:
针对在云数据中心的资源管理中,可能会出现资源分配不均造成能耗过高,成本费用大以及分层资源管理容易造成资源分配不均导致资源浪费的问题,提出了一种基于资源管理的云数据中心成本优化方法,来解决以上问题。
本发明的技术方案:
针对以上问题,本发明提出相应的解决方式,首先云数据中心进行资源管理是为了降低能耗,使得负载均衡,达到缩减费用的目的。本方法主要分为两层架构上的资源管理,在工作流-前端虚拟机层,引入一种蚁群最优化方法对工作流进行管理,该方法采用全局共享信息素可以使经验信息在菌落之间快速传播,从而有助于多个群体之间的合作。此外,引入启发式信息可增强探索能力。在探索新解决方案和积累有关该问题的经验的平衡之间,可以确保蚁群系统快速收敛和良好性能。做到了既保证了精确性,又避免陷入局部最优解,并改善负载不均状况,提高虚拟机资源利用率。在前端虚拟机层-后台服务器层,虚拟机在服务器上面进行分配时,当后台服务器启动时,先对需求资源大的虚拟机进行资源部署,当后续到达虚拟机与上一个虚拟机属于同种类型,且上一个虚拟机上的工作流执行完后,执行删除操作,则后续到达虚拟机不需要再次部署资源,节省部署资源时间;否则重新部署资源。
具体步骤为:
(1)在工作流-前端虚拟机层,设计一种基于蚁群最优化方法的工作流资源管理方法,具体包括:
步骤1:初始化工作流和虚拟机映射路径上的信息素初始值,设置最大迭代次数nc,信息素启发因子α,期望启发因子β,挥发因子ρ,蚂蚁数量n以及转移概率p0。
步骤2:将工作流中的任务进行优先级划分。
步骤3:将n个蚂蚁随机放置于虚拟机。
步骤4:每只蚂蚁根据随机概率转移公式,计算当前工作流中的任务在每个虚拟机上面进行选择的概率,再根据轮盘赌法为当前任务匹配虚拟机,然后将选择的虚拟机加入到禁忌表中。
步骤5:当蚂蚁完成一次寻解后,用局部信息更新公式对蚂蚁寻找到的匹配方案路径上的信息素进行修改,与之前的进行比较,更新最优方案。
步骤6:判断是否所有蚂蚁完成本次迭代,如果有蚂蚁未完成寻解,跳至步骤3,若所有蚂蚁完成匹配方案寻解,计算出全局最优匹配方案并保存,并用信息素全局更新公式对全局最优匹配方案中的任务与虚拟机映射路径。
步骤7:判断是否当前的迭代次数小于最大迭代次数nc,若小于,清空禁忌表,跳至步骤2,否则,算法迭代结束,输出最优匹配方案。
(2)在前端虚拟机-后台服务器层,设计一种基于贪心策略的多类型虚拟机部署方法,具体包括:
步骤1:虚拟机在后台服务器上进行部署时,将虚拟机按照资源占用大小由大到小进行排序。
步骤2:将所需资源最大的虚拟机随机放置于一个后台服务器上。
步骤3:判断虚拟机类型和虚拟机中工作流的执行情况。若新分配虚拟机与其类型一致且原虚拟机中工作流中的任务执行结束,则不用重新部署资源,若执行的任务还未结束则判断后台服务器上资源与虚拟机所需资源大小,若可以满足,则为虚拟机部署资源。
步骤4:判断虚拟机数量,若小于总数,则重复步骤3,否则结束。
步骤5:选出最优方案。
附图说明
图1是本发明的主要架构图。
图2是本发明实例的工作流-前端虚拟机层的具体步骤流程图。
图3是本发明实例的虚拟机层-终端服务器层的具体步骤流程图。
具体实施方式
下面将结合附图和具体实例对本发明做进一步详细描述。
图2是本发明实例的工作流-前端虚拟机层的具体步骤流程图。
图3是本发明实例的前端虚拟机层-后台服务器层的具体步骤流程图。
结合实例包括以下步骤:
使用cybershake、epigenomics、ligo、montage数据集在cloudsim平台上进行仿真测试。
(1)在工作流-前端虚拟机层,设计一种基于蚁群最优化方法的工作流资源管理方法,具体包括:
步骤1:初始化任务和虚拟机映射路径上的信息素初始值,设置最大迭代次数nc,信息素启发因子α,期望启发因子β,挥发因子ρ,蚂蚁数量n以及转移概率p0。
步骤2:工作流是若干个任务的集合,任务之间具有相互依赖关系。
步骤3:虚拟机的类型分为vl,vu,vr等,不同类型的虚拟机的集合m={vl1,vl2…vli,vu1,vu2…vuj,vr1,vr2…vrm}其中虚拟机的处理能力是考虑到cpu,ram,bandwidth等,将vcomp_i=α*vcpu_i*vcpu_num_i β*vram_i ρ*vbw_i。将n个蚂蚁随机分配于虚拟机上。
步骤4:其中工作流中的每层任务完成时间tasktimeij=etij erij,etij表示任务在虚拟机上的执行时间,erij表示任务在传输过程中的时间,每台虚拟机的执行时间是到达的所有任务的执行时间
步骤5:对信息素进行初始化,每只蚂蚁根据随机概率转移公式,计算当前工作流中的任务在每个虚拟机上面进行选择的概率,再根据轮盘赌法为当前任务匹配虚拟机,然后将选择的虚拟机加入到禁忌表中。
步骤6:当蚂蚁完成一次寻解后,用局部信息素更新公式对蚂蚁寻找到的匹配方案路径上的信息素进行修改,与之前的进行比较,更新最优方案。
步骤7:判断是否所有蚂蚁完成本次迭代,如果有蚂蚁未完成寻解,跳至步骤4,若所有蚂蚁完成匹配方案寻解,计算出全局最优匹配方案并保存,并用信息素全局更新公式对全局最优匹配方案中的任务与虚拟机映射路径。
步骤8:判断是否当前的迭代次数小于最大迭代次数nc,若小于,清空禁忌表,重复步骤4-7,否则,算法迭代结束,输出最优匹配方案。
(2)在前端虚拟机-后台服务器层,设计一种基于贪心策略的多类型虚拟机部署方法,具体包括:
步骤1:虚拟机m={vl1,vl2…vli,vu1,vu2…vuj,vr1,vr2…vrm}在服务器s={s1,s2,…sn}上进行部署时,将虚拟机按照资源占用由大到小进行排序。
步骤2:将所需资源最大的虚拟机s1随机放置于一个服务器上。
步骤3:判断虚拟机类型和虚拟机中工作流上的任务的执行情况。若新分配虚拟机与其类型一致且原虚拟机中任务执行结束,则不用重新部署资源,若任务还未结束则判断服务器上资源与虚拟机所需资源大小,若sremain_j≥vcomp_i,则为虚拟机在该服务器上部署资源。否则,重新寻找服务器为虚拟机部署资源。
步骤4:判断虚拟机数量,若小于总数,则重复步骤3,否则结束。
步骤5:选出最优调度方案。
1.一种基于资源管理的云数据中心成本优化方法,其特征在于包括以下步骤:
1)在工作流-前端虚拟机层,设计一种基于蚁群最优化方法的工作流资源管理方法,具体包括:
(a)通过任务前后到达顺序,对任务进行优先级划分;
(b)引入蚁群最优化方法,利用全局共享信息素可以使经验信息快速传播,提出信息素调整因子,改变信息素更新规则,更加快速搜寻到任务所需要的虚拟机;
(c)考虑时间与成本问题,达到均衡最优化;
2)在前端虚拟机-后台服务器层,设计一种基于贪心策略的多类型虚拟机部署方法,具体包括:
(a)将虚拟机按照需求资源由大到小依次排序;
(b)对虚拟机类型、虚拟机上任务执行情况以及后台服务器上面剩余资源大小进行判断,用贪心思想对资源进行分配;
(c)部署资源时,若释放虚拟机后,随后向后台服务器请求资源的虚拟机类型,若与其一样,则不需要重新部署资源,节省部署时间。
技术总结