System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机软件以及云计算系统资源管理与任务调度,更具体的是一种面相云计算云系统的基于任务分组的时间约束优化成本调度方法。
技术介绍
1、云计算受益于现代网络与计算机处理能力的发展而被广泛应用,它能提供算力、带宽和存储等资源,科学与商业领域逐渐使用云计算来替代传统的网格和集群系统,传统的网格和集群系统的维护和配置成本往往高出云计算数倍。但云计算的收费模式也会给云用户的选择带来一定困难,比如现在按小时收费的云计算付费模式中,往往会存在云资源使用不当导致租用时间和使用时间中存在大量时间碎片,使得云用户支付额外的开销。若云用户为了追求成本而选择过多低性能的虚拟机则可能会导致工作流执行时间过长,依托于云计算的应用响应速度变慢等问题。在这样的背景下,工作流调度优化问题逐渐得到了重视,不仅是因为用户对应用响应速度的要求逐渐提高和企业对降本增效政策的追求还因为云计算工作流规模逐步扩大,工作流内各任务之间的依赖关系变得更加复杂,使得在合理时间内找出工作流调度的最优解更加困难。
2、云计算的一大特点就是云供应商能提供给云用户近乎“无限”的资源,云用户能根据自己的需求获取新的云资源实例,每种类型的资源如虚拟机,只要用户的资金足够就可以租用上百台甚至上千台。但是租用的虚拟机过多并不一定能保证工作流完成时间提前,这是因为工作流之间的各任务之间具有一定的依赖关系,某些任务执行需要获得其前序任务处理完的数据。如果将任务分配到不同的虚拟机上处理,最后可能导致任务之间的数据传输花费大量时间,若是将具有依赖关系的任务放在同一台虚拟机上处理时,
技术实现思路
1、本专利技术为了解决工作流在规定时间内完成且成本最小化的问题,从工作流任务之间的依赖关系为基础,将工作流拆分成多个组,每组种的任务都具有前后依赖的关系,在划分任务时间约束以及任务分配时都优先考虑尽可能将同一组内的任务分配到同一台云设备上以减少任务之间的传输时延,保证工作流调度不超时的前提下,减少调度的总成本。
2、为实现上述技术目的,本专利技术采用的技术方案为:
3、一种面相云计算云系统的基于任务分组的时间约束优化成本调度方法,包括如下步骤:
4、步骤一,针对云用户提出的大量请求生成对应工作流,工作流以有向无环图dag来表示,其中节点对应任务,带权边对应任务之间的依赖与传输数据,节点值对应任务的计算量。
5、步骤二,计算计算工作流中所有任务距离出口任务的最长距离,作为任务的向下排序值,同时初始化所有的任务向上预备时间,预备时间初始值为零。之后进行任务分组,从出口任务开始向下选择预备时间和向下排序值最大且只有唯一父任务的可立即执行任务加入到分组,如果没有符合这个条件的任务则分组阶段,之后更新所有分组内任务的后续任务的预备时间为任务的最早可执行时间,同一分组内的预备时间会忽略传输时间,不同分组内的预备时间需要计算传输时间。之后从工作流中取出所有分组中的任务,重新开始下一轮分组,直到工作流中没有任何任务,即任务都被分配到分组中。
6、步骤三,根据步骤二的分组情况对任务分配子时间约束,分配时间约束前会更新任务的向下排序值,更新时会忽略同一分组任务内的传输时间,之后更新向下排序值来分配时间约束,向下排序值越大时间约束就越宽松。
7、步骤四,以分组为单位进行任务调度,使用双调度方案,同时考虑分组拆分与分组为单位调度任务,选取较好的方案作为调度结果,优先选择符合时间约束且增加成本最少的方案,如果所有方案都会超时,则选择完成时间最早的调度方法。
8、优选的,在步骤二中的“从出口任务开始向下选择预备时间和向下排序值最大且只有唯一父任务的可立即执行任务加入到分组”指的是子任务符合父任务在虚拟机上执行时间加上父任务的预备时间大于等于子任务预备时间与子任务的其他父节点已从图中移除这两个条件。满足这两个条件的子任务可以在父任务执行完后立刻执行不受其他父任务的影响。
9、优选的,在步骤三中因为调度时会优先分配分组内的任务在同一台虚拟机上,因此计算时间约束时忽略分组内的传输时延。
10、本专利技术对比现有技术具有以下优点:
11、本专利技术为云计算用户提供了在给定的时间约束下优化用户租用云设备成本的策略,充分利用任务之间的关系,对工作流进行分组,分组结果会影响时间约束分配,以减少不合理的传输时间造成的成本浪费,最后使用双调度方案防止调度结果因为分组颗粒过大陷入局部最优。在低时间复杂度的方案中,有效降低了云计算调度的成本以及调度的成功率,对提高云计算系统的应用效率有重要意义。
12、下面结合附图对本专利技术作进一步说明。
本文档来自技高网...【技术保护点】
1.一种面相云计算云系统的基于任务分组的时间约束优化成本调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在步骤一种,对云数据中心进行如下建模:
3.根据权利要求2所述的方法,其特征在于,工作流中不存在父任务和不存在子任务的节点分别为入口任务tentry和出口任务texie,一般一个工作流中只存在一个入口任务tenery和一个出口任务texit,为了保证任意工作流都符合这一特性,会在工作流中添加一个伪入口任务和出口任务,这两个节点分别添加在工作流的开始和工作流的末尾。两节点的执行时间都为0,伪入口任务与所有无父任务的节点相连,伪出口任务则与所有无子任务的节点相连,相连的边权值为0,即不存在任何数据传输。
4.根据权利要求1所述的方法,云计算成本模型如下:
5.根据权利要求1所述的方法,其优化目标和约束条件如下:
【技术特征摘要】
1.一种面相云计算云系统的基于任务分组的时间约束优化成本调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在步骤一种,对云数据中心进行如下建模:
3.根据权利要求2所述的方法,其特征在于,工作流中不存在父任务和不存在子任务的节点分别为入口任务tentry和出口任务texie,一般一个工作流中只存在一个入口任务tenery和一个出口任务texit,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。