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

一种带任务重复的工作流调度算法制造技术

技术编号:14116044 阅读:172 留言:0更新日期:2016-12-07 18:31
本发明专利技术涉及一种带任务重复的工作流调度算法。本发明专利技术根据用户提交的任务初始化DAG图,根据DAG图的优先级构建任务队列V,V={v1,v2,Λ,vn},计算任务队列V的首个任务vi在虚拟列表中每个处理器上的完成时间,比较查找任务vi的最小完成时间Tft(vi,Pk),构建任务队列A存储需要重复的任务,任务队列B存储已经重复过的任务,任务按照最早开始时间非递增存储,采用遗传算法迭代出最优解,将映射好的任务分配到相应的资源以获得最优调度方案。本发明专利技术克服了DAG图不具有明显的分层和清晰的优先级约束的缺陷。本发明专利技术由于在D‑IAHA和IAHA中,任务在交叉和变异阶段中的是否要选择变异的资源时考虑到了任务的出错概率,所以大大减少任务在处理器上执行时的出错次数。

【技术实现步骤摘要】

本专利技术属于云计算中的任务调度领域,具体涉及一种带任务重复的工作流高度算法。
技术介绍
异构分布式计算系统是由大概数百万的异构计算节点组成;这些节点通过任意的网络体系结构互相连接,用于高吞吐的计算资源和虚拟组织的创建来满足广泛的应用领域的需求。异构分布式系统存在多种形式,云计算是其中的一个范例。随着科技的发展与进步,在以往的各种计算如并行计算、分布式计算、网格计算发展的基础上提出了云计算的概念。学术界及产业界均在积极探索云计算,全球正在步入云计算的时代。云计算以商业模式的形式展现,它通过云平台向用户展现效用计算的美好前景和一些能够吸引人的特性,比如将共享资源等作为互联网上按需形成的服务,按照使用次数及使用需求收费从而为用户提供即时、灵活、可扩展的服务。云计算由许多的异构计算节点、虚拟化计算机和动态配置的软件服务组成。这些软件服务通过它们的可用性、性能、功能和服务质量(Quality of Service,QoS)的需求来竞争用户终端的应用程序。云计算可提供的服务一般划分为三类:基础设施即服务(Infrastructure as a Service,IaaS),平台即服务(Platform as a Service,PaaS),软件即服务(Software as a Service,SaaS)。这些服务为了满足不同消费群的需求提供不同的服务。尽管这些服务存在一些相似的功能(如计算功能,存储功能和网络功能等),但由于它们的非功能性特性不同而区别于彼此,这些功能特性我们称之为QoS参数,如:服务时间,服务开销,服务的有效性,服务的能量损耗,服务利用率等。考虑云计算的特性,以有效的方式将任务请求映射到资源是IaaS层的主要过程。在此层中,它将虚拟机(Virtual Machines,Vms)作为调度单元从而将物理的异构资源分配给任务。每个虚拟机在云环境中都是具有计算和存储能力的一个抽象单元。因为资源的异构性和动态性,以及有不同特征和数量的任务,该任务调度问题被认为是一个NP完全问题。因为一个好的调度方法可以大大提高云系统的性能,且没有确切的方法在多项式时间内找到最优解,所以调度策略都必须依靠启发式算法来尽可能寻找解决问题的好方法。并且为了有效地将任务分配到云计算环境中的处理器上执行,工作流管理系统要求详尽的调度策略来满足任务需求和任务间的优先级约束关系。综上所述,工作流调度在云计算中是一个重要的挑战。在本专利技术作出之前,云计算中这些工作流调度是一个难点问题。这些问题的难点在于调度任务时需考虑许多的因素:1)各类的QoS标准2)具有异构和动态特性的弹性云服务3)服务的不同组合方法来满足任务执行4)大面积数据的传输等。在云环境下运行的软件我们称之为应用程序。每个应用程序就是一个工作流,其由相互关联的任务组成。这些任务会被调度到云环境下的不同处理器中运行。现在存在许多的科学应用如生物信息学,化学和天文学等,这些应用包含了大量的任务且任务之间存在复杂的优先级约束关系。这些应用可以转换为DAG图(有向无环图),转换的DAG图是复杂的,不具有明显的分层和清晰的优先级约束,我们称此种DAG图为复杂的DAG图。
技术实现思路
本专利技术的目的就在于克服上述缺陷,研制一种带任务重复的工作流调度算法。本专利技术的技术方案是:一种带任务重复的工作流调度算法,其主要技术特征在于包括如下步骤:(1)根据用户提交的任务初始化DAG图,用G=(V,E,[W],C)表示,其中,vi∈V表示DAG图中的第i个节点,E是DAG图中节点边的集合,eij∈E表示任务vi到任务vj的边,同时需注意的是任务vi必须在任务vj执行前执行完成;wik∈[W],[W]表示n×m阶任务在不同处理器上的执行时间矩阵,wik表示任务vi在处理器Pj上的执行时间;cij∈C表示vi到vj的通信开销,用边上的权值表示;(2)根据DAG图的优先级构建任务队列V,V={v1,v2,Λ,vn本文档来自技高网
...
一种带任务重复的工作流调度算法

【技术保护点】
一种带任务重复的工作流调度算法,其特征在于包括如下步骤:(1)根据用户提交的任务初始化DAG图,用G=(V,E,[W],C)表示,其中vi∈V,表示DAG图中的第i个节点,E是DAG图中节点边的集合,eij∈E表示任务vi到任务vj的边,同时注意,任务vi必须在任务vj执行前执行完成;wik∈[W],[W]表示n×m阶任务在不同处理器上的执行时间矩阵,wik表示任务vi在处理器Pj上的执行时间;cij∈C表示vi到vj的通信开销,用边上的权值表示;(2)根据DAG图的优先级构建任务队列V,V={v1,v2,Λ,vn};(3)计算任务队列V的首个任务vi在虚拟列表中每个处理器上的完成时间:(3a)计算任务vi在处理器Pk上的初始完成时间:Tft(vi,Pk)=Tst(vi,Pk)+wik其中,Tst(vi,Pk)为任务vi在处理器Pk上的开始时间,Tft(vi,Pk)为完成时间;(3b)令Mj为任务vi所有任务中出度最大的父任务结点(若存在几个以上相同出度,则比较完成时间,Mj为完成时间最大的任务);Mi为任务vi的最重要的直接父任务,在考虑重复任务后,计算任务vi在处理器Pk上的最终完成时间:(i)若Mi和Mj均不在或均已调度到当前处理器Pk上,则返回Tft(vi,Pk)的值;(ii)若处理器Pk上存在合适执行Mi或Mj的空闲时间隙,计算任务Mj在处理器Pk上的完成时间Tft(vj,Pk),计算任务Mi在处理器Pk上的完成时间Tft(vt,Pk):①若Tft(vj,Pk)<Tst(vi,Pk),则在处理器Pk上重复任务Mj;②若Tft(vt,Pk)<Tst(vi,Pk),则在处理器Pk上重复任务Mi;③其他情况,则返回Tft(vi,Pk);(iii)其他情况,则返回Tft(vi,Pk);(4)比较查找任务vi的最小完成时间Tft(vi,Pk),若存在相同值,则将该任务调度到任务相对较少的处理器上;(5)若不存在相同值且任务队列为空时,构建任务队列A存储需要重复的任务,任务队列B存储已经重复过的任务,任务按照最早开始时间非递增存储;(6)对任务队列B中的所有任务,若移除该任务对总完成时间无影响的话,则删除冗余任务,更新任务队列;(7)采用遗传算法迭代出最优解;(8)将映射好的任务分配到相应的资源以获得最优调度方案。...

【技术特征摘要】
1.一种带任务重复的工作流调度算法,其特征在于包括如下步骤:(1)根据用户提交的任务初始化DAG图,用G=(V,E,[W],C)表示,其中vi∈V,表示DAG图中的第i个节点,E是DAG图中节点边的集合,eij∈E表示任务vi到任务vj的边,同时注意,任务vi必...

【专利技术属性】
技术研发人员:李云阮敏袁运浩
申请(专利权)人:扬州大学
类型:发明
国别省市:江苏;32

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

1