CN106339924A - 一种基于工作流的云计算资源混合租赁方法 - Google Patents
一种基于工作流的云计算资源混合租赁方法 Download PDFInfo
- Publication number
- CN106339924A CN106339924A CN201610755565.XA CN201610755565A CN106339924A CN 106339924 A CN106339924 A CN 106339924A CN 201610755565 A CN201610755565 A CN 201610755565A CN 106339924 A CN106339924 A CN 106339924A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- virtual machine
- type
- bidding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于工作流的云计算资源混合租赁方法,采用了基于时间区间的按需租赁和竞价租赁两种资源租赁模式。本发明主要包括两步骤:A)混合租赁模式的任务离线调度;C)任务在线运行动态调整。步骤A的主要特点在任务与虚拟机时间槽匹配时,提出单位时间成本优先规则,提高已租用虚拟机利用率,并通过混合按需租赁和竞价租赁计费模式降低总成本;步骤B的主要特点是针对按需租赁虚拟机,提出竞标价格动态调整策略和竞价失败容错机制,提高系统稳定性。本发明通过恰当的子任务浮动时间计算方法,虚拟机租赁模式选择,时间槽匹配方法,竞价策略和容错机制,充分降低了整个工作流应用的运行成本。
Description
技术领域
本发明涉及一种基于工作流的云计算资源混合租赁方法,属于云计算资源调度技术领域。
背景技术
云计算是一个大规模的分布式计算模式,它将资源(如网络,服务器,存储,软件等)以服务的形式提供给用户。这些资源具有高度的扩展性,伸缩性和可用性且最大的优势在于,对于用户而言,能够快速的降低硬件成本和提升计算能力以及存储容量等,以极低的成本投入获得极高的计算质量。由于上述优点,许多公司和研究机构都将实时分析、科学计算应用等迁移到云计算中,以解决大规模数据量的数据处理问题。因此,如何实现计算或存储任务与所租赁的资源之间的合理分配对于用户来说是一个巨大挑战。
在过去的e-science【1】研究中,研究人员提出了科学工作流,如今也简称为工作流。工作流应用由一系列计算任务和决定任务执行顺序的依赖关系组成,并以DAG图呈现。如今,大量的公司企业,研究机构也利用工作流应用实现大规模的复杂数据分析计算,工作流使研究者能够更容易地定义计算内容、数据和数据依赖关系。为了满足工作流较高的计算要求,更有效的执行任务,云计算技术提供了有力保障。
云计算通过以服务的形式供应计算资源来实现效用计算,这也促使云服务提供商设计出多种商业模式。大多数提供商以按需计时收费的方式供应云计算资源(例如:虚拟机实例),此方法中单位时间资源价格固定,用户可以随时租赁或释放资源。另一些提供商允许用户以不同的收费机制获得计算资源,此方法中资源价格动态变化。亚马逊弹性云提出了一种竞价收费模式用于出售空闲计算资源,价格随市场驱动即市场供求关系变化而波动。当用户给出的竞标价格高于当前资源市场价格时,资源可被使用且以当前市场价格按时计费;当资源价格高于用户竞标价格时,提供商自动终止并收回资源,任务执行也将被终止。
按需租赁和竞价租赁的计算机资源(虚拟机实例)有相同的配置和特性。按需租赁的特点在于能够提供稳定的计算能力,在租赁期内不会被终止;竞价租赁的特点在于平均价格远低于按需租赁,能够节省用户大量开支尤其是针对大规模科学计算工作流,但由于价格波动会导致虚拟机实例的终止,从而导致任务执行失败。
目前,已有方法和项目专注于解决云环境下的工作流调度问题,以最小化总成本为优化目标的云计算资源调度问题研究也有不少。这些方法和项目主要分为离线调度、在线调度以及两者的整合三种。离线调度中主要采用单种租赁模式如按需租赁保证资源稳定不变;在线调度中有考虑竞价租赁模式和按需租赁的混合方法,且有许多研究解决了竞价型资源价格预测问题,但由于未涉及离线调度,资源利用率无法达到最大化,从而增加了运行总成本。两者整合的方法中也很少考虑竞价型这种租赁模式的资源。
[1]Taylor,I.J.,Deelman,E.,Gannon,D.B.,Shields,M.:Workflows for e-Science:Scientific Workflows for Grids.Springer,New York(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
Pbid=ε*Pod+(1-ε)*Pspot
其中,FP指当竞标价格定为P′bid时,竞标失败的概率,P′bid表示上一阶段给出的竞标价格;指竞标价格为P′bid时竞标失败总时间,TT表示历史价格数据总时间跨度,ε表示中间变量,β为给定参数,表示历史失败概率在价格调整过程中所占权重,Pbid表示现在给出的竞标价格,Pod表示当前按需租赁虚拟机价格,Pspot表示当前竞价型虚拟机价格,而初始竞标价格定为α*Pod,α为给定参数。
优选的:所述步骤A中混合模式的任务离线调度方法,包括以下步骤:
步骤s601,对工作流中每个任务进行计算,将任务总处理时间添加到每个任务的总处理时间中;据此,计算任务vi在各虚拟机类型δt上的总处理时间pi,t和处理代价ci,t,将原问题按照区间计费的约束删除,简化为类型决策问题,采用整数规划对该类型决策问题建模得到整数规划问题的最小化虚拟机总租赁成本。
步骤s602,对整数规划问题的最小化虚拟机总租赁成本求解,所得解为R,R给出了每个子任务选择的虚拟机类型;其中表示R中任务vi的虚拟机类型。
步骤s603,根据每个子任务选择的虚拟机类型R计算每个任务的执行时间,并将任务总处理时间初始化为数据传输时间、虚拟机启动准备时间和任务执行时间之和。
步骤s604,根据步骤s603中计算出的每个任务的总处理时间,正反向两次遍历计算出计算每个任务的最早开始时间最晚开始时间最早结束时间最晚结束时间任务浮动时间并令最晚结束时间为该任务的子截止期
步骤s605,初始化已就绪的任务集为仅包含开始任务的集合{ventry},计算中各任务的最早开始时间。
步骤s606,判断任务集是否为空,若是,转步骤s614;否则对任务集中的任务按照子截止期从小到大进行排序生成任务优先级队列,取出首个任务vt作为即将进行调度的任务。
步骤s607,添加一个类型为的虚拟机实例至已租用的资源池P中。
步骤s608,根据任务vt的最早开始时间和子截止期得出任务vt当前可用的时间槽集合
步骤s609,对时间槽集合中的每个时间槽slot,根据优先级规则计算其优先级值并选取具有最小优先级值的时间槽类型slots。
步骤s610,若时间槽类型slots为正在运行的实例后续没有任务分配;或者正在运行的实例后续已有任务分配时,将虚拟机类型标记为按需租赁模式,转步骤s613;否则,转步骤s611。
步骤s611,判断任务浮动时间是否为0,若否,转步骤s612;否则,将时间槽类型slots所在虚拟机标记为按需租赁,转步骤s614。
步骤s612,判断是否小于P,P表示,若是,将时间槽类型slots所在虚拟机标记为竞价租赁;否则,将时间槽类型slots所在虚拟机标记为按需租赁。
步骤s613,移除资源池P中未使用的虚拟机实例,更新任务集,转步骤s606。
步骤s614,方法结束。
优选的:所述步骤s609中优先级值计算方法为:
s60901,根据每个时间槽slot所在虚拟机类型,计算得出任务vt的任务执行时间初始化任务总处理时间
s60902,判断每个时间槽slot所在虚拟机是否为新启动的虚拟机,若是,则表示类型为的虚拟机的启动准备时间。
s60903,其中,Tj,t为vj到vt的数据传输时间。
s60904,表示所选类型虚拟机当前按需租赁单价。
有益效果:本发明提供的一种基于工作流的云计算资源混合租赁方法,相比现有技术,具有以下有益效果:
本发明考虑多种因素(已租用VM间隔重用,VM启动准备时间,数据传输时间等),并采用两种虚拟机租赁模式(按需租赁和竞价租赁),最大化按需租赁VM的使用率,混合使用竞价租赁VM,充分降低整个工作流的运行成本。本发明通过恰当的子任务浮动时间计算方法,虚拟机租赁模式选择,时间槽匹配方法,竞价策略和容错机制,充分降低了整个工作流应用的运行成本。
附图说明
图1是本发明实现基于工作流的云计算资源混合租赁方法的系统结构图;
图2是本发明实现基于工作流的云计算资源混合租赁方式的主体流程示意图;
图3是本发明混合租赁模式的任务离线调度部分的流程示意图;
图4是本发明任务在线运行动态调整中竞价调整部分的流程示意图;
图5是本发明任务在线运行动态调整中容错机制部分的流程示意图;
图6是本发明实施例实现实现混合模式的任务离线调度部分流程示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于工作流的云计算资源混合租赁方法,如图1所示,包括云服务提供商11、工作流应用12、工作流管理器13、工作流调度器14,已租赁资源池15,竞标价格产生器16,错误处理器17。云服务提供商向云服务用户提供资源租赁服务,资源租赁按时间区间计费。云服务用户通过租赁云服务提供商的资源完成自己的工作流应用。工作流调度器,竞标价格产生器和错误处理器为云服务用户提供混合租赁方式以及动态调整机制,帮助用户在不违反工作流应用截止期约束条件下最小化运行总成本。
工作流G={V,E}是一个有向无环图,其中V={ventry,v1,…vN,vexit}为任务集合,其中ventry和vexit为添加的虚任务,E={e(i,j)|i<j}是各任务间的偏序约束,即vj不能在vi完成之前开始,e(i,j)表示vi到vj的数据传输时间,Predi和Succi分别为任务vi的前驱任务集合和后继任务集合;D表示工作流截止期。
当用户提交一个工作流G={V,E}后,工作流调度器负责将工作流包含的任务V={ventry,v1,…vN,vexit}以最合适的方式与虚拟机实例时间槽slot进行匹配同时选择不同虚拟机租赁模式,在满足截止期约束条件下最小化总运行成本。工作流管理器根据工作流调度器的离线调度结果,租赁云服务提供商的资源。在实际运行过程中,对于离线调度结果中采用竞价租赁模式的任务,根据竞标价格产生器动态调整竞标价格。对于竞标失败任务,错误处理器从云服务提供商处按需租赁一个新虚拟机实例,重新执行该任务。工作流调度器对错误任务所有后继任务进行重新调度,产生调度结果,继续执行,直至所有任务执行完成。
包括以下步骤:
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.计算i=i-1,转步骤A9;
A14.计算任务浮动时间
A15.设置每个子任务的截止期为
所述步骤A中最低单位时间成本优先规则的计算方式如下:1)根据时间槽所在虚拟机类型,计算得出任务执行时间并将任务总处理时间初始化为该执行时间;2)判断是否为新启动的虚拟机,若是,则将虚拟机启动准备时间添加至任务总处理时间;3)计算所有前驱任务节点数据传输到该时间槽所在虚拟机的时间最大值,添加至任务总处理时间,若在同一台虚拟机上,则传输时间为0;最终得出任务在该时间槽上的总处理时间,将该总处理时间乘以时间槽所在虚拟机类型的单价并除以任务执行时间获得任务在该时间槽上执行的单位时间成本。
所述步骤A中任务可用的虚拟机时间槽的类型包括以下三种:1、正在运行的实例,后续没有任务分配;2、正在运行的实例,后续已有任务分配;3、新启动的虚拟机实例。
当任务优先级最高时间槽类型为正在运行的实例后续没有任务分配;或者正在运行的实例后续已有任务分配时,将虚拟机类型标记为按需租赁模式;当任务优先级最高时间槽类型为新启动的虚拟机实例时,判断该任务的总处理时间占浮动时间的比例与给定比例P的大小,若小于P,则虚拟机类型标记为竞价租赁模式;否则,标记为按需租赁模式。
B.任务在线运行动态调整:根据按需租赁虚拟机当前价格和竞价虚拟机当前价格给出竞标定价动态调整规则;当竞价型虚拟机实例因竞价失败导致实例终止时,启动一个按需租赁虚拟机实例重新执行该任务,更新其最早结束时间,并对所有后继任务按照步骤A中混合模式的任务离线调度方法重新进行调度。
初始竞标价格定为α*Pod,α为给定参数,Pod为当前同类型虚拟机按需租赁价格。α越大,表示初始竞标价格越接近按需租赁,竞标定价动态调整规则采用如下公式:
ε=β*FP
Pbid=ε*Pod+(1-ε)*Pspot
其中,FP指当竞标价格定为P′bid时,竞标失败的概率,P′bid表示上一阶段给出的竞标价格;指竞标价格为P′bid时竞标失败总时间,TT表示历史价格数据总时间跨度,ε表示中间变量,β为给定参数,表示历史失败概率在价格调整过程中所占权重。β取越大,价格调整的幅度越大,尤其是当上一次竞标价格在历史中失败概率大时,竞标价格可以更快地接近按需租赁价格,减少竞价失败概率。Pbid表示现在给出的竞标价格,Pod表示当前按需租赁虚拟机价格,Pspot表示当前竞价型虚拟机价格。
如图6所示,实现混合模式的任务离线调度部分的任务离线调度方法,包括以下步骤:
步骤s601,对工作流中每个任务进行计算,假定任务总处理时间均包含数据传输时间和虚拟机启动准备时间。首先我们将数据传输时间和虚拟机启动准备时间添加到每个任务的总处理时间中。据此,计算任务vi在各虚拟机类型δt上的总处理时间pi,t和处理代价ci,t,将原问题按照区间计费的约束删除,简化为类型决策问题,采用整数规划(IP)对该类型决策问题建模得到整数规划问题的最小化虚拟机总租赁成本。
步骤s602,采用整数规划求解器,例如用CPLEX对该简化的问题求近似最优解,对整数规划问题的最小化虚拟机总租赁成本求解,所得解为R,R给出了每个子任务选择的虚拟机类型;其中表示R中任务vi的虚拟机类型。
步骤s603,根据每个子任务选择的虚拟机类型R计算每个任务的执行时间,并将任务总处理时间初始化为数据传输时间、虚拟机启动准备时间和任务执行时间之和。
步骤s604,根据步骤s603中计算出的每个任务的总处理时间,正反向两次遍历计算出计算每个任务的最早开始时间最晚开始时间最早结束时间最晚结束时间任务浮动时间并令最晚结束时间为该任务的子截止期
具体步骤包括:
s60401.初始化i=0;
s60402.若i<N+2,转步骤s60403;否则,转步骤s60407;
s60403.若不为空,转步骤s60404,;否则,转步骤s60405;
s60404.计算
s60405.计算
s60406.i=i+1,转步骤s60402;
s60407.初始化i=N+1;
s60408.若i≥0,转步骤s60409;否则,转步骤s60414;
s60409.若Succi不为空,转步骤s60410;否则,转步骤s60411;
s60410.计算
s60411.计算
s60412.计算i=i-1,转步骤s60408;
s60413.计算任务浮动时间
s60414.设置每个子任务的截止期为
步骤s605,初始化已就绪的任务集为仅包含开始任务的集合{ventry},计算中各任务的最早开始时间。
步骤s606,判断任务集是否为空,若是,转步骤s614;否则对任务集中的任务按照子截止期从小到大进行排序生成任务优先级队列,取出首个任务vt作为即将进行调度的任务。
步骤s607,添加一个类型为的虚拟机实例至已租用的资源池P中。
步骤s608,根据任务vt的最早开始时间和子截止期得出任务vt当前可用的时间槽集合
步骤s609,对时间槽集合中的每个时间槽slot,根据优先级规则计算其优先级值并选取具有最小优先级值的时间槽类型slots。
所述步骤s609中优先级值计算方法为:
s60901,根据每个时间槽slot所在虚拟机类型,计算得出任务vt的任务执行时间初始化任务总处理时间
s60902,判断每个时间槽slot所在虚拟机是否为新启动的虚拟机,若是,则表示类型为的虚拟机的启动准备时间。
s60903,其中,Tj,t为vj到vt的数据传输时间。
s60904,表示所选类型虚拟机当前按需租赁单价。
步骤s610,若时间槽类型slots为正在运行的实例后续没有任务分配;或者正在运行的实例后续已有任务分配时,将虚拟机类型标记为按需租赁模式,转步骤s613;否则,转步骤s611。
步骤s611,判断任务浮动时间是否为0,若否,转步骤s612;否则,将时间槽类型slots所在虚拟机标记为按需租赁,转步骤s614。
步骤s612,判断是否小于P,P表示,若是,将时间槽类型slots所在虚拟机标记为竞价租赁;否则,将时间槽类型slots所在虚拟机标记为按需租赁。
步骤s613,移除资源池P中未使用的虚拟机实例,更新任务集,转步骤s606。
步骤s614,方法结束。
通过上述过程,本发明实现云环境资源模式动态选择,在有效保证了系统性能的情况下,最小化了系统总资源的租赁成本。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
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中最低单位时间成本优先规则的计算方式如下:1)根据时间槽所在虚拟机类型,计算得出任务执行时间并将任务总处理时间初始化为该执行时间;2)判断是否为新启动的虚拟机,若是,则将虚拟机启动准备时间添加至任务总处理时间;3)计算所有前驱任务节点数据传输到该时间槽所在虚拟机的时间最大值,添加至任务总处理时间,若在同一台虚拟机上,则传输时间为0;最终得出任务在该时间槽上的总处理时间,将该总处理时间乘以时间槽所在虚拟机类型的单价并除以任务执行时间获得任务在该时间槽上执行的单位时间成本。
6.根据权利要求1所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤A中任务可用的虚拟机时间槽的类型包括以下三种:1、正在运行的实例,后续没有任务分配;2、正在运行的实例,后续已有任务分配;3、新启动的虚拟机实例;
当任务优先级最高时间槽类型为正在运行的实例后续没有任务分配;或者正在运行的实例后续已有任务分配时,将虚拟机类型标记为按需租赁模式;当任务优先级最高时间槽类型为新启动的虚拟机实例时,判断该任务的总处理时间占浮动时间的比例与给定比例P的大小,若小于P,则虚拟机类型标记为竞价租赁模式;否则,标记为按需租赁模式。
7.根据权利要求1所述的基于工作流的云计算资源混合租赁方法,其特征在于:竞标定价动态调整规则采用如下公式:
ε=β*FP
Pbid=ε*Pod+(1-ε)*Pspot
其中,FP指当竞标价格定为P′bid时,竞标失败的概率,P′bid表示上一阶段给出的竞标价格;指竞标价格为P′bid时竞标失败总时间,TT表示历史价格数据总时间跨度,ε表示中间变量,β为给定参数,表示历史失败概率在价格调整过程中所占权重,Pbid表示现在给出的竞标价格,Pod表示当前按需租赁虚拟机价格,Pspot表示当前竞价型虚拟机价格,而初始竞标价格定为α*Pod,α为给定参数。
8.根据权利要求1所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤A中混合模式的任务离线调度方法,包括以下步骤:
步骤s601,对工作流中每个任务进行计算,将任务总处理时间添加到每个任务的总处理时间中;据此,计算任务vi在各虚拟机类型δt上的总处理时间pi,t和处理代价ci,t,将原问题按照区间计费的约束删除,简化为类型决策问题,采用整数规划对该类型决策问题建模得到整数规划问题的最小化虚拟机总租赁成本;
步骤s602,对整数规划问题的最小化虚拟机总租赁成本求解,所得解为R,R给出了每个子任务选择的虚拟机类型;其中表示R中任务vi的虚拟机类型;
步骤s603,根据每个子任务选择的虚拟机类型R计算每个任务的执行时间,并将任务总处理时间初始化为数据传输时间、虚拟机启动准备时间和任务执行时间之和;
步骤s604,根据步骤s603中计算出的每个任务的总处理时间,正反向两次遍历计算出计算每个任务的最早开始时间最晚开始时间最早结束时间最晚结束时间任务浮动时间并令最晚结束时间为该任务的子截止期
步骤s605,初始化已就绪的任务集θ为仅包含开始任务的集合{ventry},计算θ中各任务的最早开始时间;
步骤s606,判断任务集θ是否为空,若是,转步骤s614;否则对任务集θ中的任务按照子截止期从小到大进行排序生成任务优先级队列,取出首个任务vt作为即将进行调度的任务;
步骤s607,添加一个类型为的虚拟机实例至已租用的资源池P中;
步骤s608,根据任务vt的最早开始时间和子截止期得出任务vt当前可用的时间槽集合
步骤s609,对时间槽集合中的每个时间槽slot,根据优先级规则计算其优先级值并选取具有最小优先级值的时间槽类型slots;
步骤s610,若时间槽类型slots为正在运行的实例后续没有任务分配;或者正在运行的实例后续已有任务分配时,将虚拟机类型标记为按需租赁模式,转步骤s613;否则,转步骤s611;
步骤s611,判断任务浮动时间是否为0,若否,转步骤s612;否则,将时间槽类型slots所在虚拟机标记为按需租赁,转步骤s614;
步骤s612,判断是否小于P,P表示,若是,将时间槽类型slots所在虚拟机标记为竞价租赁;否则,将时间槽类型slots所在虚拟机标记为按需租赁;
步骤s613,移除资源池P中未使用的虚拟机实例,更新任务集θ,转步骤s606;步骤s614,方法结束。
9.根据权利要求1所述的基于工作流的云计算资源混合租赁方法,其特征在于:所述步骤s609中优先级值计算方法为:
s60901,根据每个时间槽slot所在虚拟机类型,计算得出任务vt的任务执行时间初始化任务总处理时间
s60902,判断每个时间槽slot所在虚拟机是否为新启动的虚拟机,若是,则表示类型为的虚拟机的启动准备时间;
s60903,其中,Tj,t为vj到vt的数据传输时间;
s60904, 表示所选类型虚拟机当前按需租赁单价。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610755565.XA CN106339924A (zh) | 2016-08-29 | 2016-08-29 | 一种基于工作流的云计算资源混合租赁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610755565.XA CN106339924A (zh) | 2016-08-29 | 2016-08-29 | 一种基于工作流的云计算资源混合租赁方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106339924A true CN106339924A (zh) | 2017-01-18 |
Family
ID=57823234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610755565.XA Pending CN106339924A (zh) | 2016-08-29 | 2016-08-29 | 一种基于工作流的云计算资源混合租赁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339924A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628665A (zh) * | 2018-05-16 | 2018-10-09 | 天津科技大学 | 基于数据密集型科学工作流的任务调度与虚拟机整合方法 |
CN109522107A (zh) * | 2018-10-25 | 2019-03-26 | 陕西师范大学 | 一种面向时空约束的任务分配方法及系统 |
CN109740870A (zh) * | 2018-12-17 | 2019-05-10 | 南京理工大学 | 云计算环境下Web应用的资源动态调度方法 |
CN109784663A (zh) * | 2018-12-20 | 2019-05-21 | 西北大学 | 一种工作流调度方法与装置 |
CN109828821A (zh) * | 2018-12-17 | 2019-05-31 | 南京理工大学 | 云环境下基于批任务工作流的虚拟机动态租赁与调度方法 |
CN110034963A (zh) * | 2019-04-18 | 2019-07-19 | 南京邮电大学盐城大数据研究院有限公司 | 一种应用集群自适应的弹性配置方法 |
CN111950835A (zh) * | 2019-12-06 | 2020-11-17 | 中国人民解放军国防科技大学 | 基于竞价型实例的截止期约束工作流资源调度方法 |
CN112667401A (zh) * | 2020-12-29 | 2021-04-16 | 深圳大普微电子科技有限公司 | 一种资源分配方法、系统及设备 |
CN113064710A (zh) * | 2021-04-15 | 2021-07-02 | 北京理工大学 | 一种云工作流调度方法及系统 |
CN113064711A (zh) * | 2021-04-15 | 2021-07-02 | 北京理工大学 | 一种在线多工作流动态调度方法和系统 |
EP4209908A1 (en) * | 2022-01-05 | 2023-07-12 | Tata Consultancy Services Limited | Method and system for secure scheduling of workflows and virtual machine utilization in cloud |
WO2023201847A1 (zh) * | 2022-04-21 | 2023-10-26 | 跬云(上海)信息科技有限公司 | 用于企业上云的计算资源配置方法及装置 |
WO2024037618A1 (zh) * | 2022-08-18 | 2024-02-22 | 华为云计算技术有限公司 | 基于公有云的云资源转换方法及云管理平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066222A (ja) * | 2005-09-02 | 2007-03-15 | Nec System Technologies Ltd | グリッドコンピューティングシステム、ispサーバ、課金方法及びプログラム |
CN105721565A (zh) * | 2016-01-29 | 2016-06-29 | 南京邮电大学 | 基于博弈的云计算资源分配方法和系统 |
-
2016
- 2016-08-29 CN CN201610755565.XA patent/CN106339924A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066222A (ja) * | 2005-09-02 | 2007-03-15 | Nec System Technologies Ltd | グリッドコンピューティングシステム、ispサーバ、課金方法及びプログラム |
CN105721565A (zh) * | 2016-01-29 | 2016-06-29 | 南京邮电大学 | 基于博弈的云计算资源分配方法和系统 |
Non-Patent Citations (2)
Title |
---|
DEEPAK POOLA等: "Fault-Tolerant Workflow Scheduling Using Spot Instances on Clouds", 《PROCEDIA COMPUTER SCIENCE》 * |
蔡志成: "云计算环境下工作流应用的资源供应方法", 《万方学位论文全文数据库》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628665A (zh) * | 2018-05-16 | 2018-10-09 | 天津科技大学 | 基于数据密集型科学工作流的任务调度与虚拟机整合方法 |
CN109522107B (zh) * | 2018-10-25 | 2020-11-20 | 陕西师范大学 | 一种面向时空约束的任务分配方法及系统 |
CN109522107A (zh) * | 2018-10-25 | 2019-03-26 | 陕西师范大学 | 一种面向时空约束的任务分配方法及系统 |
CN109740870B (zh) * | 2018-12-17 | 2022-09-06 | 南京理工大学 | 云计算环境下Web应用的资源动态调度方法 |
CN109740870A (zh) * | 2018-12-17 | 2019-05-10 | 南京理工大学 | 云计算环境下Web应用的资源动态调度方法 |
CN109828821A (zh) * | 2018-12-17 | 2019-05-31 | 南京理工大学 | 云环境下基于批任务工作流的虚拟机动态租赁与调度方法 |
CN109784663A (zh) * | 2018-12-20 | 2019-05-21 | 西北大学 | 一种工作流调度方法与装置 |
CN109784663B (zh) * | 2018-12-20 | 2022-11-25 | 西北大学 | 一种工作流调度方法与装置 |
CN110034963A (zh) * | 2019-04-18 | 2019-07-19 | 南京邮电大学盐城大数据研究院有限公司 | 一种应用集群自适应的弹性配置方法 |
CN110034963B (zh) * | 2019-04-18 | 2022-06-17 | 南京邮电大学盐城大数据研究院有限公司 | 一种应用集群自适应的弹性配置方法 |
CN111950835A (zh) * | 2019-12-06 | 2020-11-17 | 中国人民解放军国防科技大学 | 基于竞价型实例的截止期约束工作流资源调度方法 |
CN112667401A (zh) * | 2020-12-29 | 2021-04-16 | 深圳大普微电子科技有限公司 | 一种资源分配方法、系统及设备 |
CN113064711A (zh) * | 2021-04-15 | 2021-07-02 | 北京理工大学 | 一种在线多工作流动态调度方法和系统 |
CN113064711B (zh) * | 2021-04-15 | 2022-09-20 | 北京理工大学 | 一种在线多工作流动态调度方法和系统 |
CN113064710A (zh) * | 2021-04-15 | 2021-07-02 | 北京理工大学 | 一种云工作流调度方法及系统 |
EP4209908A1 (en) * | 2022-01-05 | 2023-07-12 | Tata Consultancy Services Limited | Method and system for secure scheduling of workflows and virtual machine utilization in cloud |
WO2023201847A1 (zh) * | 2022-04-21 | 2023-10-26 | 跬云(上海)信息科技有限公司 | 用于企业上云的计算资源配置方法及装置 |
WO2024037618A1 (zh) * | 2022-08-18 | 2024-02-22 | 华为云计算技术有限公司 | 基于公有云的云资源转换方法及云管理平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339924A (zh) | 一种基于工作流的云计算资源混合租赁方法 | |
CN103338241B (zh) | 一种新的公有云架构及其虚拟化资源自适应配置方法 | |
CN108009023A (zh) | 混合云中基于bp神经网络时间预测的任务调度方法 | |
Ouelhadj et al. | A survey of dynamic scheduling in manufacturing systems | |
CN105260818B (zh) | 混合云环境下带截止日期约束工作流组的在线优化调度方法 | |
CN103699446A (zh) | 基于量子粒子群优化算法的多目标工作流动态调度方法 | |
CN107395733A (zh) | 地理分布交互服务云资源协同优化方法 | |
Durgadevi et al. | Resource allocation in cloud computing using SFLA and cuckoo search hybridization | |
CN104407912A (zh) | 一种虚拟机配置方法及装置 | |
Fiorotto et al. | Hybrid methods for lot sizing on parallel machines | |
CN108985709A (zh) | 面向多卫星数据中心协同遥感产品生产的工作流管理方法 | |
CN106789118A (zh) | 基于服务等级协议的云计算计费方法 | |
CN101685480A (zh) | 一种用于大电网安全稳定分析的并行计算方法和计算平台 | |
CN104793993B (zh) | 基于Levy飞行的人工蜂群粒子群算法的云计算任务调度方法 | |
CN108154317A (zh) | 多云环境下基于实例自适应分配整合的工作流组调度方法 | |
CN110321198A (zh) | 一种容器云平台计算资源与网络资源协同调度方法及系统 | |
CN106453557B (zh) | 一种IaaS服务中的双时间尺度用户动态竞价和资源管理算法 | |
CN109118063A (zh) | 基于单位时间分配的任务开发云平台 | |
CN106502790A (zh) | 一种基于数据分布的任务分配优化方法 | |
Chen et al. | Multi-objective robust optimal bidding strategy for a data center operator based on bi-level optimization | |
CN104869154A (zh) | 统筹资源可信度与用户满意度的分布式资源调度方法 | |
Li et al. | Cost-aware scheduling for ensuring software performance and reliability under heterogeneous workloads of hybrid cloud | |
Abada et al. | Auction-based scheduling of excess energy consumption to enhance grid upward flexibility | |
Abada et al. | Rebate auction mechanisms for bidirectional grid balancing using cloud workload migrations | |
CN109255515A (zh) | 一种基于页面计量和单位时间分配的任务开发云平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170118 |
|
WD01 | Invention patent application deemed withdrawn after publication |