一种全分布式流域生态水文模型的快速并行化方法技术

技术编号:8834045 阅读:254 留言:0更新日期:2013-06-22 20:21
本发明专利技术涉及一种全分布式流域生态水文模型的快速并行化方法,该方法以栅格为基本计算单元,通过DEM地形分析获得流域栅格流向图并建立栅格的计算依赖关系,将栅格单元垂向的生态水文过程模拟作为独立计算任务,根据栅格单元间的依赖关系解耦栅格单元计算任务并构建任务树,采用DAG模型表达任务树,利用DAG模型和边消除的动态调度算法动态地生成任务调度序列,并通过PBS动态调度器将栅格计算任务分配到不同的节点上进行运算,实现全分布式流域生态水文模型的并行化。本发明专利技术的有益效果为:本方法操作简单,实用性强,极大的简化并行处理算法的并行逻辑控制,有效提高并行计算效率,提高了并行稳定性。

【技术实现步骤摘要】

本专利技术涉及计算机技术及流域水资源
,具体涉及。
技术介绍
流域生态水文模型是全球变化研究的重要工具,通过定量评估人类活动和气候变化对流域生态水文过程的影响,为全球变化下流域管理决策的制定提供科学支撑,是当前国内外研究的前沿和热点问题。全分布式流域生态水文模型通过将流域划分为异质性空间计算单元,充分考虑水文水资源要素在空间上的变化,充分考虑流域内空间计算单元之间数量交换和相互影响,从而更为合理地刻画气候变化和人类活动影响下的流域生态水文过程。全分布式的流域生态水文模型具有时空数据密集和计算密集的特点,主要体现在:1)流域生态水文模拟高度复杂,需大量的数据和参数输入,同时生成大量的中间变量,具有计算密集的特点;2)全空间分布式的生态水文模型涉及大量的栅格数据,随着流域面积的扩大(如大尺度流域),栅格单元急剧增加,所涉及的数据量和计算量也急剧增加,具有计算密集型特点;3)流域生态水文过程计算要求较高的时间动态性,时间步长往往为小时或分钟尺度,具有数据密集的特点。生态水文模型对高性能计算提出了很高的要求,传统的串行计算模式难以满足其要求,迫切需要发展流域全分布式生态水文模型的并行技术。目前,并行计算技术在流域生态水文过程模拟中的应用尚且处于起步阶段,主要集中于水文过程模拟,对于流域生态水文耦合模型的并行计算研究较少;现有研究大多采用基于消息传递模型的MP1、共享内存模型的OpenMP以及MPI+OpenMP的混合并行模型,然而,随着流域面积的增加,不仅带来数据量的增加,任务之间更为复杂的数据依赖关系也使得传统的并行处理算法在并行处理过程中的控制逻辑非常复杂,从而导致算法的并行处理性能的扩展性差。
技术实现思路
本专利技术的目的是提供,以克服目前现有方法存在上述不足。本专利技术的目的是通过以下技术方案来实现: ,所述方法包括以下步骤: 步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系; 步骤二:按生态水文过程计算的数据传递关系,对全分布式生态水文模型的栅格计算任务进行分解; 步骤三:步骤二中栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,每个计算任务具有相同的计算方法和输入输出文件,保证每个计算任务可以分配到不同的处理器上进行独立运算; 步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树; 步骤五:采用DAG模型对步骤四中的任务树进行表示; 步骤六:根据DAG模型和边际消除的动态调度算法求解有效的任务调度方案,动态的生成任务调度序列; 步骤七:根据任务调度序列,提交PBS任务调度器,实现模型的并行计算。进一步的,栅格计算任务可并行性分解为弱数据相关性的垂向生态水文过程计算和强数据相关性的侧向生态水文过程计算;所述垂向的生态水文过程计算主要包括降雨、蒸发、坡面产流、植物光合、蒸腾、根系吸水等过程的输入和输出的计算;所述侧向生态水文过程计算为坡面汇流过程的计算,即水流在栅格单元与栅格单元之间的迁移过程,下游栅格的计算考虑上游栅格的来水量,栅格单元之间存在较强的数据依赖性。进一步的,为实现栅格单元的计算任务封装为独立运算的任务,需调整流域生态水文模型的时空循环顺序,在每一个栅格完成整个模拟时段的生态水文过程计算后,再进行下一个栅格整个模拟时段的运算,上下游栅格之间的水流交换通过文本方式传递,避免复杂的参数传递。进一步的,步骤四中所述的任务树中设有若干节点,所述节点与全流域内栅格计算任务相对应,若两个栅格计算任务之间存在依赖关系,在树中对应节点就存在父子关系,即上游栅格为父结点,其下游栅格作为其子结点,子结点的计算任务需等父结点完成了才能执行。缩略语:DEM:数字高程模型;DAG:数据库可用性组;PBS:工作负载管理器和调度器;XML:可扩展标记语言。本专利技术的有益效果为:(I)本专利技术将流域生态过程和水文过程的耦合模拟进行并行化,突破了现有的流域模型并行化的单一性;(2)本专利技术以栅格为基本计算单元,将栅格的计算任务分配到多个计算节点,大大降低模型的并行粒度,有效提高并行计算效率;(3)本专利技术中采用的基于DAG模型和边消除的动态调度算法,极大简化并行处理算法的并行逻辑控制;(4)本专利技术通过修改模型时空循环设计,将栅格单元的计算任务可作为独立运算的任务,在流域栅格计算任务解耦基础上将栅格计算任务直接提交给PBS任务调度器,从而避免了复杂的逻辑控制和消息传递,大大提高并行稳定性。附图说明下面根据附图对本专利技术作进一步详细说明。图1是本专利技术实施例所述的的流程 图2是本专利技术实施例所述的中任务树的构建不意 图3是本专利技术实施例所述的中基于DAG模型和边消除的动态任务树调度方法的流程图。具体实施方式如图1所示,本专利技术实施例所述的,以全分布式流域生态水文模型DisVOM的并行化实现为例,所述方法包括以下步骤: 步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM(数字高程模型)进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系,其中,栅格流向计算采用的算法为Arcinfo的单流向算法; 步骤二:对全分布式生态水文模型的栅格计算任务进行分解,栅格计算任务可并行性分解为弱数据相关性的垂向生态水文过程计算和强数据相关性的侧向生态水文过程计算,DisVOM模型的垂向的生态水文过程计算主要包括降雨、蒸发、坡面产流、植物光合、蒸腾、根系吸水等过程的计算;所述侧向生态水文过程计算为坡面汇流过程的计算; 步骤三:栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,具体如下: 将DisVOM模型运算的时空循环设置为先做空间循环再做时间循环,栅格完成整个模拟时段的生态水文过程计算后,再进行下一个栅格的运算,将栅格单元生态水文过程计算封装为可独立运行的计算任务,上下游栅格之间的水流交换通过文本方式传递;每个栅格的计算任务具有相同的程序代码(exe文件)、输入输出文件和XML文件,其中,XML文件记录每一个栅格的基本信息(栅格序号、上游栅格ID、下游栅格ID,栅格流向等)、输入输出文件(如气象输入、模型参数、模型控制文件、模型输出结果文件等)。如图2所示,步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树,所述的任务树中设有若干节点,所述节点与全流域内栅格计算任务相对应,具体如下: 根据栅格的水流依赖关系,将流域内所有栅格的计算任务进行解耦,具体方法如下:将流域内最上游栅格(即没有上游栅格水流流入)作为优先级最高的计算任务(如图2中栅格1-4),最上游栅格的流出栅格(图2中栅格5、6、7)则作为优先级次之的栅格,即栅格I计算任务完成后才能运算栅格5,栅格2和栅格3的任务都完成了,才能计算栅格6,栅格8和栅格9计算任务优先级更次之,依次类推,直到流域的出口栅格,建立全流域的栅格计算顺序关系;将优先级最高的栅格作为父结点,其流出栅格作为子结点,从而建立了全流域内栅格计算的任务树。该任务树为多叉本文档来自技高网
...

