会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 截止时间 / 一种云中满足截止时间约束且优化成本的工作流调度方法

一种云中满足截止时间约束且优化成本的工作流调度方法

申请号 CN202110477582.2 申请日 2021-04-30 公开(公告)号 CN113127205B 公开(公告)日 2022-05-17
申请人 东北大学秦皇岛分校; 发明人 卢政昊; 潘纪奎; 曹建建; 王子健; 孙福权;
摘要 本发明公开一种云中满足截止时间约束且优化成本的工作流调度方法,包括:步骤1:将云中服务器的整个工作流的截止时间基于δ‑alap分配给每一个任务,从而形成子截止时间;步骤2:对工作流中的各任务基于子截止时间进行排序,从而形成一个有序的任务队列;步骤3:依次为任务队列中的每个任务分配虚拟机,使其满足截止时间约束且成本降低。该工作流调度方法有效地控制了工作流的完成时间并优化了成本。
权利要求

1.一种云中满足截止时间约束且优化成本的工作流调度方法,其特征在于,包括:步骤1:将云中服务器的整个工作流的截止时间基于δ‑alap分配给每一个任务,从而形成子截止时间;

步骤2:对工作流中的各任务基于子截止时间进行排序,从而形成一个有序的任务队列;

步骤3:依次为任务队列中的每个任务分配虚拟机,使其满足截止时间约束且成本降低;

所述步骤1具体包括:

步骤1‑1:根据下式计算任务ti的alap值:其中,alapi是ti的alap值,alap值表示在不影响工作流的关键路径的前提下,任务的执行开始时间可以延迟多久的度量,alap的初始值根据工作流首个执行的任务确定;tj为ti的子任务,任务tj必须在任务ti完成并且数据传输完毕之后才能开始执行,datai,j代表任务ti*

发送至任务tj的数据的大小;bw为任务之间的带宽,wi为ti的计算工作量,s为执行速度最* *

快的虚拟机,p(s)为s的执行速度;

步骤1‑2:计算任务ti的子截止时间sdi:其中,D为用户指定的截止时间,CPL为工作流的关键路径长度;

步骤1‑3:计算任务tj的δj值:其中,δj是一个表示计算δ‑alapj时是否考虑到tj的数据传输时间的布尔变量,rand()是一个返回值为[0,1)内随机数的函数,datai,j/bw越大,δj返回0的概率越大;

步骤1‑4:根据下式计算任务的δ‑alap值:步骤1‑5:计算每个任务的子截止时间:其中,δ‑sdi表示第i个任务的子截止时间。

2.如权利要求1所述的云中满足截止时间约束且优化成本的工作流调度方法,其特征在于,所述步骤3具体包括:

步骤3‑1:候选虚拟机包括已在解决方案中使用过的所有虚拟机,以及尚未使用过但可以随时添加到序列中的虚拟机,虚拟机选择的第一标准是选择满足子截止时间并使成本增量最低的虚拟机;

步骤3‑2:当没有虚拟机可以满足子截止时间时,选择虚拟机的标准是从资源池中选择完成该任务时间最短的虚拟机;

步骤3‑3:如果所选的虚拟机不是最快的类型,尝试将其类型设置为更快的级别,并更新部署在其上的每个任务的完成时间。

说明书全文

一种云中满足截止时间约束且优化成本的工作流调度方法

技术领域

[0001] 本发明属于云服务器中工作流调度和成本优化技术领域,涉及一种云中满足截止时间约束且优化成本的工作流调度方法。

背景技术

[0002] 工作流经常被用于生物信息学、天文学和物理学等大规模建模科学问题。这样的工作流对数据和计算的需求不断增长,因此需要一个高性能的计算环境,以便在合理的时
间内执行工作流。多年来,人们对网格和集群等环境中的工作流调度进行了广泛的研究。然
而,随着云计算的出现,人们需要开发新的方法来应对云服务器中的工作流调度。
[0003] 如今,工作流调度是云计算中一个被广泛研究的主题,因为优化工作流调度可以大大提高云计算的整体性能。优化工作流的关键是工作流中任务的调度,这是一个NP难问
题。在云中,服务提供商以不同的价格提供不同性能的资源。资源配置不足将不可避免地损
害服务性能,而资源配置过多可能会导致不必要的成本。而且通常来说,性能较好的资源比
性能较差的资源运行速度更快,完工时间更短,但是价格也将更昂贵。因此,同样的工作流,
配置不同的资源,会产生不同的完工时间以及成本。那么,对于特定的工作流应用程序,在
满足用户给定的截止时间约束的前提下,如何优化执行成本,是我们面临的重要问题。

发明内容

