System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算需求处理,尤其涉及一种基于actor模型的水生态过程模拟运算方法及系统。
技术介绍
1、水体中存在的微量污染物虽然剂量很低,但是由于具有生物蓄积和放大作用,对水生生物产生毒害作用,进而对生态系统产生严重的影响。因此亟需针对目标水体开展生态风险评价,建立污染物浓度与生态效应之间的量化关系,评估环境污染物对生态系统或生物的有害影响。水生态过程模型可以提供生态系统尺度上污染物浓度与种群生态效应定量分析方法,因此,应用水生态过程模型进行生态系统尺度的风险评估是最重要的技术途径,也是区域水环境生态风险评价的发展趋势。
2、现有的水生态过程模型的计算单元数量仅限于一个,即将整个目标水体假设为一个独立且均匀混合的计算单元。然而,这种假设显然不符合现实水体情况,因为真实水体,尤其像大型河流、湖泊、水库,普遍具有空间异质性。因此将真实水体概化为唯一一个计算单元,不能捕捉到目标水体生态毒理效应差异。为了考虑这种空间差异性,普遍的共识是将研究水体切分为大量小而密的计算网格,每个体现了空间异质性的网格将作为一个独立的计算单元。即使这种共识广为接受,但在实践中却难以实现,主要原因在于:一方面是大量的计算单元产生大量的计算量,传统的顺序计算模式往往导致评估时间过长;另外一方面是,局部计算故障造成总体计算过程失败。
技术实现思路
1、本专利技术旨在至少解决相关技术中存在的技术问题之一。为此,本专利技术提供一种基于actor模型的水生态过程模拟运算方法及系统。
2、本专利
3、s1:建立资源管理器及与每个计算节点对应的节点管理器,通过节点管理器及所述资源管理器监控计算节点的资源情况;
4、s2:由单个计算节点中建立多个任务单元,其中单个所述任务单元与水生态过程模型的单个网格计算单元对应;
5、s3:将水生态过程模型的每个网格计算单元对应的计算任务映射为待执行任务,并同步更新待执行任务及任务单元的配置文件;
6、s4:根据所述资源情况,通过所述资源管理器及节点管理器维持多个任务单元负载均衡,并通过多个负载均衡的任务单元分别执行多个待执行任务,获得运算结果。
7、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s1中的所述资源管理器为resourcemanager actor,所述节点管理器为nodemanager actor。
8、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s1中的所述资源情况包括计算节点的资源消耗情况及模型计算的进度情况,所述资源情况由所述节点管理器通过心跳方法上报至所述资源管理器。
9、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s2中,单个计算节点对应的任务单元数的表达式为:
10、nt=nc-1;
11、其中,nt为当前计算节点建立的任务单元数,nc为当前计算节点中包括的cpu核数。
12、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s3中,同步更新待执行任务及任务单元的配置文件的步骤进一步包括:
13、s31:当任务单元建立时,节点管理器向多个任务单元发送不同的模型配置消息;
14、s32:任务单元将所述模型配置消息顺序存放至暂存邮箱;
15、s33:待执行任务由所述暂存邮箱接收所述模型配置消息,并根据所述模型配置消息申请临时工作空间;
16、s34:待执行任务由actor系统的共享资源中拉取对应的水生态过程模型的配置文件并更新所述任务单元的配置文件。
17、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s4中的所述运算结果由任务单元通过tcp协议发送至actor系统的共享资源。
18、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s4还包括:
19、s41:当任务单元对待执行任务运算结束后,将运算结束的待执行任务对应的临时工作空间进行释放。
20、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s4中还包括:
21、s421:当待执行任务运算失败时,节点管理器响应于运算失败生成异常心跳消息;
22、s422:所述资源管理器接收所述异常心跳消息,定位并释放运算失败的待执行任务对应的临时工作空间。
23、根据本专利技术提供的一种基于actor模型的水生态过程模拟运算方法,步骤s4中还包括:
24、s431:当计算节点发生故障时,故障的计算节点对应的节点管理器响应于计算节点故障;
25、s432:资源管理器将故障的计算节点对应的未完成的待执行任务回收;
26、s433:资源管理器将回收的未完成的待执行任务根据其他计算节点的资源情况分配至其他计算节点,并由重新分配的计算节点继续执行未完成的待执行任务。
27、本专利技术第二方面提供一种基于actor模型的水生态过程模拟运算系统,用以执行如以上任一项所述的一种基于actor模型的水生态过程模拟运算方法,包括:
28、映射模块,所述映射模块用于将水生态过程模型的每个网格计算单元对应的计算任务映射为待执行任务;
29、任务单元,actor系统的每个计算节点中设置多个任务单元,多个任务单元分别执行多个待执行任务;
30、节点管理器,多个节点管理器分别管理actor系统的多个计算节点的资源情况及待执行任务的执行进度,并将所述资源情况及所述执行进度通过心跳方式上传至资源管理器;
31、资源管理器,资源管理器用于管理actor系统的多个计算节点并维持多个计算节点的负载均衡。
32、本专利技术提供的一种基于actor模型的水生态过程模拟运算方法及系统,适用于超大规模数量水生态过程模型网格计算,具有强实用性,并且能够有效解决水生态过程模型网格计算中存在的硬件故障问题,相比于传统的顺序网格计算方法,本专利技术可以动态增加计算节点资源,且不会影响正常计算,另外本专利技术提出将网格计算与actor系统实现映射,将多个独立的网格计算任务转换为独立的actor对象,稳健而有效地解决了水生态过程模型的规模计算问题,总体来能够提高水生态过程模拟的容错能力,并提升了计算效率及准确率。
33、本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
本文档来自技高网...【技术保护点】
1.一种基于Actor模型的水生态过程模拟运算方法,其特征在于,包括:
2.根据权利要求1所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S1中的所述资源管理器为ResourceManager Actor,所述节点管理器为NodeManager Actor。
3.根据权利要求1所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S1中的所述资源情况包括计算节点的资源消耗情况及模型计算的进度情况,所述资源情况由所述节点管理器通过心跳方法上报至所述资源管理器。
4.根据权利要求1所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S2中,单个计算节点对应的任务单元数的表达式为:
5.根据权利要求1所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S3中,同步更新待执行任务及任务单元的配置文件的步骤进一步包括:
6.根据权利要求1所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S4中的所述运算结果由任务单元通过TCP协议发送至A
7.根据权利要求5所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S4还包括:
8.根据权利要求5所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S4中还包括:
9.根据权利要求1所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,步骤S4中还包括:
10.一种基于Actor模型的水生态过程模拟运算系统,用以执行如权利要求1-9任一项所述的一种基于Actor模型的水生态过程模拟运算方法,其特征在于,包括:
...【技术特征摘要】
1.一种基于actor模型的水生态过程模拟运算方法,其特征在于,包括:
2.根据权利要求1所述的一种基于actor模型的水生态过程模拟运算方法,其特征在于,步骤s1中的所述资源管理器为resourcemanager actor,所述节点管理器为nodemanager actor。
3.根据权利要求1所述的一种基于actor模型的水生态过程模拟运算方法,其特征在于,步骤s1中的所述资源情况包括计算节点的资源消耗情况及模型计算的进度情况,所述资源情况由所述节点管理器通过心跳方法上报至所述资源管理器。
4.根据权利要求1所述的一种基于actor模型的水生态过程模拟运算方法,其特征在于,步骤s2中,单个计算节点对应的任务单元数的表达式为:
5.根据权利要求1所述的一种基于actor模型的水生态过程模拟运算方法,其特征在...
【专利技术属性】
技术研发人员:郑华,马金锋,李若男,杨延征,舒忠国,
申请(专利权)人:中国科学院生态环境研究中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。