[发明专利]一种运用蚁群算法优化科学工作流的虚拟机放置方法有效

专利信息
申请号: 202011311324.9 申请日: 2020-11-20
公开(公告)号: CN112379972B 公开(公告)日: 2023-01-06
发明(设计)人: 陈伟能;谈力滔;詹志辉;钟竞辉 申请(专利权)人: 华南理工大学
主分类号: G06F9/455 分类号: G06F9/455;G06N3/00
代理公司: 广州粤高专利商标代理有限公司 44102 代理人: 何淑珍;江裕强
地址: 510640 广*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 运用 算法 优化 科学 工作流 虚拟机 放置 方法
【权利要求书】:

1.一种运用蚁群算法优化科学工作流的虚拟机放置方法,其特征在于,该方法包括以下步骤:

(1)、预处理,将需要运行的多个科学工作流合并为一个工作流,所述工作流包含虚拟机VM的集合VMset={VM1,…,VMi,…,VMn},其中,1≤i≤n,n为工作流中包含的VM总数、每个VM间需要传输的数据的大小以及每个VM的最晚开始运行时间

预处理为每个科学工作流增加一个虚拟的开始节点,该开始节点为所有孤儿节点的父亲;增加一个虚拟的结束节点,该结束节点为所有孤寡节点的孩子,预处理为所有科学工作流的虚拟的开始节点,创建一个虚拟的公共开始父节点;为所有科学工作流的虚拟的结束节点,创建一个虚拟的公共结束子节点,从虚拟的公共开始父节点开始宽度优先遍历,到虚拟的公共结束子节点结束,同时,每个科学工作流的用户指定的期限将被转化为每个VM的最晚开始运行时间保证每个VM在前开始运行保障最终运行时间不超过期限;每个科学工作流的虚拟的结束节点的最晚开始运行时间为该工作流的用户指定的期限;而任意VMi的LST,为其所有的VM中,最早的最晚开始运行时间减去该VM的运行时间

每个科学工作流的用户指定的期限转化为每个VM的最晚开始运行时间

(2)、初始化参数,信息素均被初始化为信息素初始值τ0=1/n,基于VMi的具体属性获取启发式信息基于VMi的具体属性获取启发式信息

在算法运行前,所有的信息素被设为一个初始值τ0,即

算法中设置以下三种启发式信息:

第一:内存贪婪启发式信息

内存贪婪启发式信息使得蚂蚁在构造VM序列时更倾向于选择具有更大内存容量需求的VM;假设蚂蚁使用的是内存贪婪启发式信息,则VM序列的sk位置为VMi的启发式信息为:

其中,VMq∈VMset,该公式保证了

第二:时间贪婪启发式信息

时间贪婪启发式信息使得蚂蚁在构造VM序列时更倾向于选择具有更长处理时间需求的VM;假设蚂蚁使用的是时间贪婪启发式信息,则VM序列的sk位置为VMi的启发式信息为

其中,VMq∈VMset,该公式保证了

第三:内存/时间启发式信息

内存/时间启发式信息综合考虑一个VM的内存容量需求和处理时间需求因素;它综合了MG和TG两种启发式信息;假设蚂蚁使用的是内存/时间启发式信息,则VM序列的sk位置为VMi的启发式信息为

其中,VMq∈VMset,表示VMi运行时间,表示VMi运行时所占用的内存资源大小,根据公式,具有更大的内存容量需求以及更长处理时间需求的VM将会带有更高的启发式信息,且

(3)、初始化所有的蚂蚁,在每次循环开始时,每只蚂蚁a根据优先关系在工作流网络中建立符合优先约束的VM序列Sa(s1,…,sk,…,sn),其中,1≤k≤n,n为工作流中包含的VM总数;

(4)、更新局部信息素,蚂蚁每选择一个VM则更新一次;局部信息素的更新策略如下:

假设当前蚂蚁在sk位置上选择VMi,局部更新策略如下:

其中,ρ∈(0,1)是控制更新速度的参数;

