当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于工作流的云计算资源混合租赁方法技术

技术编号:14450633 阅读:89 留言:0更新日期:2017-01-18 12:06
本发明专利技术公开了一种基于工作流的云计算资源混合租赁方法,采用了基于时间区间的按需租赁和竞价租赁两种资源租赁模式。本发明专利技术主要包括两步骤:A)混合租赁模式的任务离线调度;C)任务在线运行动态调整。步骤A的主要特点在任务与虚拟机时间槽匹配时,提出单位时间成本优先规则,提高已租用虚拟机利用率,并通过混合按需租赁和竞价租赁计费模式降低总成本;步骤B的主要特点是针对按需租赁虚拟机,提出竞标价格动态调整策略和竞价失败容错机制,提高系统稳定性。本发明专利技术通过恰当的子任务浮动时间计算方法,虚拟机租赁模式选择,时间槽匹配方法,竞价策略和容错机制,充分降低了整个工作流应用的运行成本。

【技术实现步骤摘要】

本专利技术涉及一种基于工作流的云计算资源混合租赁方法,属于云计算资源调度

技术介绍
云计算是一个大规模的分布式计算模式,它将资源(如网络,服务器,存储,软件等)以服务的形式提供给用户。这些资源具有高度的扩展性,伸缩性和可用性且最大的优势在于,对于用户而言,能够快速的降低硬件成本和提升计算能力以及存储容量等,以极低的成本投入获得极高的计算质量。由于上述优点,许多公司和研究机构都将实时分析、科学计算应用等迁移到云计算中,以解决大规模数据量的数据处理问题。因此,如何实现计算或存储任务与所租赁的资源之间的合理分配对于用户来说是一个巨大挑战。在过去的e-science【1】研究中,研究人员提出了科学工作流,如今也简称为工作流。工作流应用由一系列计算任务和决定任务执行顺序的依赖关系组成,并以DAG图呈现。如今,大量的公司企业,研究机构也利用工作流应用实现大规模的复杂数据分析计算,工作流使研究者能够更容易地定义计算内容、数据和数据依赖关系。为了满足工作流较高的计算要求,更有效的执行任务,云计算技术提供了有力保障。云计算通过以服务的形式供应计算资源来实现效用计算,这也促使云服务提供商设计出多种商业模式。大多数提供商以按需计时收费的方式供应云计算资源(例如:虚拟机实例),此方法中单位时间资源价格固定,用户可以随时租赁或释放资源。另一些提供商允许用户以不同的收费机制获得计算资源,此方法中资源价格动态变化。亚马逊弹性云提出了一种竞价收费模式用于出售空闲计算资源,价格随市场驱动即市场供求关系变化而波动。当用户给出的竞标价格高于当前资源市场价格时,资源可被使用且以当前市场价格按时计费;当资源价格高于用户竞标价格时,提供商自动终止并收回资源,任务执行也将被终止。按需租赁和竞价租赁的计算机资源(虚拟机实例)有相同的配置和特性。按需租赁的特点在于能够提供稳定的计算能力,在租赁期内不会被终止;竞价租赁的特点在于平均价格远低于按需租赁,能够节省用户大量开支尤其是针对大规模科学计算工作流,但由于价格波动会导致虚拟机实例的终止,从而导致任务执行失败。目前,已有方法和项目专注于解决云环境下的工作流调度问题,以最小化总成本为优化目标的云计算资源调度问题研究也有不少。这些方法和项目主要分为离线调度、在线调度以及两者的整合三种。离线调度中主要采用单种租赁模式如按需租赁保证资源稳定不变;在线调度中有考虑竞价租赁模式和按需租赁的混合方法,且有许多研究解决了竞价型资源价格预测问题,但由于未涉及离线调度,资源利用率无法达到最大化,从而增加了运行总成本。两者整合的方法中也很少考虑竞价型这种租赁模式的资源。[1]Taylor,I.J.,Deelman,E.,Gannon,D.B.,Shields,M.:Workflowsfore-Science:ScientificWorkflowsforGrids.Springer,NewYork(2006)。
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术提供一种技术方案:为实现上述目的,本专利技术采用的技术方案为:一种基于工作流的云计算资源混合租赁方法,包括以下步骤:A.混合模式的任务离线调度:在工作流截止期约束条件下,根据每个任务的总处理时间采用基于活动的工作流关键路径求解方法计算每个任务的浮动时间和子截止期,将任务按其对应的子截止期排序后逐个取出,按最低单位时间成本优先规则计算所有可用虚拟机时间槽的优先级,将任务分配到具有最高优先级的虚拟机时间槽,若该任务为关键任务,则采用按需租赁模式;否则,根据任务总处理时间占浮动时间比例选择不同虚拟机租赁模式。B.任务在线运行动态调整:根据按需租赁虚拟机当前价格和竞价虚拟机当前价格给出竞标定价动态调整规则;当竞价型虚拟机实例因竞价失败导致实例终止时,启动一个按需租赁虚拟机实例重新执行该任务,更新其最早结束时间,并对所有后继任务按照步骤A中混合模式的任务离线调度方法重新进行调度。优选的:所述步骤A中每个任务的总处理时间包括数据传输时间、虚拟机启动准备时间和任务执行时间,其中数据传输时间记为所有前驱任务数据传输至当前任务的时间最大值。所述任务执行时间确定方法:计算工作流中每个任务在不同虚拟机类型上的执行时间和执行成本,以在不违反工作流截止期约束的前提下最小化虚拟机总租赁成本为目标,不考虑区间计费的约束,将最小化虚拟机总租赁成本简化为整数规划问题的最小化虚拟机总租赁成本,求解得到每个任务选择的虚拟机类型,从而确定任务执行时间。优选的:所述步骤A中根据每个任务的总处理时间采用基于活动的工作流关键路径求解方法计算每个任务浮动时间和子截止期的方法,根据步骤A中计算出的每个任务的总处理时间,正反向两次遍历计算出每个任务的最早开始时间、最早结束时间、最晚开始时间和最晚结束时间,任务浮动时间记为最晚开始时间和最早开始时间的差值,并令最晚结束时间为该任务的子截止期,具体包括以下步骤:A1.对任务集合V中各任务vi,将任务总处理时间初始化为数据传输时间、虚拟机准备时间和任务执行时间之和,其中数据传输时间为该任务所有前驱节点任务数据传输至当前节点时间最大值。A2.初始化i=0;A3.若i<N+2,转步骤A4;否则,转步骤A8;A4.若Predi不为空,转步骤A5;否则,转步骤A6;A5.计算A6.计算A7.i=i+1,转步骤A3;A8.初始化i=N+1;A9.若i≥0,转步骤A10;否则,转步骤A13;A10.若Succi不为空,转步骤A11;否则,转步骤A12;A11.计算A12.计算A13.计算转步骤A9;A14.计算任务浮动时间A15.设置每个子任务的截止期为优选的:所述步骤A中最低单位时间成本优先规则的计算方式如下:1)根据时间槽所在虚拟机类型,计算得出任务执行时间并将任务总处理时间初始化为该执行时间;2)判断是否为新启动的虚拟机,若是,则将虚拟机启动准备时间添加至任务总处理时间;3)计算所有前驱任务节点数据传输到该时间槽所在虚拟机的时间最大值,添加至任务总处理时间,若在同一台虚拟机上,则传输时间为0;最终得出任务在该时间槽上的总处理时间,将该总处理时间乘以时间槽所在虚拟机类型的单价并除以任务执行时间获得任务在该时间槽上执行的单位时间成本。优选的:所述步骤A中任务可用的虚拟机时间槽的类型包括以下三种:1、正在运行的实例,后续没有任务分配;2、正在运行的实例,后续已有任务分配;3、新启动的虚拟机实例。当任务优先级最高时间槽类型为正在运行的实例后续没有任务分配;或者正在运行的实例后续已有任务分配时,将虚拟机类型标记为按需租赁模式;当任务优先级最高时间槽类型为新启动的虚拟机实例时,判断该任务的总处理时间占浮动时间的比例与给定比例P的大小,若小于P,则虚拟机类型标记为竞价租赁模式;否则,标记为按需租赁模式。优选的:竞标定价动态调整规则采用如下公式:FP=FTP′bid/TT]]>ε=β*FPPbid=ε*Pod+(1-ε)*Pspot其中,FP指当竞标价格定为P′bid时,竞标失败的概率,P′bid表示上一阶段给出的竞标价格;指竞标价格为P′bid时竞标失败总时间,TT表示历史价格数据总时间跨度,ε表示中间变量,β为给定参数,表示历史失败概率在价格调整过程本文档来自技高网
...

