首页> 中国专利> 基于开放网格服务体系结构的网格工作流虚拟服务调度法

基于开放网格服务体系结构的网格工作流虚拟服务调度法

摘要

基于开放网格服务体系结构的网格工作流虚拟服务调度法属于网格下工作流调度技术方法,其特征在于,把网格的工作流实例抽象为由一组有数据依赖或控制依赖关系的服务组成的工作流虚拟服务PVS;是由调度方案产生模块利用网格环境下大量闲散资源为定义好的PVS不断找到更优的调度策略,更新并存储在PVS的调度方案备选池;再用调度方案执行模块在具体任务实例到来时从PVS的调度方案被选池中选取当前较好的调度方案进行作业调度,只有在找不到合适的调度方案时,才同调度方案产生模块进行通信,在规定的时间内等待新的调度方案的到来。本发明具有减少重复调度,加快资源预约,降低作业完成时间,增加作业吞吐量,提高资源利用率的优点。

著录项

  • 公开/公告号CN101018192A

    专利类型发明专利

  • 公开/公告日2007-08-15

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN200610165247.4

  • 发明设计人 都志辉;王曼;程志力;朱穗晖;

    申请日2006-12-15

  • 分类号H04L12/56(20060101);H04L12/24(20060101);H04L12/28(20060101);

  • 代理机构

  • 代理人

  • 地址 100084 北京市100084信箱82分箱清华大学专利办公室

  • 入库时间 2023-12-17 18:59:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-02-13

    未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20090701 终止日期:20111215 申请日:20061215

    专利权的终止

  • 2009-07-01

    授权

    授权

  • 2007-10-10

    实质审查的生效

    实质审查的生效

  • 2007-08-15

    公开

    公开

说明书

技术领域

本发明涉及一种网格环境下的工作流调度方法,具体是通过预调度、QoS保障以及不断选优机制来进行网格任务调度。

背景技术

随着网格技术的进步和需求的增加,网格工作流(Grid Workflow)成为网格中一类重要的应用。一个网格工作流应用可以看成是由一组工作段(网格中的服务)组成,并且这些服务需要按照事先预订好的顺序执行,从而完成一个复杂的目标。一般来说,一个工作流是包含一组工作段的抽象形式,而采用何种算法将服务和网格资源匹配起来得到一条可执行的工作流实例并投入运行是当前研究的一个重要问题,称为网格工作流的调度。在进行调度算法设计时,为了提高性能,往往需要和具体网格工作流应用相结合。在不同的应用环境下(比如同构/异构,数据密集型应用/计算密集型应用等),不同工作流调度算法的性能会很不相同。由于网格资源的动态性和复杂性,网格工作流调度一般采用动态调度的方法。在调度时,通常希望选择最优或者近似最优的调度方案。将工作流的工作段和网格资源进行匹配找到最优的调度方案,是NP-hard问题,所以在调度中一般采用启发式调度算法:如Min_Min heuristic,Max_min heuristic,sufferage heuristic等算法。但是启发式算法一般情况下只能找到较好解,有时也会和最有解相差很远。

除此之外,当前所用的网格工作流调度方法都有一个共同假设,即对于同一个工作流的每个执行实例的调度都是独立的。但在很多实际应用中,由于工作流结构的相同,在一定时间范围内的多个执行实例有时可以共享同一种调度方案,这样就不需要每次都对一个执行实例进行一次调度算法调用。如果对于一个工作流而言,对其调度的时间占整个任务完成时间的比例很大,那么按照当前调度模式,对于多个执行实例,大量时间浪费在了重复调度上,仅靠对调度算法的改进,性能提高也是有限。

将网格QoS引入调度方法中去也是当前需要考虑的问题之一。当前的网格流水线调度中不少也引入了QoS保障机制,但是经常只从单个方面进行考虑,并且没有相对准确和灵活的根据不同应用选择QoS保障的机制。

发明内容

本发明的目的在于提出一种基于开放网格服务体系结构(OGSA)的网格工作流的调度方法,在于解决对于同一工作流的不同实例的重复调度问题,同时也兼顾了完成时间、容错性、安全性三个方面的QoS保障。

本发明的特征在于,依次会有以下步骤:

(1)初始化:在所述调度方案产生器和执行器中分别建立一个调度方案产生模块和调度方案执行模块。

