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

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

Info

Publication number
CN100508501C
CN100508501C CNB2006101652474A CN200610165247A CN100508501C CN 100508501 C CN100508501 C CN 100508501C CN B2006101652474 A CNB2006101652474 A CN B2006101652474A CN 200610165247 A CN200610165247 A CN 200610165247A CN 100508501 C CN100508501 C CN 100508501C
Authority
CN
China
Prior art keywords
scheduling scheme
pvs
scheduling
user
resource
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.)
Expired - Fee Related
Application number
CNB2006101652474A
Other languages
English (en)
Other versions
CN101018192A (zh
Inventor
都志辉
王曼
程志力
朱穗晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2006101652474A priority Critical patent/CN100508501C/zh
Publication of CN101018192A publication Critical patent/CN101018192A/zh
Application granted granted Critical
Publication of CN100508501C publication Critical patent/CN100508501C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

基于开放网格服务体系结构的网格工作流虚拟服务调度法
技术领域
本发明涉及一种网格环境下的工作流调度方法,具体是通过预调度、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执行实例,从相应的调度方案备选池中选取合适的调度方案进行资源预约和执行。

Claims (3)

1、基于开放网格服务体系结构的网格工作流虚拟服务调度方法,其特征在于该方法适用于基于开放网格服务体系结构的网格系统中的调度方案产生器和调度方案执行器,所述调度方案产生器和调度方案执行器都由独立的网络处理器构成,形成了一个调度装置,并且所述方法按以下步骤依次执行:
步骤(1)初始化
在所述调度方案产生器中建立一个调度方案产生模块,在所述调度方案执行器中建立一个调度方案执行模块,在所述两个模块中分别定义一个相同的工作流虚拟服务PVS六元组,表示为:
PVS=<工作段的集合,依赖关系描述,输入参数描述,输出参数描述,PVS权限,调度方案备选池>,其中:
工作段的集合为一个有限集合,描述成一个PVS的基本工作段,只有在PVS实际执行时才被调度到相关资源上赋以具体服务以便执行,这里“资源”是指网格系统中执行该工作段的部署在系统中的具体服务和所需的硬件资源和软件资源;
依赖关系描述,为一个有向无环图,用于描述所述工作段集合中各个组成部分之间的数据依赖或控制依赖关系,途中一个节点代表PVS中的一个工作段,有向边代表各个组成部分之间的依赖关系,源节点没有入边,目的节点没有出边;
PVS权限,代表PVS的权限,值越大,优先级越高,此项为可选项;
调度方案备选池,为PVS的调度方案的集合,最多包含Num个供用户选择的有序的调度方案;其中,Num的值在配置PVS时设置,一个调度方案=<P,makespan,security,performance>,其中,P为该PVS具体化的调度方案;makespan为在该调度方案下的PVS实例预测完成时间;security和performance分别为在该调度方案下的安全等级和容错等级,值越高,性能越好;makespan,security和performance这三个值由用户具体采用的资源匹配调度算法给出,所述网格工作流由所述工作段的具体依赖关系组成;
输入参数描述,输出参数描述,采用W3C发布的万维网服务描述语言WSDL文件,用于描述PVS执行时所需的参数信息;
所述调度方案产生模块,为系统中每一个PVS产生相应的调度方案,设有:与调度方案执行模块的接口,调用由用户给出的包括启发式调度算法在内的调度算法资源池和与用户提交的PVS相应的资源匹配调度算法的接口,以及把产生的PVS调度方案送往调度方案执行模块中PVS六元组内调度方案备选池或从调度方案备选池中选取调度方案的接口;
所述调度方案执行模块,负责用户提出的实例的执行,设有:接收用户PVS执行命令的接口,接收调度方案产生模块给出的调度方案的接口,以及向调度方案产生模块发出中断请求信号,并请求为该用户提交的PVS产生一个可用的调度方案的请求信号的接口;
步骤(2)调度方案产生模块,判断是否有从调度方案执行模块发来的请求信号,若没有,该调度方案产生模块循环地为系统设定的所有PVS产生相应的调度方案,其步骤依次如下:
步骤(2.1)判断系统是否有闲散资源,若没有,再判断是否结束;若有闲散资源,则执行下一步骤;
步骤(2.2)按顺序选择下一个PVS;
步骤(2.3)按照预设的由用户根据具体情况选定的包括启发式调度算法或搜索算法在内的资源匹配调度算法得到的一个调度方案;
步骤(2.4)按照步骤(2.3)中已选择的资源匹配调度算法计算makespan,security和performance三个值,并把它们三个值与规定的QoS标准相比较;如果满足QoS,而且调度方案备选池中的调度方案数又小于设定的最大存储个数,则直接把步骤(2.3)中得到的调度方案加入调度方案备选池中,若调度方案备选池中的调度方案数已达到该最大存储个数,则替换出一个比步骤(2.3)中所述的调度方案差的调度方案,更新PVS的调度方案备选池;
步骤(2.5),判断是否循环完一遍全部的PVS,若已经循环完毕,则判断是否结束,否则,继续循环,一直到有中断请求信号从调度方案执行模块发出;
步骤(3),调度方案执行器按照以下步骤根据收到的用户PVS执行命令选择具体调度方案并执行该调度方案;
步骤(3.1)调度方案执行器根据接收到的用户PVS执行命令,从调度方案备选池中为所述PVS选择相应的调度方案;
步骤(3.2)判断是否有可用的调度方案;
若:所选择的调度方案中,即使只有一个工作段执行所需的资源当前不可用,则认为该调度方案失效,从调度方案备选池中删除,直到找到一个可用的调度方案为止;
步骤(3.3)按照可用的调度方案将用户所要执行的PVS中的每一个工作段和所需的资源进行预约和匹配,形成一个PVS实例,并执行该PVS实例;
步骤(3,4)若调度方案备选池中的所有调度方案均不可用,则此时由调度方案执行模块向调度方案产生模块发出一个包括用户PVS标识的中断请求信号,在一个由用户指定的时间内,接受新的调度方案,重新判断是否适用于用户发来的PVS。
2、根据权利要求1所述的基于开放网格服务体系结构的网格工作流虚拟服务调度方法,其所具特征在于,所述的调度方案执行模块设有预约机制,按照PVS不同等级给不同的用户PVS预约不同能力的资源。
3、根据权利要求1所述的基于开放网格服务体系结构的网格工作流虚拟服务调度方法,其所具特征在于,调度方案执行模块采用全局调度和PVS调度两层调度模式,把PVS调度模块分设在多个不同的服务器上,当用户PVS执行命令提交到全局调度模块时,全局调度模块把用户PVS执行命令分配在合适的PVS调度模块,之后,该PVS调度模块再进行具体的调度方案执行。
CNB2006101652474A 2006-12-15 2006-12-15 基于开放网格服务体系结构的网格工作流虚拟服务调度法 Expired - Fee Related CN100508501C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101652474A CN100508501C (zh) 2006-12-15 2006-12-15 基于开放网格服务体系结构的网格工作流虚拟服务调度法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101652474A CN100508501C (zh) 2006-12-15 2006-12-15 基于开放网格服务体系结构的网格工作流虚拟服务调度法

Publications (2)

Publication Number Publication Date
CN101018192A CN101018192A (zh) 2007-08-15
CN100508501C true CN100508501C (zh) 2009-07-01

Family

ID=38726954

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101652474A Expired - Fee Related CN100508501C (zh) 2006-12-15 2006-12-15 基于开放网格服务体系结构的网格工作流虚拟服务调度法

Country Status (1)

Country Link
CN (1) CN100508501C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5466163B2 (ja) * 2007-11-08 2014-04-09 ジェネティック ファイナンス (バルバドス) リミテッド コンピュータタスクを行う方法、及びネットワークコンピュータシステム
CN101163106B (zh) * 2007-11-22 2011-02-09 复旦大学 一种在无线自组织网络中组合服务的执行方法
CN101227375B (zh) * 2008-01-29 2010-09-01 华中科技大学 一种基于虚拟服务的异构网格工作流管理系统
CN101742711B (zh) * 2008-11-14 2013-04-10 复旦大学 一种在无线移动自组织网络中的动态服务恢复方法
KR101569093B1 (ko) * 2013-08-13 2015-11-13 삼성에스디에스 주식회사 분산 시스템에서 데이터를 처리하는 방법
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server

Also Published As

Publication number Publication date
CN101018192A (zh) 2007-08-15

Similar Documents

Publication Publication Date Title
Van Tilborg et al. Foundations of real-time computing: Scheduling and resource management
CN100508501C (zh) 基于开放网格服务体系结构的网格工作流虚拟服务调度法
CN102521044B (zh) 一种基于消息中间件的分布式任务调度方法及系统
CN100517236C (zh) 智能卡嵌入式操作系统及其控制方法
CN111026519B (zh) 基于分布式的任务优先级调度方法和系统及存储介质
CN101288049A (zh) 数据处理装置中的数据引擎的使用
Guo et al. Delay-optimal scheduling of VMs in a queueing cloud computing system with heterogeneous workloads
CN109324880A (zh) 一种适用于实时系统周期任务模型的低功耗调度方法
Li et al. Task scheduling algorithm for heterogeneous real-time systems based on deadline constraints
Qiu et al. Cost-minimizing preemptive scheduling of mapreduce workloads on hybrid clouds
Chen et al. Work-in-progress: Non-preemptive scheduling of periodic tasks with data dependency upon heterogeneous multiprocessor platforms
CN111158875B (zh) 基于多模块的多任务处理方法、装置及系统
Dahal et al. Scheduling in multiprocessor system using genetic algorithms
Hsueh et al. On-line schedulers for pinwheel tasks using the time-driven approach
Marchand et al. Dynamic scheduling of periodic skippable tasks in an overloaded real-time system
CN114866612B (zh) 一种电力微服务卸载方法及装置
Chetto Dynamic power management for fixed priority real-time systems with regenerative energy
EP2595057B1 (en) Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements
Jiang et al. HTDcr: a job execution framework for high-throughput computing on supercomputers
Nair et al. Critical task re-assignment under hybrid scheduling approach in multiprocessor real-time systems
Wang et al. Multi-granularity decomposition based task scheduling for migration cost minimization
CN116401027A (zh) 一种基于预测完成时间矩阵的异构云中心任务调度方法
Yuan et al. Fairness-aware scheduling algorithm for multiple DAGs based on task replication
Xiang et al. Proteus: Distributed machine learning task scheduling based on Lyapunov optimization
Thomadakis Efficient Scheduling of Firm Aperiodic Tasks in Fixed-Priority, Hard Real-Time Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090701

Termination date: 20111215