一种面向集合预报应用的两层动态调度方法技术

技术编号:6528589 阅读:269 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向集合预报应用的两层动态调度方法,目的是提出一种基于网格节点间动态选择和节点内部资源数目动态指定的两层调度方法。技术方案是先构建两层动态调度系统,并将该系统设置在服务端和各网格节点端;两层调度系统为当前集合预报的调度过程进行初始化;各地网格节点的模式预报服务向样本数据管理服务动态竞争还未被消费的初值样本数据文件;网格节点优化指定模式预报程序的资源数目及启动模式预报程序;服务端的样本数据管理服务停止本次集合预报调度过程,启动集合预报流程的后处理。本发明专利技术具有实时动态特性,采用本发明专利技术能提高具有大规模计算特征的集合预报的时效性,有效节省执行一次集合预报的计算成本。

【技术实现步骤摘要】

本专利技术涉及一种基于网格技术的动态调度方法,特别涉及一种面向集合预报应用领域的动态调度方法。
技术介绍
数值天气预报是气象业务运行中必不可少的方法,它是在给定初始条件和边界条件的情况下,根据大气运动的物理定律,数值求解大气运动基本方程组来预测未来时刻的大气状态过程。普通的数值天气预报流程包括观测资料预处理,气象资料变分同化,模式预报,后处理,产品可视化等,这些任务特别是模式预报任务需要用到大量的高性能资源进行数值模式计算。集合预报是解决因普通数值天气预报的初始条件不确定性和模拟过程的近似性问题而提出的新兴数值天气预报技术,与普通数值天气预报相比,集合预报通过气象资料变分同化以后,增加初始扰动任务,该任务产生多对初值样本,并且每对初值样本都需要进行模式预报,而模式预报是数值天气预报计算规模最大的任务,每次模式预报都需要大量的CPU计算资源。因此集合预报的计算规模将是普通数值预报的几十甚至上百倍(相关于初始扰动所产生的初值样本数目)。集合预报应用具有以下特点1.集合预报应用计算量巨大,集合预报应用的工作流程非常复杂,特别是由初始扰动产生超过50对甚至100对以上的初值样本,每对初值样本都需要进行模式预报,而一次模式预报是具有规模很大的并行程序,需要大量的高性能计算资源,且计算时间一般很长。2.集合预报中的模式预报间可以独立并发执行,即每次模式预报可以独立在不同的机器上去执行;3.单次集合预报应用的时效性非常重要,否则会失去天气预报的现实意义;4.处于初始扰动后的模式预报程序的并行度和加速比不是随CPU资源数目N(N — 般取2的幂次数)的简单线性增长。模式预报程序并行度一般首先随N的增大而增加,达到一定数目后(与选择的预报区域大小和预报时制有关),其并行度又会下降;虽然加速比随N值扩大而不断增加,但是其增加的缓和度与并行度存在一种关系的即一开始,并行度随N值增加时,其加速比增速较大,随着并行度达到最大值,加速比的增速也最大;当N增加到一定值时,其并行度达到最大,此时N值继续增加时,并行度开始下降,此时加速比增速将趋于缓和。根据以上集合预报应用的特点,易知集合预报非常适合使用分布式的网格工作流技术来解决,并且当初值样本数目很大时,单个网格节点很难满足集合预报的计算需求,如果顺序地执行这些模式预报程序,将会极大影响集合预报的时效性。因网格高性能计算节点环境的动态变化和模式预报并行程序本身的并行度与加速比趋势特征,采用静态的或者单纯的网格节点间的调度手段是无法满足集合预报应用需求的,需要使用动态的方式来合理安排对这些模式预报任务的并发执行,以提高整个集合预报的时效性;同时需要考虑模式预报并行程序的特征,每次合理地指定合适的CPU资源数目,尽量在不影响集合预报时效性的同时降低计算成本。在网格计算领域,独立多任务调度方法是指各任务之间不存在数据或者控制相关,每个任务都可以被分配到网格节点中单独执行,传统的方法包括Min-Min调度方法, Max-Min调度方法,DupLex调度方法,Sufferage调度方法等。独立多任务的调度算法中,Min-Min调度方法主要步骤包括步骤1 针对应用中的每个任务,预先估计每个网格节点执行该任务的时间,并选择执行时间最小的网格节点;步骤2 从每个网格节点中,选择预期运行时间最小的任务优先执行。Max-Min调度方法与Min-Min调度方法在步骤2刚好相反,在每个网格节点中, 选择预期完成时间最大的任务优先执行,该调度方法适合于各任务执行时间相差较大的场景,优先将长任务分配到较好的网格节点中优先执行,能够为应用获得较好的完成时间。DupLex调度方法则是Min-Min调度方法与Max-Min调度方法的综合,其首先分别基于Min-Min调度方法和Max-Min调度方法预估应用各自调度方法的可能执行时间,然后选择执行时间较优的一种调度方法来执行。Sufferage调度方法是优先选择可能损失较大的任务执行(如果该任务不分配到该计算节点),其主要步骤包括步骤1 对每个任务,预估其被分配到每个网格节点的执行时间;步骤2 计算每个任务相应的Sufferage值,即由步骤1所计算的次小执行时间与最小执行时间的差值;步骤3 对每一网格节点,优先选择Sufferage值较大的任务执行。传统的独立多任务调度方法基本是解决不同种类独立任务被高效率地分配到各网格计算节点运行问题,且这些任务大多计算量不大,其调度目标是优化整个应用执行时间。另一方面,这些调度方法并没有考虑并行应用程序本身对CPU资源数目的依赖关系如并行度、加速比等因素,这些方法很难解决具有大规模计算量的集合预报这一特殊应用问题,特别是这类应用问题因计算时间较长而导致计算节点资源的计算能力发生动态变化。因此如何针对以上集合预报应用的特殊情形,提供一种适用于集合预报应用特征的调度方法,是数值气象领域技术人员极为关注的技术问题。
技术实现思路
本专利技术要解决的技术问题是面向集合预报应用下传统独立多任务调度方法很难解决的问题,提出一种基于网格节点间动态选择和节点内部资源数目动态指定的两层调度方法,提高具有大规模计算特征的集合预报的时效性,有效节省执行一次集合预报的计算成本。本专利技术包括以下步骤第一步,构建两层动态调度系统。该系统由服务端和节点端组成,服务端管理初始扰动所产生的初值样本数据并控制节点端各模式预报服务的执行,其上部署了四个Web服务和两个数据库四个Web服务是指样本数据归档服务、样本数据管理服务、服务质量控制服务即QoS(Quality of Service)控制服务和预估服务。两个数据库分别是样本数据文件元数据库和模式预报程序执行经验数据库,前者存储初值样本数据元数据信息,支持样本数据归档服务和样本数据管理服务,管理每次集合预报所产生的初值样本数据,后者存储每次模式预报程序执行的输入参数(预报区域,预报时制等)、依赖于具体CPU数目O的整数次幂)的历史执行时间平均值以及所产生的输出文件大小、并行度、加速比等记录信息, 以支持预估服务对模式预报程序执行时间的预估;节点端由多个网格节点组成,每个网格节点部署有两个Web服务,包括模式预报服务(主要包装了本地集合预报流程的模式预报程序,一次集合预报流程中,模式预报服务可以多次执行模式预报程序,每次模式预报程序以一对初值样本数据为输入参数)和节点内部资源数目启发式指定服务。两层动态调度系统在集合预报应用流程的初始扰动之后启动。服务端的样本数据归档服务接收初始扰动所产生的初值样本数据,对初值样本数据进行归档;样本数据管理服务通知节点端的各网格节点上的模式预报服务竞争获取本次集合预报样本数据;模式预报服务接收到样本数据管理服务发出的“竞争初值样本数据”通知以后,向样本数据管理服务发送“获取初值样本数据”请求;样本数据管理服务通过调用QoS控制服务来验证所请求的模式预报服务所在网格节点是否满足最低QoS需求,QoS服务验证成功后,各模式预报服务以并发控制的方式读取、锁定并传输初值样本数据,模式预报服务获得初值样本数据后,即完成了两层动态调度系统对网格节点的选择,完成第一层调度对网格节点的选择;模式预报服务启动本地节点内部资源数目启发式指定服务,服务端的预估服务动态优化地指定执行本次模式预报服务的本文档来自技高网
...

