[发明专利]GPU流域径流模拟分布式调度系统及方法有效
申请号: | 201810088247.1 | 申请日: | 2018-01-30 |
公开(公告)号: | CN108196951B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 陈军;文军 | 申请(专利权)人: | 成都信息工程大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波 |
地址: | 610225 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gpu 流域 径流 模拟 分布式 调度 系统 方法 | ||
1.一种流域径流模拟分布式调度方法,该方法适用于包括服务器端、客户端的分布式系统上,所述服务器端包含若干个节点服务器,其特征在于,所述方法包括:
步骤1、将流域数据分为若干个子块,并将径流汇流计算过程分为时间间隔相等的时间片;所述子块能够被单台计算机存储和处理;
步骤2、将所述若干个子块分别发送至服务器上不同的计算机进行通用计算;
步骤3、所述服务器上不同的计算机在接收到一子块处理任务后,始终负责对该子块的径流模拟作迭代处理;在迭代处理中,子块在每一次迭代后,与相邻子块交换边缘数据;
其中负责一子块计算的所述计算机作为一个节点;
所述的交换边缘数据,通过边缘数据更新实现,所述边缘数据更新指在每一帧径流汇流计算完成后,每一子块从相邻子块读取更新后的边缘数据;所述边缘数据更新采用客户端数据交换或服务器上不同节点之间的数据交换,或者采用客户端数据交换和服务器上不同节点之间的数据交换相结合的方式;
所述服务器上不同节点之间的数据交换包括:每一个所述节点记录子块位置,并建立与相邻子块计算节点之间的网络连接;每一节点完成单帧径流汇流计算后,读取边缘数据,并将所述边缘数据发送至相邻子块的节点;当一节点接收到所有更新后的边缘数据后,进入下一时间片的径流汇流计算;
所述客户端数据交换包括:将客户端作为边缘数据聚合中心,在各节点完成径流汇流计算后,读取边缘数据,一次性传输给客户端;客户端在接收到全部边缘数据后,将各节点所需的新的边缘数据一次性发送给对应节点;
所述边缘数据更新的方式为:若内部分块在四个方向上同时存在边缘数据,则从相邻的8个分块中读取边缘数据并更新,其中,上、下、左、右相邻分块读取一行或一列,其余相邻分块则读取一个像元。
2.根据权利要求1所述的方法,其特征在于,所述步骤1中,每个子块的数据量满足单台计算机能够存储和处理。
3.根据权利要求1所述的方法,其特征在于,所述边缘数据更新还包括显存和内存的边缘数据更新:当节点的子块数据计算完成后,将边缘数据从显存读回内存,并通过网络传输至客户端或相邻的子块所在的节点;
若通过网络直接传输至相邻的子块所在的节点,则当节点接收到新的边缘数据后,将其存储在内存,随后在将其更新至显存;此后,节点进行下一时间片的径流汇流计算;
若通过网络直接传输至客户端,则客户端负责将汇总后的边缘数据发送至各个相邻的子块所在的节点,则当节点接收到新的边缘数据后,将其存储在内存,随后在将其更新至显存;此后,节点进行下一时间片的径流汇流计算。
4.根据权利要求1所述的方法,其特征在于,所述子块包括若干个网格单元,所述径流汇流计算以网格为单元进行,包括网格单元水量收支计算、网格单元受力计算。
5.根据权利要求4所述的方法,其特征在于,所述网格单元水量收支计算包括:
在时间片上,计算任意网格单元c的水量收支,其中tn+1时刻的网格水深为:
其中,和分别为时间片上的降水量、下渗量、蒸发量、流入量和流出量;
网格的初始水速和终止水速满足:
其中,tn时刻的网格水深为网格单元b为网格单元c的相邻网格单元,为网格单元b水流流入网格单元c的速度分量,ΔL为网格单元b和网格单元c的中心距离,为流出量,Δt为汇流时间。
6.根据权利要求4所述的方法,其特征在于,所述网格单元受力计算包括:
以中心网格和邻域网格水体高度差来模拟水体在重力和压力梯度的作用下产生的速度增量;
依据地表水流的河床摩擦力,确定水流速度衰减。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都信息工程大学,未经成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810088247.1/1.html,转载请声明来源钻瓜专利网。