一种云环境下的工作流应用弹性资源供应方法
【技术领域】
[0001] 本发明涉及一种云环境下的工作流应用弹性资源供应方法,属于云计算资源调度
技术领域。
【背景技术】
[0002] 基于分布式计算特别是网格计算的发展,产生了一种新型服务计算模型:云计算 (Cloud Computing)。云计算是一种能够通过网络以便利的、按需的方式访问一个可配置的 计算资源共享池的模式,这个资源共享池能以最少的管理开销和最少的与供应商的交互, 迅速配置、提供或释放资源。云计算的主要优势在于:能够迅速地降低硬件成本和提升计算 能力以及存储容量等;用户可以以极低的成本投入获得极高的计算品质,而不用再投资购 买昂贵的硬件设备,进行频繁的保养与升级。
[0003] 由于上述优点,许多公司和研宄机构都尝试将其实时分析、在线广告以及科学计 算应用等迀移到现有的商业云中,以解决数据量大规模增长时的数据处理问题。实现计算 或存储任务与所购买资源之间的合理映射对于用户来说是巨大的挑战。云的自缩放性质 (根据应用的体量随时获取或释放合适类型和数量的资源,按照被使用的情况计费)提供 了更加灵活的资源供应方案。过低的资源配置会导致系统性能的下降,造成截止期的拖延; 而过高的资源配置会造成空闲的时间槽,增加了不必要的开销。因此,用户需要提出一种合 理的资源自缩放策略以在保证系统性能的前提下节省租金开销。
[0004] 分析和科学计算应用是基于商业云的一类重要应用,通常需要求解大量的数据。 为了降低执行时间,可对数据进行划分,用并行任务求解。同时,这些应用也都是由多个顺 序步骤以及并行和顺序任务之间的数据传输组成的。这类包含并行和顺序任务的应用可用 工作流进行建模。同时,这些应用大多有截止期。因此,为了寻求资源租用开销和工作流完 工时间之间的平衡,云用户需要将工作流任务分派到适合类型和数目的VM实例上去。
[0005] 然而,由于在实际应用中,云环境的租用通常采用小时计费模式,并且需要考虑软 件准备时间、数据传输时间、复杂的网络结构以及任务的多样性等因素,资源供应和调度问 题就很难解决。
[0006] 目前已有方法和项目专注于解决云环境下复杂因素的工作流调度问题。然而这些 方法并没有考虑云计算环境中突发需求和限制情况下的动态调整策略,也很少考虑到实际 应用中大规模数据传输时间、软件单元切换时间等制约因素,因此不能够应用与本发明所 讨论的背景中。
【发明内容】
[0007] 发明目的:针对现有技术中存在的问题与不足,本发明提供一种云环境下的工作 流应用弹性资源供应方法,以在保证系统性能的前提下减少虚拟机租金。
[0008] 技术方案:一种云环境下的工作流应用弹性资源供应方法,包括以下步骤:
[0009] A.工作流截至期划分:计算工作流中的各任务在各虚拟机类型上的执行时间和 代价,以在不违反工作流截止期前提下最小化虚拟机总租赁成本为目标,不考虑区间计费 的约束,将工作流问题简化为整数规划问题,并求解得到每个任务选择的虚拟机类型,确定 任务执行时间;依据工作流截止期、任务间先序关系和任务执行时间,确定各任务截止期;
[0010] B.根据优先级规则进行任务调度:按照任务在工作流中的深度由小到大依次调 度任务,对于每个任务根据其截止期,基于优先级规则,计算所有虚拟机时间槽的优先级, 将任务分配到具有最高优先级的虚拟机时间槽,所述优先级规则包括最少的新租赁时间区 间优先,最低的总处理代价优先,以及最佳的任务处理时间与时间槽长度的匹配程度优先。
[0011] 所述步骤A中各任务在各虚拟机类型上的执行时间的包括数据传输时间、虚拟机 与软件准备时间。
[0012] 所述步骤A中依据工作流截止期、任务间先序关系和任务执行时间,确定各任务 截止期的具体步骤包括:
[0013] S1.对任务集合V中各任务V,将r/MM初始化为数据传输时间、VM准备时间、软件 准备时间和任务执行时间之和,计算每个任务的最早开始时间ESTV、最早结束时间EFT V* 最晚结束时间LFTV;
[0014] S2.采用关键路径生成方法迭代生成初始关键路径CP,CPti]表示CP的第i个任 务;
[0015] S3.判断CP是否为空,若为空,转步骤S10;否则,转步骤S4;
[0016] S4.计算CP的总时间浮动
【主权项】
1. 一种云环境下的工作流应用弹性资源供应方法,其特征在于,该方法包括以下步 骤: A. 工作流截至期划分:计算工作流中的各任务在各虚拟机类型上的执行时间和代价, 以在不违反工作流截止期前提下最小化虚拟机总租赁成本为目标,不考虑区间计费的约 束,将工作流问题简化为整数规划问题,并求解得到每个任务选择的虚拟机类型,确定任 务执行时间;依据工作流截止期、任务间先序关系和任务执行时间,确定各任务截止期; B. 根据优先级规则进行任务调度:按照任务在工作流中的深度由小到大依次调度任 务,对于每个任务根据其截止期,基于优先级规则,计算所有虚拟机时间槽的优先级,将任 务分配到具有最高优先级的虚拟机时间槽,所述优先级规则包括最少的新租赁时间区间优 先,最低的总处理代价优先,以及最佳的任务处理时间与时间槽长度的匹配程度优先。
2. 如权利要求1所述的云环境下的工作流应用弹性资源供应方法,其特征在于,所述 步骤A中各任务在各虚拟机类型上的执行时间的包括数据传输时间、虚拟机与软件准备时 间。
3. 如权利要求1所述的云环境下的工作流应用弹性资源供应方法,其特征在于,所述 步骤A中依据工作流截止期、任务间先序关系和任务执行时间,确定各任务截止期的具体 步骤包括:
51. 对任务集合V中各任务V,将初始化为数据传输时间、VM准备时间、软件准备 时间和任务执行时间之和,计算每个任务的最早开始时间ESTv、最早结束时间EFTv和最晚 结束时间LFTv;
52. 采用关键路径生成方法迭代生成初始关键路径CP,CPm表示CP的第i个任务;
53. 判断CP是否为空,若为空,转步骤SlO ;否则,转步骤S4 ;
54. 计算CP的总时间浮动
其中,CP,= CP/Vfi!7{CPm} ;,1 是 CP 的长度;
55. 判断是否大于0,若大于0,转步骤S6 ;否则,转步骤S12 ;
56. 初始化i = 1 ;
57. 判断i < 1,若是,转步骤S8 ;否则,转步骤Sll ;
58. 对CP中的任务CPK],判断CPw是否属于固定任务集合Vfix,其中固定任务集合V fix 为时间浮动满足EfTv + r/toai = LF7;的所有任务C组成的集合;若属于,转步骤SlO ;
59. 计算CPU]被分配的浮动
更新其时间 浮动
更新其后继任务的最早开始和最早结束时间; S10.更新 i = i+1 ; SI 1.更新V中所有任务的最晚结束时间和Vfix,转步骤S4 ;
512. 生成下一个关键路径CP,转步骤S3 ;
513. 设置每个任务的任务截止期\为£^7^
4. 如权利要求1所述的云环境下的工作流应用弹性资源供应方法,其特征在于,所述 步骤B中,包括: BI.初始化已准备好的任务集Θ为仅包含开始任务的集合{vj,计算6中各任务的最 早开始时间; B2.根据已准备好的任务集Θ中各任务的深度划分Θ为各子集,选择深度最小的子集 Θ s,对其中的任务根据执行时间进行非升序排序,选取其中第一个任务Lt作为即将进行调 度的任务;若v t为空,转步骤B5 ; B3.对于当前任务vt,将其选中的虚拟机类型的一个实例暂时添加至所述云环境中已 租用的虚拟机实例集合I中;根据任务的最早开始时间和截止期,得出\当前可用的时间 槽集合; B4.根据优先级规则,计算出任务\在中每个时间槽slot上的优先级值,包括根 据最少的新租赁时间区间优先规则得到的把^&,根据最低的总处理代价优先规则得到的 ,以及根据最佳的任务处理时间与时间槽长度的匹配程度优先规则得到的 通过将於。咏,Hi,&和砥。响按设定权重整合,得到 '在slot上的最终优先级值,选取 其中具有最高优先级的时间槽Slots,将任务Vt分配给slot s;移除I中未使用的VM实例; 更新已准备好的任务集Θ,如果Θ不为空,转步骤B2; B5.任务与虚拟机时间槽匹配结束,退出。
5. 如权利要求4所述的云环境下的工作流应用弹性资源供应方法,其特征在于,所述 Hit,Pt的计算方法为:1)计算vt在slot类型虚拟机上所需要的计费区间的个数,加上1, 得到所需的最大区间数;2)将\在slot上导致的实际新租赁时间片的个数除以步骤1)中 得到的最大区间数,从而得到略_。
6. 如权利要求4所述的云环境下的工作流应用弹性资源供应方法,其特征在于,所述 ^sLotlVt 的计算方法为: 首先,根据slot所在虚拟机类型,得出Vt的任务执行时间; 然后,查看是否是新租赁的虚拟机,如果是,则将虚拟机加载时间添加到任务执行时间 上;如果是已经有的虚拟机实例,则查看slot上是否有Vt需要的软件,如果没有,则将软件 的下载和安装时间添加到任务执行时间上; 最后,计算所有前序任务数据传输到该slot上的总时间,并添加到任务执行时间上, 得出Vt在该slot上的总处理时间,归一化后得到
7. 如权利要求4所述的云环境下的工作流应用弹性资源供应方法,其特征在于,所述 通过计算Vt分配到slot后任务两段浪费的时间得到,具体计算方法为:1)获取^在 slot上所占用连续计费区间的集合;2)计算Vt在所占用计费区间上的两端浪费之和;3)将 浪费之和除以两倍的计费区间长度,得到
【专利摘要】本发明公开了一种云环境下的工作流应用弹性资源供应方法,考虑了基于时间区间的按需收费模型、数据传输时间、虚拟机启动时间和软件安装(下载)时间等。本发明所公开的基于多规则的启发式方法(MRH)主要包括:A)子任务截止期划分;B)基于多规则的子任务与虚拟机时间槽的匹配方法;步骤A的主要特点是通过删除原问题的按区间计费的约束,将原问题简化,然后求解该问题的整数规划模型,得出每个子任务的截止期。步骤B其主要特点是提出三个考虑多因素的优先级规则,将任务与匹配到合适的虚拟机空闲时间槽。本发明通过恰当的子任务截止期划分和多规则的时间槽匹配方法,充分降低整个工作流应用的资源租赁成本。
【IPC分类】G06F9-50, G06F9-455
【公开号】CN104536806
【申请号】CN201410829648
【发明人】李小平, 蔡志成, 陈湉
【申请人】东南大学
【公开日】2015年4月22日
【申请日】2014年12月26日