[0004] 为解决上述技术问题,本发明的目的是提供一种云中满足截止时间约束且优化成本的工作流调度方法。
[0005] 本发明提供一种云中满足截止时间约束且优化成本的工作流调度方法,包括:
[0006] 步骤1:将云中服务器的整个工作流的截止时间基于δ‑alap分配给每一个任务,从而形成子截止时间;
[0007] 步骤2:对工作流中的各任务基于子截止时间进行排序,从而形成一个有序的任务队列;
[0008] 步骤3:依次为任务队列中的每个任务分配虚拟机,使其满足截止时间约束且成本降低。
[0009] 在本发明的云中满足截止时间约束且优化成本的工作流调度方法中,所述步骤1具体包括:
[0010] 步骤1‑1:根据下式计算任务ti的alap值:
[0011]
[0012] 其中,alapi是ti的alap值,alap值表示在不影响工作流的关键路径的前提下,任务的执行开始时间可以延迟多久的度量,alap的初始值根据工作流首个执行的任务确定;tj
为ti的子任务,任务tj必须在任务ti完成并且数据传输完毕之后才能开始执行,datai,j代表
*
任务ti发送至任务tj的数据的大小;bw为任务之间的带宽,wi为ti的计算工作量,s 为执行速
* *
度最快的虚拟机,p(s)为s的执行速度;
[0013] 步骤1‑2:计算任务ti的子截止时间sdi:
[0014]
[0015] 其中,D为用户指定的截止时间,CPL为工作流的关键路径长度;
[0016] 步骤1‑3:计算任务tj的δj值:
[0017]
[0018] 其中,δj是一个表示计算δ‑alapj时是否考虑到tj的数据传输时间的布尔变量,rand()是一个返回值为[0,1)内随机数的函数,datai,j/bw越大,δj返回0的概率越大;
[0019] 步骤1‑4:根据下式计算任务的δ‑alap值:
[0020]
[0021] 步骤1‑5:计算每个任务的子截止时间:
[0022]
[0023] 其中,δ‑sdi表示第i个任务的子截止时间。
[0024] 在本发明的云中满足截止时间约束且优化成本的工作流调度方法中,所述步骤3具体包括:
[0025] 步骤3‑1:候选虚拟机包括已在解决方案中使用过的所有虚拟机,以及尚未使用过但可以随时添加到序列中的虚拟机,虚拟机选择的第一标准是选择满足子截止时间并使成
本增量最低的虚拟机;
[0026] 步骤3‑2:当没有虚拟机可以满足子截止时间时,选择虚拟机的标准是从资源池中选择完成该任务时间最短的虚拟机;
[0027] 步骤3‑3:如果所选的虚拟机不是最快的类型,尝试将其类型设置为更快的级别,并更新部署在其上的每个任务的完成时间。
[0028] 本发明的目的是提供一种云中满足截止时间约束且优化成本的工作流调度方法,方法由分配截止时间、任务排序、虚拟机选择三个阶段组成。通过三阶段式的任务调度过
程,有效地控制了工作流的完成时间并优化了成本。实验结果表明,DCCO具有最高的成功
率,且满足截止时间约束,同时可以优化执行成本。

附图说明

[0029] 图1是本发明的一种云中满足截止时间约束且优化成本的工作流调度方法的流程图。

具体实施方式

[0030] 本发明研究的问题是在满足用户给定的截止时间约束的前提下,找到一种更廉价的云中工作流调度方法。提出了一种云环境中满足截止时间约束且优化成本的工作流调度
方法。
[0031] 云计算使用虚拟化技术将云平台中的各类资源虚拟化为资源池以便进行统一的管理和服务。IaaS供应商向用户提供一个类似于Amazon EC2的虚拟机S={s1,s2,…,
sl,…},这些虚拟机具有不同的处理速度和成本。一般来说,虚拟机的处理速度越快,费用
也会越高。反之,虚拟机的处理速度越慢,则费用越低。
[0032] 本发明提出一种云环境中满足截止时间约束且优化成本的工作流调度方法。策略由分配截止时间、任务排序、虚拟机选择三个阶段组成。通过三阶段式的任务调度过程,有
效地控制了工作流的完成时间并优化了成本。实验结果表明,该方法具有最高的成功率,且
满足截止时间约束,同时可以优化执行成本。具体包括如下步骤:
[0033] 步骤1:将云中服务器的整个工作流的截止时间基于δ‑alap分配给每一个任务,从而形成子截止时间;
[0034] 所述步骤1具体包括:
[0035] 步骤1‑1:根据下式计算任务ti的alap值:
[0036]
[0037] 其中,alapi是ti的alap值,alap值表示在不影响工作流的关键路径的前提下,任务的执行开始时间可以延迟多久的度量,alap的初始值根据工作流首个执行的任务确定;tj
为ti的子任务,任务tj必须在任务ti完成并且数据传输完毕之后才能开始执行,datai,j代表
*
任务ti发送至任务tj的数据的大小;bw为任务之间的带宽,wi为ti的计算工作量,s 为执行速
* *
度最快的虚拟机,p(s)为s的执行速度;
[0038] 步骤1‑2:计算任务ti的子截止时间sdi:
[0039]
[0040] 其中,D为用户指定的截止时间,CPL为工作流的关键路径长度;
[0041] 步骤1‑3:计算任务tj的δj值:
[0042]
[0043] 其中,δj是一个表示计算δ‑alapj时是否考虑到tj的数据传输时间的布尔变量,rand()是一个返回值为[0,1)内随机数的函数,datai,j/bw越大,δj返回0的概率越大;
[0044] 步骤1‑4:根据下式计算任务的δ‑alap值:
[0045]
[0046] 步骤1‑5:计算每个任务的子截止时间:
[0047]
[0048] 其中,δ‑sdi表示第i个任务的子截止时间。
[0049] 步骤2:对工作流中的各任务基于子截止时间进行排序,从而形成一个有序的任务队列;
[0050] 步骤3:依次为任务队列中的每个任务分配虚拟机,使其满足截止时间约束且成本降低,所述步骤3具体包括:
[0051] 步骤3‑1:候选虚拟机包括已在解决方案中使用过的所有虚拟机,以及尚未使用过但可以随时添加到序列中的虚拟机,虚拟机选择的第一标准是选择满足子截止时间并使成
本增量最低的虚拟机;
[0052] 步骤3‑2:当没有虚拟机可以满足子截止时间时,选择虚拟机的标准是从资源池中选择完成该任务时间最短的虚拟机;
[0053] 步骤3‑3:如果所选的虚拟机不是最快的类型,尝试将其类型设置为更快的级别,并更新部署在其上的每个任务的完成时间。
[0054] 以上所述仅为本发明的较佳实施例,并不用以限制本发明的思想,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。