(5)、当蚂蚁完成VM序列的构造后,基于每个VM序列构造出具体的VM放置和调度方案,对于VM序列从前至后,逐一为VM序列中的每一个VM确定运行的物理机器PM和开始运行的时间;云计算中心拥有的PM集合记为PMset={PM1,…,PMj,…,PMm},其中,1≤j≤m,m为云计算中心拥有的PM总数,对于每一个可行的PMj,VMi计算在PMj上运行的启发值;对于每一个可行的PMj,VMi通过以下公式计算PMj的启发值:

其中,PMj∈PMset,VMi∈VMset,t表示VMi在PMj上可行的最早开始运行时刻,和分别表示VMi运行时占用的CPU、内存大小及运行时间,和分别表示PMj的最大CPU和内存容量,和分别表示在t时刻PMj的已用CPU和内存容量,计算出所有可行的PMj的启发值后,VMi将放置在拥有最小启发值的PM上,于PM的可行的最早开始运行时间,开始运行;

采用网络带宽矩阵来代替云数据中心的实际拓扑结构,实际拓扑结构通过逐一测量任意两台物理机器PMj1和PMj2之间的网络带宽获得,在PMj1上运行的VMi1向在PMj2上运行的VMi2传输数据的耗时通过如下公式计算:

VMi1的结束运行时间和VMi2的开始运行时间之间至少需要相隔才能保证在vMi2开始运行时所需的VMi1的数据已运输完毕;

物理机器PMj在某一时刻T的功率P(PMj,T)与其CPU使用率成正比,即

其中,为PMj满载时的功率,为PMj空载时的功率相对于满载时的功率,为PMj空载时的功率,为PMj在T时刻的CPU使用率

在科学工作流运行期间,云计算中心的总功耗W可通过如下公式计算

科学工作流的连接感知的VM放置问题包含优先约束、传输约束、资源约束约束、操作约束、时间约束;优先约束包含在科学工作流模型中,其指定一个可行解必须满足的VM执行次序;传输约束要求VMi1的结束运行时间和VMi2的开始运行时间之间至少需要相隔资源约束要求VM的CPU和内存需求不能超过PM的容量上限;操作约束要求一个VM仅能在同一时间于一个PM上运行;时间约束要求VM必须在所需数据运输完成后才能开始运行,并且最终方案应保障运行时间在用户指定的期限前完成;

VM间存在优先约束,符合优先约束的VM序列Sa(s1,…,sk,…,sn)通过如下方式建立:

逐一选出VM序列每一个位置的VM,且保证同一VM在序列中只出现一次,对于每一个位置,先找出满足优先约束的VM集合,再通过轮盘赌的选择方法确定放置于位置sk的VMi

位置sk选择VMi的概率为:

其中,c为满足优先约束的VM集合的大小,在每一次进行选择时将生成一个随机数q∈[0,1],并将随机数q与提前设定的变异概率参数q0∈[0,1]比较,若q≤q0,每个VM被选择的概率将正比于该VM的信息素值,否则,将发生变异,每个VM被选择的概率将相同;

(6)、对蚂蚁构造的VM序列对应的放置和调度方案进行能耗评估;

(7)、执行全局信息素的更新,只有全局最优VM序列,即最低能耗评估值的方案所对应的VM序列,才会进行全局信息素的更新;

(8)、如果迭代次数达到用户设定值或上述过程中得到的最低能耗评估值小于用户设定值则结束,在上述过程中得到的最低能耗评估值的方案即为最优的VM放置和调度方案,否则回到步骤(2)。

2.根据权利要求1所述的一种运用蚁群算法优化科学工作流的虚拟机放置方法,其特征在于,全局信息素的更新策略如下:全局最优VM序列为Sbest(s1,…,sk,…,sn),其中,1≤k≤n,n为工作流中包含的VM总数,全局更新策略给定如下:

其中,Sbest.Score表示Sbest的能耗评估值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011311324.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top