【技术保护点】
一种全分布式流域生态水文模型的快速并行化方法,其特征在于,所述方法包括以下步骤:步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系;步骤二:按生态水文过程计算的数据传递关系,对全分布式生态水文模型的栅格计算任务进行分解;步骤三:步骤二中栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,每个计算任务具有相同的计算方法和输入输出文件,保证每个计算任务可以分配到不同的处理器上进行独立运算;步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树;步骤五:采用DAG模型对步骤四中的任务树进行表示;步骤六:根据DAG模型和边际消除的动态调度算法求解有效的任务调度方案,动态的生成任务调度序列;?步骤七:根据任务调度序列,提交PBS任务调度器,实现模型的并行计算。

【技术特征摘要】
1.一种全分布式流域生态水文模型的快速并行化方法,其特征在于,所述方法包括以下步骤: 步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系; 步骤二:按生态水文过程计算的数据传递关系,对全分布式生态水文模型的栅格计算任务进行分解; 步骤三:步骤二中栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,每个计算任务具有相同的计算方法和输入输出文件,保证每个计算任务可以分配到不同的处理器上进行独立运算; 步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树; 步骤五:采用DAG模型对步骤四中的任务树进行表示; 步骤六:根据DAG模型和边际消除的动态调度算法求解有效的任务调度方...

【专利技术属性】
技术研发人员:陈腊娇王力哲马艳刘军志
申请(专利权)人:中国科学院对地观测与数字地球科学中心
类型:发明
国别省市:

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

1