(2)调度方案产生模块,判断是否有从调度执行模块发来的请求信号:若没有,该调度方案产生模块循环地为系统设定的所有PVS产生相应的调度方案。

(3)调度方案执行器按照以下步骤根据收到的用户PVS执行命令选择具体调度方案并预约和执行该调度方案。

总体来说,该调度方法将一个PVS可能的调度方案作为该PVS的共有信息共享,引入QoS保障,预调度,资源预约等机制,从而减少重复调度,  加快资源预约,  降低作业完成时间,增加作业吞吐量和提高资源利用率。

在附图4和附图5中显示了本发明中的调度方案的性能优势。其中对比调度方案采用了当前较为通用并且效率较好的启发式调度算法Min_Min算法。从图4和图5中可以看出,如果调度时间占实际执行时间的比例越大,按照本发明中的方案进行调度的性能越好。

附图说明

图1为本发明的总体PVS调度方法流程图:(a)调度方案产生模块执行流程图;(b)调度方案执行模块执行流程图。

图2为本发明的调度模块结构图:输入参数为:(PVS名称,数据源)。

图3为本发明中调度执行模块方法图。

图4为本发明中调度方法和对比调度方法相比较时间节省率图。

图5为本发明中调度方法和对比调度方法的资源利用率比较图。

图6为本发明中的具体实例天文数据处理中的快视分析PVS

具体实施方式

本发明主要是为了解决网格工作流调度中对于同一个工作流(本发明中称为PVS)的不同实例的重复调度问题,同时加入完成时间,容错性,安全性三个方面的QoS保障。将调度方案产生和调度方案执行分离开来,使得调度方案的产生能充分利用网格系统中的闲散资源,在作业到来之前就能够产生调度方案,使得PVS实例到来时尽快投入执行,节省了传统调度方法中的查找匹配时间。同时,每次调度方案的产生是在以往调度方案产生的基础上,如此就能够根据网格环境的变化逐步靠近最优解。

在调度方案执行部分,采用了预约机制,即为一个PVS中的所有工作段按照选定的调度方案进行资源的预约(这里“资源”是指网格系统中可以执行该工作段的部署在系统中的具体服务和其所需的硬件资源和软件资源),这样提高了系统中的资源利用率,减少了作业的等待时间。同时,预约机制按照PVS不同的等级给PVS预约不同能力的资源,减少了阻塞的概率,并进一步提高了资源利用率。

该PVS调度方案适用于所有基于开放网格服务体系结构的网格系统中。主要由调度方案产生模块(1)和调度方案执行模块(2)两个模块组成。

(1)调度方案产生模块

●功能:负责为系统中每一个PVS产生相应的调度方案。

●接口:该模块有主要有两个接口,如附图2所示,一是与调度方案执行模块的接口(10),二是调用网格中的具体资源的接口(11)。

(2)调度方案执行模块

●功能:负责具体的实例执行。

●接口:如附图2所示,调度方案执行模块有用户接口(9),可以接收用户执行PVS的命令;与调度方案产生模块的接口(10)。

PVS(Pipeline Virtual Service)是该调度方法中一个核心概念。它为一个六元组,具体描述如下:

PVS=<工作段集合(3),依赖关系描述(4),输入参数描述(5),输出参数描述(6),PVS权限(7),调度方案备选池(8)>。

工作段集合(3),为一组有限工作段的集合。它描述了一个PVS由哪些基本工作段组成。这里的工作段都是抽象的概念,并没有和网格中的具体资源相关联,只有在PVS实例执行时,才被调度到相关资源上具体执行。

依赖关系描述(4),为一个有向无环图,用于描述(3)中的各个活动的依赖关系。图中每一个节点代表PVS中的一个工作段。有向边代表工作段之间的依赖关系(数据依赖或控制依赖)。若工作段A的执行依赖于工作段B的执行结束,节点Ai有一条指向节点的边。没有入边的节点为源节点,没有出边的节点为目的节点。

PVS权限(7)代表PVS的权限。(7)的值越大,该PVS的优先级越高。一般来说,只有权限不低于(7)的用户才能调用该服务(该属性可选)。

