本发明涉及云计算工作流调度领域,具体涉及一种基于实时状态监控的多目标粒子群优化的工作流调度方法。
背景技术:
随着云计算技术的迅猛发展,越来越多的组织将传统的业务过程与应用迁移到云计算环境。云计算是一种利用互联网实现随时随地、按需、便捷地使用共享计算设施、存储设备、应用程序等资源的计算模式。云计算的主要特征是高可扩展性和高可靠性,意味着用户可以按需租用和释放资源,提供商使用数据多副本容错、计算节点同构互换等措施保障服务的高可靠性。工作流由一组存在数据依赖关系和时间偏序关系的任务组成,通常使用有向无环图来表示。工作流调度本质上是实现任务与可用资源间的映射,同时满足用户对任务执行定义的服务质量约束,如截止时间和预算费用。同一工作流使用不同计算资源和调度方案都会产生不同的调度结果。考虑时间和费用约束下,同时实现工作流调度成本低、调度时间短、可靠性高三个目标,已经成为服务提供商的一大难题。
多目标粒子群优化算法是求解多目标问题的最具潜力的方法之一,但是面临粒子群优化算法固有的缺陷和新的技术问题。比如开发和开采的平衡问题,全局最优解的选择问题等。目前已存在的多目标粒子群优化算法,缺乏实时状态检测机制,无法确定算法在什么时候采用什么策略到某个程度,所以导致过度开采或开发不全面的问题,最终导致获得的工作流调度解收敛度不高或者多样性不够。
针对上述问题,本发明提出了一种基于实时状态监控的多目标粒子群优化算法。通过引入Pareto方差实时监控种群进化所处的阶段,根据不同的阶段采取相应的种群进化措施,平衡进化过程中的开采和开发,实现工作流调度解的收敛性和解空间分布的多样性。
技术实现要素:
本发明的目的就在于实时监控多目标粒子群算法进化阶段,根据不同的阶段实施对应的进化策略,平衡进化过程中的开采和开发,实现调度解的收敛性和调度解空间分布的多样性,提出一种基于实时状态监控的多目标粒子群优化的工作流调度方法。
本发明所采用的技术方案是:
S10,工作流预调度。
S20,初始化种群个体。
S30,实时监控种群进化状态。
S40,根据进化状态选择相应的进化策略。
S50,更新种群,再次迭代。
S60,若达到最大的迭代次数,输出外部精英文档中的工作流调度解集。
上述的技术方案,其中,所述步骤S10中工作流预调度包括如下步骤:
S11,利用BHEFT算法进行工作流预调度,计算工作流调度的时间和执行费用,判断工作流调度的时间和执行费用是否满足用户设定的截止时间和预算约束。
S12,如果不满足,则提醒用户重新设置截止时间/预算。如果满足条件,则执行后续步骤。
上述的技术方案,其中,所述步骤S20中初始化种群个体如下步骤:
S21,初始化全局精英文档的容量,最大迭代次数V,初始迭代次数,满足工作流优化调度解离散特性的粒子的速度和位置。
S22,计算每个粒子对应的三个目标函数值,分别是调度时间、调度费用、调度可靠性。
(1)工作流的调度时间计算公式:
其中N为工作流中任务的个数,为任务ti被分配到虚拟机上执行,代表任务ti的完成时间。而其中代表任务ti的开始时间,代表任务ti在虚拟机上的执行时间。
(2)工作流的调度费用计算公式:
对于虚拟机vmm,和分别代表vmm上的第一个和最后一个被执行的任务,代表虚拟机执行任务所需要的单价。
(3)工作流的调度可靠性:
其中P(vmm)代表虚拟机vmm的可靠性,计算公式f(vmm)表示虚拟机vmm执行任务的失败率,ET(vmm)表示虚拟机vmm上所有任务的执行时间。TP(vmm,vmn)代表虚拟机vmm,vmn间的传输可靠性,计算公式tf(vmm,vmn)表示虚拟机vmm,vmn间的传输失败率,CT(vmm,vmn)表示任务在vmm,vmn间的传输时间;
S23,判断每个粒子对应的调度时间和调度费用,然后与约束条件相比较,选择满足条件的粒子保存到可行调度方案集合,如果粒子不满足约束条件,则重新生成粒子;
S24,把可行调度方案集合中的所有粒子都存入外部精英文档,然后对全局精英文档进行占优排序,保留占优粒子;
S25,保存每个粒子到个体精英文档。
上述的技术方案,其中,所述步骤S30实时监控进化状态如下步骤:
S31,首先计算全局精英文档中所有粒子的每一维值映射到二维坐标系的整数标号,得到粒子坐标分量集合。
S32,使用Pareto方差计算坐标分量在二维坐标系中分布均匀的程度。
S33,设定收敛临界阈值和停滞临界阈值。如果Pareto方差大于停滞临界阈值,那么判定此时是停滞阶段。如果Pareto方差小于收敛临界阈值,那么判定此时是收敛阶段。如果Pareto方差位于两个临界阈值之间,那么判定为多样阶段。
上述的技术方案,其中,所述步骤S40根据进化状态选择相应的进化策略如下步骤:
S41,当进化状态处于多样阶段,采取外部精英文档自优化策略,通过对全局精英文档粒子的变异快速寻找这些粒子周围的最优工作流调度解,提高算法的局部搜索能力和工作流调度解的收敛性。
S42,当进化状态处于停滞阶段,采取逃离策略,使得粒子快速跳出局部最优,提高算法的全局搜索能力和工作流调度解的多样性。
上述的技术方案,其中,所述步骤S50更新种群如下步骤:
S51,计算外部精英文档中每个工作流调度解的邻居数量密度,然后进行升序排序。
S52,选择邻居密度最小的工作流调度解作为全局最优解。
S53,每个粒子与上次迭代产生的个体最优解进行占优排序。如果该粒子占优,那么选取当前粒子为个体最优解。
S54,如果该粒子与上次迭代产生的个体互为非占优关系最优解,那么这两个粒子与全局最优解进行比较,选择欧氏距离小的粒子作为个体最优解。
S55,如果不满足最大迭代次数,则根据离散粒子群迭代公式更新粒子的速度和位置,再次迭代。否则,输出外部精英文档中的工作流调度解集。
本发明的实时状态监控的多目标粒子群优化的工作流调度方法产生以下几种良好的效果:
效果1:本发明采用实时监控粒子群进化状态,引入Pareto方差计算方法,从而能够快速判断出粒子群进化状态。根据不同的进化阶段,采取相应的搜索或者变异策略,从而使得到的工作流调度解具有好的收敛性和多样性。
效果2:本发明外部精英文档自优化策略,利用外部精英文档周围存在大量相似的工作流调度解这一特性,通过对外部精英文档粒子的变异,得到更多的最优工作流调度解,从而提高算法的局部搜索能力。
效果3:本发明采用逃离策略,使得算法有效地脱离局部极值的状态。通过粒子分成两个子种群,对子种群进行随机重新生成和互相学习,使得工作流调度解空间多样化,提高算法的全局搜索能力。
效果4:本发明采用BHEFT算法对用户设定的调度时间和调度费用进行预判,提高了算法的可行性。
附图说明
图1是本方法的步骤图;
图2是初始化种群个体流程图;
图3是实时状态检测的流程图;
图4是外部精英文档自优化策略的流程图;
图5是逃离策略检测流程图。
具体实施方式
以下结合附图和具体实施对本发明进行详细描述,但不作为对发明的限定。
一、方法
如图1,本方法的实现步骤如下:
A.工作流预调度
利用BHEFT算法进行工作流预调度,判断工作流调度的时间和执行费用是否满足用户设定的截止时间和预算约束。如果不满足,则提醒用户重新设置截止时间/预算。如果满足条件,则执行后继步骤。
B.初始化种群个体
如图2所示,首先初始化全局精英文档的容量V,最大迭代次数,初始迭代次数,满足工作流优化调度解离散特性的粒子的速度和位置。
然后计算每个粒子对应的三个目标函数值,分别是调度时间、调度费用、调度可靠性。
判断每个粒子对应的调度时间和调度费用,然后与约束条件相比较。选择满足条件的粒子。如果粒子不满足约束条件,那么随机重新生成粒子。
把可行调度方案集合中的所有粒子都存入外部精英文档,再对这些粒子进行占优排序,保留占优粒子,保留下来的则为初始工作流调度最优解集。最后把每个粒子都存入各自的个体精英文档中。
C.实时监控进化状态
如图3所示,首先计算全局精英文档中所有粒子的每一维值映射到二维坐标系的整数标号,得到粒子坐标分量集合。。
其次使用Pareto方差计算二维坐标系中坐标分量的分布均匀的程度。设定收敛临界阈值和停滞临界阈值。如果Pareto方差大于停滞临界阈值,那么判定此时是停滞阶段。如果Pareto方差小于收敛临界阈值,那么判定此时是收敛阶段。如果Pareto方差位于两个临界阈值之间,那么判定为多样阶段。
D.根据进化状态选择相应的进化策略
如图4所示,当进化状态处于多样阶段,采取外部精英文档自优化策略。对文档中的所有粒子分别按照三个维度的目标值进行排序,从每次排序中按等比间隔方法抽取一定比例的粒子组成样本集合。对样本集合中的粒子进行高斯扰动,计算扰动后的粒子对应的三个目标函数值。然后检验每个粒子对应的调度时间和调度费用是否在约束条件内,将满足条件的粒子保存到可行调度方案集合中。将可行调度方案集合中的粒子并入到外部精英文档中,然后进行占优排序。如果非占优解的占优值相同,那么采取邻居数量密度策略进行升序排序,选取前V个粒子更新外部精英文档。
如图5所示,当进化状态处于停滞阶段,采取逃离策略,提高算法的全局搜索能力和工作流调度解的多样性。把当前粒子分为2个子种群,子群A中的粒子位置随机重置,子群B中的粒子随机选择二维向子群A的各粒子学习。计算引导后的粒子所对应的的三个目标函数值,判断调度时间和费用是否满足约束。将可行调度方案集合中的粒子并入到外部精英文档中,然后进行占优排序。如果非占优解的占优值相同,那么采取邻居数量密度策略进行升序排序,选取前V个粒子更新外部精英文档。
E.更新种群,再次迭代
通过计算外部精英文档中每个工作流调度解的邻居数量密度,然后进行升序排序,选择邻居密度最小的工作流调度解作为全局最优解。
然后每个粒子与上次迭代产生的个体最优解进行占优排序。如果该粒子占优,那么选取当前粒子为个体最优解。如果该粒子与上次迭代产生的个体互为非占优关系最优解,那么从外部精英文档中随机选择一个粒子,计算这两个粒子与这个随机粒子进行比较,选择欧氏距离小的粒子作为个体最优解。最后更新粒子的速度和位置,再次迭代。
F.输出外部精英文档中的工作流调度解集
当满足最大迭代次数后,输出外部精英文档中的工作流调度解集。
PHP网站源码龙华百度标王宝安SEO按天收费石岩推广网站光明网站改版惠州关键词排名民治网站制作设计爱联网站制作宝安关键词按天扣费福田百度关键词包年推广南山网络广告推广横岗网站推广坪地百度网站优化排名平湖百姓网标王推广宝安推广网站龙岗如何制作网站布吉关键词按天收费坑梓网页设计荷坳外贸网站制作南联网站改版木棉湾关键词按天收费荷坳外贸网站制作丹竹头百度网站优化排名广州网站制作设计龙华网站优化按天计费大运关键词按天收费宝安外贸网站设计西乡网站优化排名平湖网站优化石岩设计网站惠州网站推广工具歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运