发明名称 一种集群环境下分布式水文模拟的并行化方法
摘要 一种集群环境下分布式水文模拟的并行化方法,对分布式水文模拟并行计算中的限制因子——汇流过程计算与并行性较好的坡面过程计算区分对待,研发了一种集群环境下的并行算法,以提高计算效率。技术方案为:进行子流域划分和分级;以子流域为模版,将输入数据进行剖分并存入数据库;以子流域面积为计算量的衡量指标,同时考虑子流域间的拓扑关系进行计算任务划分;以子流域为单元,在集群环境下进行并行计算,其中,坡面过程计算采用静态调度,河道过程计算采用动态调度;计算完成后,将结果写入数据库。本发明突破了集群环境下现有分布式水文模拟并行化方法的性能瓶颈,显著提高了并行性能,在大流域高分辨率分布式水文模拟方面具有广阔的应用前景。
申请公布号 CN103092572A 申请公布日期 2013.05.08
申请号 CN201310011570.6 申请日期 2013.01.11
申请人 中国科学院地理科学与资源研究所 发明人 朱阿兴;刘军志;吴辉;刘永波;秦承志
分类号 G06F9/38(2006.01)I;G06F19/00(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 贾玉忠
主权项 一种集群环境下分布式水文模拟的并行化方法,其特征在于实现步骤如下:(1)根据栅格DEM(Digital Elevation Model)将流域按照应用目标和流域特点划分成多个子流域,子流域划分过程包括填洼、提取流向、流量累积、河网提取、河网编码、子流域提取和子流域分级;所述子流域分级的方法为:源头子流域为第一级,非源头子流域的级别为其上游河段的最大级别加1;子流域分级信息将用于下面步骤中子流域计算顺序的确定;(2)从DEM、土地利用图、土壤图、遥感影像等基础信息中提取模型运行所需要的空间参数(以栅格方式存储);(3)以子流域为模版,对分布式水文模拟所需的栅格数据进行剖分,得到按子流域组织的空间数据,并以二进制格式存入数据库,以便进行以子流域为单元的高效数据读写;(4)以子流域面积作为计算量的衡量指标,同时考虑子流域间的拓扑关系进行并行计算任务划分;(5)在集群环境下,对坡面和河道过程分别采用不同的并行策略进行并行计算:坡面过程的计算相互独立,计算时不需要进行通信,可采用静态任务调度的方式;而河道过程的计算则必须按照从上游到下游的顺序依次进行,而且下游子流域的汇流计算需要上游子流域的流量作为输入,需要考虑子流域的计算顺序和进程间的通信,进行动态任务调度;并行计算采用主从式架构,由一个管理进程和多个计算进程组成;所述管理进程负责任务的分发、计算进程间的协调以及计算结果的汇总;计算开始时,管理进程读取子流域信息和任务划分方案,并将计算任务分配到各个计算进程;由于一个子流域的坡面过程和河道汇流计算密切相关,所以一个子流域的坡面和河道计算任务由同一计算进程执行;在运行过程中,管理进程在内存中通过树型结构保存子流域间的拓扑关系,并负责计算进程间的协调和数据传递;在计算完成后,管理进程负责汇总各计算进程的计算结果并将汇总的全局结果写入数据库;所述计算进程负责执行具体的计算任务,在计算时根据计算特点将任务分为三类:A类:源头子流域坡面过程和河道汇流整体计算;B类:非源头子流域的坡面过程计算;C类:非源头子流域的的河道汇流计算;其中,各个子流域的前两类计算任务是相互独立的,计算进程收到计算任务后先进行这两类任务的计算,然后进行C类任务的计算;在同一类任务中,子流域级别越小,即距源头 子流域越近,优先级越高;对A类和B类任务,计算前需先从数据库中读取模拟所需的流域数据,包括河道汇流所需数据;对于C类任务计算前需从当前计算进程或管理进程获取上游子流域的出口流量数据;每个计算任务完成后,计算进程将用户指定的计算结果写到数据库,并检查计算完成子流域的下游子流域是否在同一节点,如果在同一节点,则将子流域出口的计算结果保存在内存供下游子流域计算使用;如果下游子流域不在同一节点,则将出口的计算结果发送给管理进程,再由管理进程转发给需要的计算进程;当所有计算进程完成计算任务后,计算进程通知管理进程计算结束,然后管理进程和计算进程结束。
地址 100101 北京市朝阳区大屯路甲11号