【技术保护点】
1.一种面向集合预报应用的两层动态调度方法,其特征在于包括以下步骤:第一步,构建两层动态调度系统,该系统由服务端和节点端组成,服务端管理初始扰动所产生的初值样本数据并控制节点端各模式预报服务的执行,其上部署了四个Web服务和两个数据库:四个Web服务是指样本数据归档服务、样本数据管理服务、服务质量控制服务即QoS控制服务和预估服务;两个数据库分别是样本数据文件元数据库和模式预报程序执行经验数据库,样本数据文件元数据库存储初值样本数据元数据信息,模式预报程序执行经验数据库存储每次模式预报程序执行的输入参数、历史执行时间平均值以及输出文件的大小、并行度、加速比,所述输入参数指预报区域,预报时制;节点端由多个网格节点组成,每个网格节点部署有两个Web服务,包括模式预报服务和节点内部资源数目启发式指定服务,模式预报服务包装了本地集合预报流程的模式预报程序;两层动态调度系统在集合预报应用流程的初始扰动之后启动;服务端的样本数据归档服务接收初始扰动所产生的初值样本数据,对初值样本数据进行归档;样本数据管理服务通知节点端的各网格节点上的模式预报服务竞争获取本次集合预报样本数据;模式预报服务接收到样本数据管理服务发出的“竞争初值样本数据”通知后,向样本数据管理服务发送“获取初值样本数据”请求;样本数据管理服务通过调用QoS控制服务来验证所请求的模式预报服务所在网格节点是否满足最低QoS需求,QoS服务验证成功后,各模式预报服务以并发控制的方式读取、锁定并传输初值样本数据,模式预报服务获得初值样本数据后,即完成了两层动态调度系统对网格节点的选择,完成第一层调度:对网格节点的选择;模式预报服务启动本地节点内部资源数目启发式指定服务,服务端的预估服务指定执行本次模式预报服务的资源数目,然后模式预报服务启动模式预报程序,完成第二层调度:指定网格节点内的资源数目;本次集合预报的所有初值样本数据被调度到各模式预报服务执行完后,由服务端的样本数据管理服务触发集合预报应用流程的后处理;第二步,两层调度系统为当前集合预报的调度过程进行初始化,包括以下三个步骤:步骤2.1,集合预报流程完成初始扰动后,以本次集合预报所运行的集合预报流程实例ID为参数,发送“样本数据归档”请求给样本数据归档服务以启动两层调度系统;集合预报流程实例指集合预报流程的一次具体执行;集合预报流程实例ID是由本次集合预报应用流程实例随机产生,能够唯一标识本次集合预报流程实例的标识;步骤2.2,样本数据归档服务使用元数据方法对每对初值样本数据采用元数据记录的方式进行描述并将元数据记录归档到样本数据文件元数据库;每对初值样本数据的元数据记录包括:集合预报流程实例ID,初值样本数据编号,源网格节点即初值样本初始存储的网格节点存储URL,样本状态,目标存储网格节点URL,模式预报程序启动时间,其中URL是统一资源定位符的缩写;初值样本数据编号是由样本数据归档服务随机产生,用来唯一标识本对初值样本数据文件的编号。本地存储URL表示本对初值样本数据的本地存储位置;样本状态包括0,1,2,3,状态0为初值样本数据初始状态,表示本对初值样本数据还没有被任何模式预报服务占有;状态1为初值样本数据锁定状态,表示本对初值样本数据已经被分布在某个网格节点上的模式预报服务占有但未传输到网格节点上;状态2为初值样本数据已被“消费”状态,表示本对初值样本数据已经被某个模式预报服务占有且成功传输到网格节点上;状态3表示该初值样本数据已经被模式预报服务的模式预报程序成功执行;目标存储URL表示本对初值样本数据被传输到的网格节点的地址;模式预报程序启动时间表示模式预报开始以该初值样本数据作为输入参数启动模式预报应用程序的时间;步骤2.3,样本数据管理服务基于Web服务的消息订阅/发布机制通知所有网格节点的模式预报服务,告知各模式预报服务现在服务端已经有初值样本数据,可以竞争获取以进行模式预报;第三步,各地网格节点的模式预报服务根据自己的实际计算能力向样本数据管理服务动态竞争还未被消费的初值样本数据文件,包括以下步骤:步骤3.1,模式预报服务并发地请求初值样本数据:模式预报服务首先使用网格节点的网格中间件软件监控服务MDS获得自身空闲资源数目,然后根据自身实际计算能力验证是否满足模式预报的最低QoS约束需求,如果满足,模式预报服务主动向服务端的样本数据管理服务发送“申请初值样本数据”请求消息,该请求消息内容包括:本地网格节点URL,模式预报服务URI,URI是统一资源标识符的缩写;如果不满足,则转步骤3.3;步骤3.2,服务端样本数据管理服务调用QoS控制服务对模式预报服务所在网格节点的QoS约束性条件进行验证:QoS控制服务调用部署在网格节点上的网格中间件软件监控服务MDS,判断申请的模式预报服务所在网格节点是否满足本次集合预...