【技术保护点】
一种基于工作流的云计算资源混合租赁方法,其特征在于,包括以下步骤:A.混合模式的任务离线调度:在工作流截止期约束条件下,根据每个任务的总处理时间采用基于活动的工作流关键路径求解方法计算每个任务的浮动时间和子截止期,将任务按其对应的子截止期排序后逐个取出,按最低单位时间成本优先规则计算所有可用虚拟机时间槽的优先级,将任务分配到具有最高优先级的虚拟机时间槽,若该任务为关键任务,则采用按需租赁模式;否则,根据任务总处理时间占浮动时间比例选择不同虚拟机租赁模式;B.任务在线运行动态调整:根据按需租赁虚拟机当前价格和竞价虚拟机当前价格给出竞标定价动态调整规则;当竞价型虚拟机实例因竞价失败导致实例终止时,启动一个按需租赁虚拟机实例重新执行该任务,更新其最早结束时间,并对所有后继任务按照步骤A中混合模式的任务离线调度方法重新进行调度。

【技术特征摘要】
1.一种基于工作流的云计算资源混合租赁方法,其特征在于,包括以下步骤:A.混合模式的任务离线调度:在工作流截止期约束条件下,根据每个任务的总处理时间采用基于活动的工作流关键路径求解方法计算每个任务的浮动时间和子截止期,将任务按其对应的子截止期排序后逐个取出,按最低单位时间成本优先规则计算所有可用虚拟机时间槽的优先级,将任务分配到具有最高优先级的虚拟机时间槽,若该任务为关键任务,则采用按需租赁模式;否则,根据任务总处理时间占浮动时间比例选择不同虚拟机租赁模式;B.任务在线运行动态调整:根据按需租赁虚拟机当前价格和竞价虚拟机当前价格给出竞标定价动态调整规则;当竞价型虚拟机实例因竞价失败导致实例终止时,启动一个按需租赁虚拟机实例重新执行该任务,更新其最早结束时间,并对所有后继任务按照步骤A中混合模式的任务离线调度方法重新进行调度。2.根据权利要求1所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤A中每个任务的总处理时间包括数据传输时间、虚拟机启动准备时间和任务执行时间,其中数据传输时间记为所有前驱任务数据传输至当前任务的时间最大值;所述任务执行时间确定方法:计算工作流中每个任务在不同虚拟机类型上的执行时间和执行成本,以在不违反工作流截止期约束的前提下最小化虚拟机总租赁成本为目标,不考虑区间计费的约束,将最小化虚拟机总租赁成本简化为整数规划问题的最小化虚拟机总租赁成本,求解得到每个任务选择的虚拟机类型,从而确定任务执行时间。3.根据权利要求2所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤A中根据每个任务的总处理时间采用基于活动的工作流关键路径求解方法计算每个任务浮动时间和子截止期的方法,根据步骤A中计算出的每个任务的总处理时间,正反向两次遍历计算出每个任务的最早开始时间、最早结束时间、最晚开始时间和最晚结束时间,任务浮动时间记为最晚开始时间和最早开始时间的差值,并令最晚结束时间为该任务的子截止期。4.根据权利要求3所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤A中根据每个任务的总处理时间采用基于活动的工作流关键路径求解方法计算每个任务浮动时间和子截止期的方法,包括以下步骤:A1.对任务集合V中各任务vi,将任务总处理时间初始化为数据传输时间、虚拟机准备时间和任务执行时间之和,其中数据传输时间为该任务所有前驱节点任务数据传输至当前节点时间最大值;A2.初始化i=0;A3.若i<N+2,转步骤A4;否则,转步骤A8;A4.若Predi不为空,转步骤A5;否则,转步骤A6;A5.计算A6.计算A7.i=i+1,转步骤A3;A8.初始化i=N+1;A9.若i≥0,转步骤A10;否则,转步骤A13;A10.若Succi不为空,转步骤A11;否则,转步骤A12;A11.计算A12.计算A13.计算i=i-1,转步骤A9;A14.计算任务浮动时间A15.设置每个子任务的截止期为5.根据权利要求2所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤A中最低单位时间成...

【专利技术属性】
技术研发人员:李小平陈俊良陈龙朱夏
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1