基于预算约束的云服务工作流调度方法

文档序号:9249155阅读:648来源:国知局
基于预算约束的云服务工作流调度方法
【技术领域】
[0001] 本发明设及云计算调度技术领域,尤其设及一种基于预算约束的云服务工作流调 度方法。
【背景技术】
[0002] 云计算是一种W商业为主要推动力的计算模型和服务模式,从计算资源提供的角 度来看,它是将计算资源作为一种服务通过网络提供给用户的计算模式,用户W便捷和按 需扩展的方式来使用计算资源(包括数据软件硬件和网络带宽等),无须了解它提供过程 的细节。云计算提供的资源服务从具体应用角度分为S个层次,即软件即服务(Saa巧平台 即服务(Paa巧和基础设施即服务(laa巧该S个层次分别侧重于不同的应用,但是它们包 含着相同的问题,即资源调度问题。
[0003] 调度问题是云计算中的一个重要问题,直接关系到云服务的稳定性、资源的使用 效率、用户满意度和运营成本。因此,对云计算调度问题的研究无论从理论技术本身还是实 际应用价值方面都有非常重要的意义。与传统调度的研究重点不同,云资源W虚拟资源为 核屯、决定了云调度的研究侧重于虚拟资源调度。由于云计算的商业应用模式,现在的研究 多W降低成本、减少能耗等作为优化目标。
[0004] 云计算的用户根据服务标准协议(ServiceLevelAgreement)购买服务,该协议 规定了用户需求的服务质量(QualityofService)。现有的商业化云平台其收费通常按照 周期进行计费,例如一天、一小时等。即使用户使用服务不满一天/小时,也按一天/小时 来收取费用。
[0005] 在分布式系统下,大量科学应用的计算模型都是采用工作流来表示的。通常我们 采用有向无环图来表示工作流,其中每个节点表示一个计算任务,而每条有向线段表示计 算任务之间的偏序关系。云环境下的工作流(简称云工作流)计算模型大概描述如下:用 工作流模型来描述云计算中的计算任务,用户通过调度器来得出一套方案:采取按需(on demand)方式租用资源,租用多少种不同型号的资源,如何将任务分配到不同的资源(如不 同处理能力的虚拟机)上从而达到最小化任务工期或者最小化成本,确定方案之后,按照 需求租用虚拟机。作为分布式系统下的服务提供模型,基础设备即服务(laas)对于执行科 学计算的工作流,有很多潜在的优势。首先用户可W动态获得和释放所需计算资源,该样用 户就能根据工作流的需要和截止时间与预算的约束,决定调整所需资源。其次资源总量可 W认为是几乎无限的,意味着无论用户何时需要哪些资源,能够获得该些资源的可能性是 非常高的。
[0006] 目前,考虑按需收费方式、数据传输时间、虚拟机启动时间和软件安装(下载)时 间等的云环境下工作流调度方法还寥寥无几。特别是带预算约束的工作流调度,目前还没 有针对性的方法。

【发明内容】

[0007] 本发明所要解决的技术问题在于克服现有技术不足,提供一种基于预算约束的云 服务工作流调度方法,能够实现在用户资金预算之内租用虚拟机,并最小化工作流最大完 工时间。
[0008] 本发明采用W下技术方案解决上述技术问题:
[0009] 基于预算约束的云服务工作流调度方法,该方法W用户租用云服务的花费不超出 用户的资金预算作为约束条件,W工作流最大完工时间最小化为目标,为工作流中的各任 务分配相应的虚拟机。
[0010] 具体地,所述云服务工作流调度方法包括W下步骤:
[0011] 步骤A、按照其到开始任务的最长路径的长度从大到小的次序,依次对云服务工作 流中的各任务分配初始的虚拟机,得到云服务工作流的初始调度方案;对于任意一个当前 任务具体按照W下方法为其分配初始的虚拟机;将当前任务n;的可选虚拟机按照计算 能力从大到小进行排序,先W其中第一个可选虚拟机作为当前任务的当前最佳虚拟机V', 然后计算第二个可选虚拟机Vj.相对于当前最佳虚拟机V'的优势权值WiW及V'相对于vj 的优势权值Wi',如Wi〉Wi',则将当前最佳虚拟机V'替换为Vj.,否则,继续比较下一个可选虚 拟机;依此类推,直到当前任务的所有可选虚拟机均完成比较;其中,虚拟机Vj.相对于当前 最佳虚拟机V'的优势Wi的计算公式如下:
[0012]
[001引式中,C(n。Vj)、est(n。Vj)、eft(n。Vj)分别表示任务叫部署在虚拟机Vj上的花 费、最早开始时间、最早结束时间;C(n。Vj)、est(n。Vj)、eft(n。Vj)分别表示任务叫部署在 虚拟机V'上的花费、最早开始时间、最早结束时间;a和P是两个0到1之间的预设参数, 且a+P= 1 ;步骤B、首先按照W下公式计算云服务工作流中的每一个任务与每一个虚拟 机之间的关系权值,并将所计算出的所有非零的关系权值按照从小到大进行排序:
[0014]
[00巧]式中,W2(ni,Vj.)表示任务叫与虚拟机Vj.之间的关系权值,和C"id是云服务工 作流采用初始调度方案的完工时间和花费,T。。,和C是指采用将任务ni部署到虚拟机VJ 上所得到的新的调度方案下云服务工作流的完工时间和花费;
[0016] 然后,判断初始调度方案下云服务工作流的花费是否小于用户的资金预算,如是, 则从第一个关系权值开始,按照该关系权值所对应的任务和虚拟机向后逐步调整调度方 案,直到调整后调度方案下所述云服务工作流的花费恰好不大于用户的资金预算,如否,贝U 从最后一个关系权值开始,按照该关系权值所对应的任务和虚拟机向前逐步调整调度方 案,直到调整后调度方案下所述云服务工作流的花费恰好不大于用户的资金预算。
[0017] 相比现有技术,本发明具有W下有益效果:
[0018]本发明可在满足用户预算约束的条件下,使得工作流最大完工时间最小;本发明 通过构建的两个权值分别进行初始调度和重调度,使得算法更简单快速。
【附图说明】
[0019] 图1为现有云环境的架构示意图;
[0020] 图2为本发明调度方法中初始调度阶段的流程示意图;
[0021] 图3为本发明调度方法中重调度阶段的流程示意图。
【具体实施方式】
[0022] 下面结合附图对本发明的技术方案进行详细说明:
[0023] 现有云环境的基本架构如图1所示。用户的需求任务被拆分成若干子任务后,用 工作流(workflow)模型表示。工作流用有向无环图表示,每个节点表示一个子任务,节点 间的有向弧表示节点间的依赖关系。每个节点需要且仅需要一台一台虚拟机执行完成,不 可中断。有多种计算能力不同的虚拟机类型,该就决定每个任务的执行具有多种选择,即多 个模态。一般情况下,服务商提供多种不同类型的虚拟机供用户租用,不用的虚拟机具有不 同的性能,单位时间的租用费用也各不相同。考虑到用户在租用云服务时通常会有预算约 束,因此有必要提供一种在用户预算范围内使得用户的需求任务被最快完成的工作流调度 方法。
[0024] 本发明调度方法分为两个阶段;初始调度阶段和重调度阶段。下面分别予W说明。 A、初始调度阶段:
[00巧]首先计算用户工作流中所有任务的rank值,W该值作为任务的优先级,并按照rank值对所有任务进行降序排列,优先级高的任务优先分配虚拟机资源;rank值是指从有 向无环图中的开始结点到当前结点的最长路径的长度,即当前任务到开始任务的最长路径 的长度,其计算方法如下:
[0026]
[0027] 任务的rank值是递推计算出来的,其中,表示任务rij.的计算量,pred(ni)表示 任务n;的直接前驱结点集合;
[0028] 根据rank值的排序依次计算各任务在不同虚拟机上的占用时间、各任务的最早 开始时间、最早结束时间、执行费用。开始任务的最早开始时间设为0,然后根据有向无环 图中的偏序关系,数据传输,W及给定的任务所需软件信息,即可依次递推出各个任务的最 早开始时间和最早结束时间。任一任务部署在某一虚拟机上的花费(执行费用)为该任务 在该虚拟机的占用时间乘W该虚拟机的单位时间租赁费用,其中占用时间包括任务执行时 间、数据传输时间和软件安装的准备时间。不同任务(任务)在虚拟机上执行需要不同的软 件,如果执行任务的软件尚未安装在相应的虚拟机上,则在任务开始前需要先安装该软件, 该段安装时间便是准备时间中的软件安装时间。不同的任务可能会用相同的软件来执行, 如果某任务在虚拟机上执行前,已有与该任务所需软件相同的任务也在该虚拟机上执行 过,那么无需重复安装该软件,即此时该软件的安装时间为0。在工作流中前后继节点之间 有依赖关系,在不考虑数据传输时间的情况下,当一个节点的所有前驱任务完成之后,该节 点的任务便可W开始执行,而在考虑数据传输时间的情况下,所有前驱任务完成之后,还要 等待该任务所需要的所有前驱任务产生的数据传输至该节点,该节点的任务才可W开始进 行,传输该些数据所需要的时间便是准备时间中的数据传输时间,数据传输的时间与所传 输数据量的大小和网络带宽有关,等于两者的比值。因此,任务在虚拟机上的占用时间,可 按照W下方法确定;首先,根据该任务的计算量和所在虚拟机类型,得出的任务执行时间; 然后,查看是否是新租赁的虚拟机,如果是,则将虚拟机加载时间添加到任务执行时间上; 如果是已经有的虚拟机实例,则查
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1