【技术特征摘要】
1. 一种面向集合预报应用的两层动态调度方法,其特征在于包括以下步骤 第一步,构建两层动态调度系统,该系统由服务端和节点端组成,服务端管理初始扰动所产生的初值样本数据并控制节点端各模式预报服务的执行,其上部署了四个Web服务和两个数据库四个Web服务是指样本数据归档服务、样本数据管理服务、服务质量控制服务即QoS控制服务和预估服务;两个数据库分别是样本数据文件元数据库和模式预报程序执行经验数据库,样本数据文件元数据库存储初值样本数据元数据信息,模式预报程序执行经验数据库存储每次模式预报程序执行的输入参数、历史执行时间平均值以及输出文件的大小、并行度、加速比,所述输入参数指预报区域,预报时制;节点端由多个网格节点组成, 每个网格节点部署有两个Web服务,包括模式预报服务和节点内部资源数目启发式指定服务,模式预报服务包装了本地集合预报流程的模式预报程序;两层动态调度系统在集合预报应用流程的初始扰动之后启动;服务端的样本数据归档服务接收初始扰动所产生的初值样本数据,对初值样本数据进行归档;样本数据管理服务通知节点端的各网格节点上的模式预报服务竞争获取本次集合预报样本数据;模式预报服务接收到样本数据管理服务发出的“竞争初值样本数据”通知后,向样本数据管理服务发送“获取初值样本数据”请求;样本数据管理服务通过调用QoS控制服务来验证所请求的模式预报服务所在网格节点是否满足最低QoS需求,QoS服务验证成功后,各模式预报服务以并发控制的方式读取、锁定并传输初值样本数据,模式预报服务获得初值样本数据后,即完成了两层动态调度系统对网格节点的选择,完成第一层调度对网格节点的选择;模式预报服务启动本地节点内部资源数目启发式指定服务,服务端的预估服务指定执行本次模式预报服务的资源数目,然后模式预报服务启动模式预报程序,完成第二层调度指定网格节点内的资源数目;本次集合预报的所有初值样本数据被调度到各模式预报服务执行完后,由服务端的样本数据管理服务触发集合预报应用流程的后处理;第二步,两层调度系统为当前集合预报的调度过程进行初始化,包括以下三个步骤 步骤2. 1,集合预报流程完成初始扰动后,以本次集合预报所运行的集合预报流程实例 ID为参数,发送“样本数据归档”请求给样本数据归档服务以启动两层调度系统;集合预报流程实例指集合预报流程的一次具体执行;集合预报流程实例ID是由本次集合预报应用流程实例随机产生,能够唯一标识本次集合预报流程实例的标识;步骤2. 2,样本数据归档服务使用元数据方法对每对初值样本数据采用元数据记录的方式进行描述并将元数据记录归档到样本数据文件元数据库;每对初值样本数据的元数据记录包括集合预报流程实例ID,初值样本数据编号,源网格节点即初值样本初始存储的网格节点存储URL,样本状态,目标存储网格节点URL,模式预报程序启动时间,其中URL是统一资源定位符的缩写;初值样本数据编号是由样本数据归档服务随机产生,用来唯一标识本对初值样本数据文件的编号。本地存储URL表示本对初值样本数据的本地存储位置; 样本状态包括0,1,2,3,状态O为初值样本数据初始状态,表示本对初值样本数据还没有被任何模式预报服务占有;状态1为初值样本数据锁定状态,表示本对初值样本数据已经被分布在某个网格节点上的模式预报服务占有但未传输到网格节点上;状态2为初值样本数据已被“消费”状态,表示本对初值样本数据已经被某个模式预报服务占有且成功传输到网格节点上;状态3表示该初值样本数据已经被模式预报服务的模式预报程序成功执行;目标存储URL表示本对初值样本数据被传输到的网格节点的地址;模式预报程序启动时间表示模式预报开始以该初值样本数据作为输入参数启动模式预报应用程序的时间;步骤2. 3,样本数据管理服务基于Web服务的消息订阅/发布机制通知所有网格节点的模式预报服务,告知各模式预报服务现在服务端已经有初值样本数据,可以竞争获取以进行模式预报;第三步,各地网格节点的模式预报服务根据自己的实际计算能力向样本数据管理服务动态竞争还未被消费的初值样本数据文件,包括以下步骤步骤3. 1,模式预报服务并发地请求初值样本数据模式预报服务首先使用网格节点的网格中间件软件监控服务MDS获得自身空闲资源数目,然后根据自身实际计算能力验证是否满足模式预报的最低QoS约束需求,如果满足,模式预报服务主动向服务端的样本数据管理服务发送“申请初值样本数据”请求消息,该请求消息内容包括本地网格节点URL, 模式预报服务URI,URI是统一资源标识符的缩写;如果不满足,则转步骤3. 3 ;步骤3. 2,服务端样本数据管理服务调用QoS控制服务对模式预报服务所在网格节点的QoS约束性条件进行验证QoS控制服务调用部署在网格节点上的网格中间件软件监控服务MDS,判断申请的模式预报服务所在网格节点是否满足本次集合预报所要求的QoS最低约束要求,如果发现网格节点不满足QoS最低约束要求,则发送“拒绝”消息到所请求的模式预报服务,模式预报服务接收到“拒绝”消息后,暂停对本次集合预报流程实例的模式预报服务,转步骤3. 3 ;如果服务端QoS控制服务发现该模式预报服务所在网格节点满足 QoS最低约束要求,则为该模式预报服务竞争当前集合预报流程实例ID下的一对初值样本数据文件,方法是由样本数据管理服务向样本数据文件元数据库搜索元数据记录项,如果发现没有状态为O的元数据记录,则向请求的模式预报服务发送“无可获取的初值样本数据文件”消息,模式预报服务接收到“无可获取的初值样本数据文件”消息后,停止申请获取初值样本数据,转步骤4. 6 ;如果有状态为O的元数据记录,则进入步骤3. 4 ;步骤3. 3,模式预报服务定时循环地不断监控本地资源空闲状况,以验证本地网格节点是否满足QoS最低约束要求,如果满足,转步骤3. 1,否则继续循环步骤3.3 ;步骤3. 4,请求的模式预报服务对获取的初值样本数据加锁保护,方法是样本数据管理服务执行一事务访问操作,为请求的模式预报服务占有该初值样本数据所对应的元数据记录,以防止其它的模式预报服务申请该初值样本数据,然后修改该初值样本数据所对应状态为1 ;步骤3. 5,样本数据管理服务向申请的模式预报服务启动初值样本数据的端对端传输, 方法是样本数据管理服务调用网格中间件组件可靠文件传输服务RFT,由RFT启动初值样本数据所在的服务节点到模式预报所在网格节点之间的可靠文件传输,如果初值样本数据文件传输失败,则进行有限次地重启传输,如仍然传输失败,则解锁该初值样本数据文件访问权限,样本数据管理服务修改初值样本数据状态为0,允许部署在其他网格节点上的模式预报服务申请该对初值样本数据;初值样本数据文件如成功传输,模式预报服务向样本数据管理服务发送初值样本数据“传输完成”消息,样本数据管理端修改该初值样本数据所对应状态为2 ;至此,完成了初值样本数据对网格节点的选择问题,完成第一层调度;第四步,网格节点优化指定模式预报程序的资源数目并启动模式预报程序,步骤如下步骤4. 1,节点内部资源数目启发式指定服务启动预估服务评估,为当前模式预报服务预估其是否还有可能获得下一对初值样本数据文件,具体步骤为步骤4. 1. 1,节点内部资源数目启发式指定服务预估自身模式预报程序完成时间并发送“预估请求”消息到预估服务,步骤如下步骤4. 1. 1. 1,节点内部资源数目启发式指定服务根据当前获得的初值样本数据预报参数信息一一预报区域和预报时制、当前网格节点空闲...

【专利技术属性】
技术研发人员:张卫民刘海刘灿灿贾雄
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43

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

1