调度方案备选池(8)为PVS的调度方案集合,包含Num(该数值在算法实现时用户给出)个有序记录。一个调度方案=<P,makespan,security,performance>。P为一个具体的调度方案。makespan为在此种调度方案下的作业预测完成时间,即从用户提交作业给PVS到得到结果的时间。Security和performance为在这种调度方案下的安全等级和容错等级。一般来说,Security和performance的值越高,该调度方案的这两个方面的性能越好。Makespan、security和performance这三个值由用户具体采用的调度算法给出。

输入参数描述(5),输出参数描述(6)可以为WSDL描述的文件,用于描述该PVS执行时所需的参数信息,也可以为专门负责输入输出的网格服务(Web服务)。

一个PVS一旦被配置好,就可以作为一个网格上的服务被共享。(3)(4)(5)(6)(7)是配置时决定的,而(8)中的记录随着调用此PVS作业的增多而变化。

综上,一个PVS可以看作是对一条工作流的封装,其中,PVS中的(3)和(4)合起来就是网格工作流的基本定义,(5)是对工作流中无前驱节点的输入参数的抽象描述,(6)是对工作流中无后继节点的输出参数的抽象描述,而(8)相当于一个工作流的候选调度方案集合。

PVS的基本组成如上说述,但是在具体应用时,表述方法可以有所不同。

PVS调度方法的具体流程图由图1所示。调度方案产生模块和调度方案执行模块式两个相对独立的线程,或者说也可以在两个不同的处理器上执行。

对图1(a)中流程具体解释如下。在调度方案产生模块中,一旦网格中有空闲的计算资源,则调度方案产生模块就会执行。该部分循环更新已经定义好的PVS的调度方案备选池(8)。具体如下:设该系统有N个PVS,依次为PVS1,PVS2,...,PVS N。对于每一个PVS i(1<=i<=N),调度方案产生模块(1)采用已经定义好的资源调度匹配算法,得到一个调度方案。该资源调度匹配算法可以根据具体应用情况用户选择已有的启发式算法或搜索算法。通用情况是用户提供一个算法资源池,根据不同情况系统选取不同的算法。得到一个调度方案后,按照用户定义计算出该调度方案的makespan、security和performance值,和该PVS已有的调度方案比较,如果PVS的(8)中存放的调度方案数小于最大存贮个数,则直接把新调度方案加入,否则,替换出一个比新调度方案差的调度方案。之后对下一个PVS进行处理。如果调度方案执行模块有需求,则给调度方案产生模块发出信号,从而调度方案产生模块在执行完当前PVS处理后产生中断,优先处理调度方案执行模块发出的请求,执行完毕后,从刚才中断处继续执行。

对图1(b)中的流程具体解释如下。在调度方案执行模块中,一旦有作业到来,也就是有PVS调用请求,则调度方案执行模块从该PVS的(8)中按照makespan、security和performance值依次判断调度方案当前是否能用,也就是该调度方案所涉及到的资源当前是否可用。只要有一个资源不可用(例如,提供该资源的站点坏掉),则此调度方案就失效,从该PVS(8)中删除。直到找到一个当前可用的调度方案为止。此时产生一个PVS实例,将PVS中各个工作段与调度方案中的资源相匹配,同时进行整体预约。预约完毕后,开始执行该PVS实例。如果当前该PVS的(8)中的所有调度方案均不可用,则此时调度方案执行模块向调度方案产生模块发出中断信号,请求调度方案产生模块尽快为该PVS产生一个可用的调度方案,然后调度方案执行模块等待一个用户指定的时间,重新判断该PVS有没有可用的调度方案。

图2给出了采用该PVS调度方法的调度模块示例图。

在调度方案执行模块,为了适应网格的分布性,采用了两层调度模式,即全局调度和PVS调度两层。如图3所示。其中,PVS调度可以有多个,分布在不同的服务器上。当用户命令提交到全局调度时,全局调度将其分配到合适的PVS调度上,然后该PVS调度进行具体的调度方案执行。

以天文数据处理中的快视分析为例。按照处理流程配置的快视分析PVS如图6所示。天文望远镜数据采集具有连续性,在一定时间范围内需要反复调用该PVS。系统启动后,调度方案产生模块不断利用网格系统中的闲散资源为快视分析PVS产生调度方案。而一旦有采集好的数据包到来,则在调度方案执行模块产生新的快视分析PVS执行实例,从相应的调度方案备选池中选取合适的调度方案进行资源预约和执行。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号