【技术实现步骤摘要】
本专利技术属于地球系统模式的耦合
,特别涉及。
技术介绍
地球系统模式是用于研究全球气候变化的重要工具,该工具主要用于数值模拟整个地球的变化过程,帮助气候学家更好地理解全球气候变化机理以及预测未来地球的气候变化。耦合器是地球系统模式中一个十分关键的高性能组件,主要用于将组成地球地球系统模式的各个地球子系统的分量模式连接起来,从而构成一个完整的地球系统模式。由于能量是在地球各个子系统之间进行传递的,为了确保整个地球能量守恒,各分量模式需要在它们的公共交界面上进行大量的数据交换,这部分数据称为耦合物理量数据,简称耦合数据。因此,耦合器最重要的功能就是分量模式间的数据交换,称为耦合通信。随着地球系统模式的发展,耦合通信的数据量有大大增加的趋势,这种趋势主要体现在以下三个方面第一,耦合通信的数据量会随着耦合分量模式数量的增加而增加。目前常见的地球系统模式仅包含3至4个分量模式,然而将来会有一批新的分量模式加入到地球系统模式中,包括生物圈模式、大气化学模式等,地球系统模式整体的耦合通信数据量将会随之大大增加;第二,耦合通信的数据量会随着分量模式分辨率的提高而增加。分 ...
【技术保护点】
一种用于地球系统模式的耦合通信方法,该方法设分量模式A作为发送端发送耦合数据,设分量模式B作为接收端接收分量模式A发送的耦合数据,其特征在于,该方法包括根据耦合数据的特征自适应判定是否对耦合数据进行压缩,以及采用何种压缩方式的第一阶段;和根据自适应判定结果进行耦合通信的第二阶段;所述的压缩方式包括针对相似性的压缩方式S以及针对零值的压缩方式Z;其中,压缩方式S针对同一网格单元上的耦合物理量在连续两个耦合时间步中,其数值未发生变化的特性;压缩方式Z针对分量模式的耦合数据中包含了一定比例的0值数据。
【技术特征摘要】
1.一种用于地球系统模式的耦合通信方法,该方法设分量模式A作为发送端发送耦合数据,设分量模式B作为接收端接收分量模式A发送的耦合数据,其特征在于,该方法包括根据耦合数据的特征自适应判定是否对耦合数据进行压缩,以及采用何种压缩方式的第一阶段;和根据自适应判定结果进行耦合通信的第二阶段;所述的压缩方式包括针对相似性的压缩方式S以及针对零值的压缩方式Z ;其中,压缩方式S针对同一网格单元上的耦合物理量在连续两个耦合时间步中,其数值未发生变化的特性;压缩方式Z针对分量模式的耦合数据中包含了一定比例的O值数据。2.如权利要求1所述的方法,其特征在于,所述第一阶段包括以下步骤 I)在发送端分量模式A自适应判定在耦合过程中是否对耦合数据进行压缩,若是,则选择相应的压缩方式,转第二阶段;若否,则直接转第二阶段; 具体包括以下步骤 1-1)发送端分量模式A缓存当前耦合时间步上的数据,在下一个耦合时间步转步骤1-2)执行自适应判定; 1-2)对缓存的耦合数据进行特征提取,包括提取计算出的零值率和相似度,计算零值率是统计零值数据占整个耦合数据的比例值,计算相似度是统计上一个耦合时间步缓存的耦合数据以及当前耦合时间步的耦合数据相同位置上数值没有变化的数据所占整个耦合数据的比例值; 1-3)根据配置文件中用户设定的零值率阈值、相似度阈值、比例因子,取值范围均为0-1之间;并结合步骤1-2)中的特征计算结果进行判定,首先判定是否对耦合数据进行压缩,如果耦合数据的两个特征计算结果未达到零值率和相似度阈值,压缩标识设置为0,转步骤1-5);否则转步骤1-4)再判定采用何种压缩方式进行压缩; 1-4)如果仅相似度达到阈值,则采用压缩方式S,压缩标识设置为1,转步骤1-5);如果仅零值率达到阈值,则采用压缩方式Z,压缩标识设置为2,转步骤1-5);如果零值率和相似度均达到阈值条件,则比较该两个特征的计算结果,若相似度大于零值率乘以比例因子,则压缩标识设置为1,否则压缩标识设置为2,转步骤1-5); 1-5)自适应判定结束。3.如权利要求1所述的方法,其特征在于,所述第二阶段包括以下步骤设分量模式A和分量模式B由多个进程运行,分量模式A的进程发送耦合数据,分量模式B的进程接收耦合数据; 作为发送端的分量模式A,具体包括以下步骤 步骤Al :分量模式A的每个源进程,根据路由表中所包含的发送数据的位置信息,并根据分量模式B的目标进程号从本地内存中收集相应的耦合数据,然后打包成原始数据块; 步骤A2 :根据自适应判定得到的压缩标识,判断下原始数据块,若压缩标识为0,说明不进行压缩,申请内存空间存放目标数据块,将目标数据块的第一字节压缩标识设置为0,然后将原始数据块复制到压缩标识之后的内存空间中,生成目标数据块,转至步骤A4,若压缩标识为1,则采用压缩方式S对原始数据块进行压缩,转至步骤A3,若压缩标识为2,则采用压缩方式Z对原始数据块进行压缩,转至步骤A4 ; 步骤A3 :将当前时间步的原始数据块复制到保存参考数据块的内存空间中,用于下一个耦合时间步基于压缩的耦合通信;步骤A4 :分量模式A的每个源进程根据路由表中包含的通信映射关系,调用MPI函数将数据块发送给分量模式B相应的目标进程;步骤A5 :判断是否有未发送的目标进程,若是转步骤Al,否则转步骤A6 ;步骤A6 :等待完成全部发送,分量模式A的耦合通信结束;作为接收端的分量模式B,具体包括以下步骤步骤B1:分量模式B的目标进程,根据路由表中包含的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。