CN111639054A - 一种海洋模式与资料同化的数据耦合方法、系统及介质 - Google Patents
一种海洋模式与资料同化的数据耦合方法、系统及介质 Download PDFInfo
- Publication number
- CN111639054A CN111639054A CN202010479194.3A CN202010479194A CN111639054A CN 111639054 A CN111639054 A CN 111639054A CN 202010479194 A CN202010479194 A CN 202010479194A CN 111639054 A CN111639054 A CN 111639054A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- file
- partition
- ocean
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010168 coupling process Methods 0.000 title claims abstract description 27
- 238000005192 partition Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 42
- 230000006978 adaptation Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 19
- 210000001503 joint Anatomy 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims description 9
- 238000005859 coupling reaction Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000010354 integration Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 11
- 238000012950 reanalysis Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 101710150311 Dolichyl-phosphooligosaccharide-protein glycotransferase Proteins 0.000 description 8
- 101710202156 Dolichyl-phosphooligosaccharide-protein glycotransferase 1 Proteins 0.000 description 8
- 101710202150 Dolichyl-phosphooligosaccharide-protein glycotransferase 2 Proteins 0.000 description 8
- 238000003032 molecular docking Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- VQLYBLABXAHUDN-UHFFFAOYSA-N bis(4-fluorophenyl)-methyl-(1,2,4-triazol-1-ylmethyl)silane;methyl n-(1h-benzimidazol-2-yl)carbamate Chemical compound C1=CC=C2NC(NC(=O)OC)=NC2=C1.C=1C=C(F)C=CC=1[Si](C=1C=CC(F)=CC=1)(C)CN1C=NC=N1 VQLYBLABXAHUDN-UHFFFAOYSA-N 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Abstract
本发明公开了一种海洋模式与资料同化的数据耦合方法、系统及介质,本发明的方法中,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤具体包括:将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件。本发明采用并发访问技术,实现了模式计算与资料同化间的高效数据交换及全工作流程的无缝整合。
Description
技术领域
本发明涉及信息技术和海洋环境数据应用技术领域,尤其涉及一种海洋模式与资料同化的数据耦合方法、系统及介质。
背景技术
海洋再分析是基于海洋动力模型,利用数据同化技术,将时空分布不均匀的海洋观测资料与数值模式的格点数据相结合,最终得出充分反映海洋要素多时空尺度变化特征和多要素物理关联性的海洋再分析产品,在业务化海洋学、海洋科学研究和气候变化等领域具有重要的应用价值。海洋再分析产品可以为研究海洋对全球气候变化响应、中尺度涡、海洋锋与跃层等海洋现象、海洋状态估计及其变化规律、生态环境变化、海平面上升、以及海洋数值预报和海洋环境保障等提供海洋变化的背景信息。
海洋数值模式(简称海洋模式)与资料同化是海洋数据再分析中两个重要环节。海洋模式是定量描述海洋现象及其变化的数值模型,通过建立数学物理偏微分方程组反映海洋动力、物理以及两者相互作用等复杂过程,并借助数值离散化手段,使用计算机对上述方程组进行求解。资料同化是应用海洋数值模式与观测资料融合、重构时空连续的再分析资料产品的过程。在海洋数据再分析过程中,先通过模式方程求解各个物理状态量,然后由资料同化模块负责将新的观测资料同化融合到上述物理状态量中去,这个过程交替重复进行。常用的全球主要业务化海洋数值模式有HYCOM(The Hybrid Coordinate OceanModel)、POM(The Princeton Ocean Model)、MOM(The Modular Ocean Model)、NEMO(TheNucleus for European Modelling of the Ocean)、MITgcm(The MIT GeneralCirculation Model)、WEMO等系统;由于物理空间范围广、离散网格数量多、数值计算开销大,这些数值模式通常都支持在高性能计算机平台上运行,并支持多种并行方案。海洋资料同化在近十年来也取得了快速的发展,依据其理论原理资料同化可分为2类:一类是基于统计估计理论,如最优插值(Optimal Interpolation,OI)和集合卡尔曼滤波(EnsembleKalman Filter,EnKF)等;另一类是基于最优控制或称变分,如三维变分(3 DimensionalVariation,3DVar)和四维变分(4 Dimensional Variation,4DVar)等。
全球海洋数据再分析过程必需借助超级计算机平台完成,由于历史上海洋模式和同化模块分别由不同的研究团队独立完成,它们并行处理的方案上并不相同,当将这些模式与同化模块组合起来、形成海洋再分析工作流时,将面临着模式产出数据与同化模块输入数据的交换与适配问题。以MPI多进程并行运行的MITgcm数值模式+四维变分同化模块的组合为例,并发运行数据模式时,每个进程各自生成独立的物理量状态结果数据文件,这些文件可能存储于不同的机器结点上(或者以共享文件卷的方式存储在专用服务器上),而同化模块则需要读取一个整体的大文件,二者接口并不匹配。为了不改变二个模块各自的接口,需要编写专门的数据适配模块;这样处理面临两个挑战:(1)数据量过大,难以在内存中完成数据合并。全球海洋再分析数据每个同化周期产出数据约20GB,若再考虑合并过程引入的辅助空间开销,整个数据适配过程对单一计算机机主存容量提出严峻挑战。(2)适配模块性能较差。跟经过做过高度性能优化的现成模块相比,用户编写的这个数据适配模块往往性能较差,成为限制海洋再分析数据产出效率的性能瓶颈。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种海洋模式与资料同化的数据耦合方法、系统及介质,采用并发访问技术,实现了模式计算与资料同化间的高效数据交换及全工作流程的无缝整合。
为解决上述技术问题,本发明提出的技术方案为:
一种海洋模式与资料同化的数据耦合方法,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤具体包括:将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件。
进一步的,所述合并的步骤具体包括:依照每个分区文件的大小及预设的文件大小阈值,判断使用串行合并,还是并行合并,当单个分区文件大小小于文件大小阈值时,执行串行合并,否则执行并行合并。
进一步的,所述合并的步骤还包括协调调度多个分区文件的合并,具体包括以下步骤:
1)将所有分区文件按文件大小从大到小排序,形成一个待处理列表;
2)每次从待处理列表的头部和尾部各取一个分区文件,同时启动合并过程;
3)头部取出的分区文件采用并行合并,尾部取出的分区文件采用串行合并;
4)返回步骤2)直到待处理列表为空。
进一步的,所述并行合并具体包括以下步骤:
A1) 针对海洋数值模式模块生成的每个分区文件,分别建立每个分区文件与全空间场的映射关系;
A2)使用并行支撑库中的并行文件操作方式,让各个进程打开并读取各个分区文件,把分区文件内容保存到各个进程私有的缓冲区中;
A3)创建最终要合并的全空间场文件,并使用并行文件IO操作将各进程私有缓冲区内的分区文件内容写入相应部分,完成文件的并行写操作。
进一步的,所述串行合并具体包括以下步骤:
B1)针对海洋数值模式生成的每个分区文件,建立其与全空间场的映射关系;
B2)读取一个分区文件,按照映射关系写入合并后全空间场文件的相应位置;
B3) 重复步骤B2)直到所有每个分区文件都处理完毕。
进一步的,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤还包括执行参数配置,具体包括:结合特定数据文件大小特征、超级计算机集群硬件平台的底层存储参数特征,给出数据IO性能最佳的配置参数,具体包括以下步骤:
C1)建立两个文件路径,分别用于存储大文件和小文件;
C2)根据每个分区文件大小及预设的文件大小阈值,决定若单个分区文件大小大于阈值,则作为大文件存储于大文件路径下,否则作为小文件存储于小文件路径下;
C3)针对小文件,采用单进程直接存取方式访问;
C4)针对大文件,优化数据IO的性能并优化数据访问的并行性,实现较大的聚合IO带宽。
进一步的,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤还包括协调海洋数值模式模块、资料同化模块及海洋数值模式模块和资料同化模块的数据交换与对接的最佳调度的步骤,具体包括以下步骤:
D1)比较海洋数值模式模块和资料同化模块的并行运行时间,若海洋数值模式模块的并行运行时间大于资料同化模块的并行运行时间,则执行D2),否则执行D3);
D2)减小资料同化模块使用的处理器数量,将空余出的处理器用于并发执行海洋数值模式模块和资料同化模块的数据交换与对接;
D3)分配适当数量的处理器,分别用于海洋数值模式模块的处理、资料同化模块的处理、海洋数值模式模块和资料同化模块的数据交换与对接的处理,并使海洋数值模式模块的处理、资料同化模块的处理、海洋数值模式模块和资料同化模块的数据交换与对接的处理形成流水线。
本发明还提出一种海洋模式与资料同化的数据耦合系统,包括超级计算机集群硬件平台、并行支撑软件、海洋数值模式模块和资料同化模块,其特征在于,还包括用于实现海洋数值模式模块和资料同化模块的数据交换与对接的数据交换适配模块,所述数据交换适配模块包括:
合并单一物理量数据功能单元,用于将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件,依照每个分区文件的大小及预设的文件大小阈值,判断使用串行合并,还是并行合并,当单个分区文件大小小于文件大小阈值时,执行串行合并,否则执行并行合并;
优化数据IO性能参数功能单元,用于设置文件大小阈值,建立大文件路径和小文件路径,根据分区文件大小及文件大小阈值决定每个分区文件的存储路径,结合特定数据文件大小特征、超级计算机集群硬件平台的底层存储参数特征,给出数据IO性能最佳的配置参数,针对小路径下的分区文件采用单进程直接存取方式访问,针对大文件路径下的分区文件优化数据IO的性能并优化数据访问的并行性,实现较大的聚合IO带宽;
调度子任务功能单元,用于协调海洋数值模式模块、资料同化模块及数据交换适配模块的最佳调度,比较海洋数值模式模块和资料同化模块的并行执行时间,若海洋数值模式模块的执行时间大于资料同化模块的执行时间,则减小资料同化模块使用的处理器数量,将空余出的处理器用于并发执行数据交换适配模块,否则分配适当数量的处理器,分别用于海洋数值模式模块的处理、资料同化模块的处理、数据交换适配模块的处理,使海洋数值模式模块的处理、资料同化模块的处理、数据交换适配模块的处理形成流水线,还用于协调调度数据交换适配模块内多个分区文件的合并过程,将所有分区文件按文件大小从大到小排序,形成一个待处理列表,每次从待处理列表的头部和尾部各取一个分区文件,头部取出的分区文件合并采用并行合并,尾部取出的分区文件合并串行合并,直到待处理列表为空时为止。
本发明还提出一种海洋模式与资料同化的数据耦合系统,包括计算机设备,所述计算机设备被编程或配置以执行上述的海洋模式与资料同化的数据耦合方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有被编程或配置以执行上述的海洋模式与资料同化的数据耦合方法的计算机程序。
与现有技术相比,本发明的优点在于:
(1)本发明采用并行处理方式、并对数据IO过程进行了性能调优,提高了数据交换适配与耦合过程的效率。以在天河1A超级计算机平台上、使用MITgcm海洋模式为例,每个海洋模式迭代周期中需要对22个物理变量进行数据合并,原始串行合并约需要6分钟,使用本发明的并行合并后,时间缩短到了约15秒。
(2)本发明通过对数据交换适配过程中的子任务进行合理调度,实现了海洋模式、数据交换适配、资料同化过程的无缝对接,实现了全过程的流程化与自动化。
(3)本发明借助超级计算机集群硬件平台,克服了在单一计算机设备上难以处理大规模数据的困难,实现了海洋模式与资料同化的数据交换与对接。
附图说明
图1为本发明实施例的原理组成示意图。
图2为本发明实施例的合并单一物理量数据功能单元执行合并功能的流程图。
图3为本发明实施例的优化数据IO性能参数功能单元执行参数配置的过程示意图。
图4为本发明实施例的调度子任务功能单元的执行流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本发明提出一种海洋模式与资料同化的数据耦合系统,包括超级计算机集群硬件平台,并行支撑软件,海洋数值模式模块,资料同化模块,数据交换适配模块,其中:
超级计算机集群硬件平台用于存储海洋环境数据、完成海洋数值模式计算、完成资料同化过程的数值计算、完成数据交换适配过程;
并行支撑软件包括集群平台作业管理与调度系统,分布式存储平台下的并行运行库,集群平台作业管理与调度系统用于管理用户提交的并行计算任务、按需调配合适的计算资源、完成并行计算作业,分布式存储平台下的并行运行库支持用户用消息传递的编程接口实现多台计算机结点之间的数据交换、任务同步;
海洋数值模式模块是一组数学物理模型及其计算机程序实现,用于刻画海洋物理过程、动力学变化特征;
资料同化模块是一组数理模型及其计算机程序实现,用于把海洋数值模式与观测资料相融合、重构产生出时空连续的新数据;
本实施例在海洋数值模式模块和资料同化模块之间新增数据交换适配模块,用于将海洋数值模式模块及资料同化模块串联起来,实现高效数据交换与对接的功能。
在图1中,超级计算机集群硬件平台是实施本发明的物质基础,为其余组成部分提供大容量的存储资源和高效率的处理器计算资源,并行支撑软件是联系上层三个模块与底层超级计算机集群硬件平台的桥梁,三个模块使用计算机存储资源和计算资源时,都必需通过并行支撑软件进行,海洋数值模式模块和资料同化模块是构成上层海洋再分析数据业务应用的两个组成部分,数据交换适配模块用于为联接海洋数值模式模块和资料同化模块、形成无缝对接的工作流程。
本实施例的数据交换适配模块进一步包括:合并单一物理量数据功能单元,优化数据IO性能参数功能单元,调度子任务功能单元。
如图2所示,合并单一物理量数据功能单元用于将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件,依照每个分区文件的大小及预设的文件大小阈值,判断使用串行合并,还是并行合并,当单个分区文件的大小小于文件大小阈值时,执行串行合并,否则执行并行合并;
如图3所示,优化数据IO性能参数功能单元用于设置文件大小阈值,建立大文件路径和小文件路径,根据分区文件大小及文件大小阈值决定每个分区文件的存储路径,结合特定数据文件大小特征、超级计算机集群硬件平台的底层存储参数特征,给出数据IO性能最佳的配置参数,针对小路径下的分区文件采用单进程直接存取方式访问,针对大文件路径下的分区文件优化数据IO的性能并优化数据访问的并行性,实现较大的聚合IO带宽;
如图4所示,调度子任务功能单元用于协调海洋数值模式模块、资料同化模块及数据交换适配模块的最佳调度,比较海洋数值模式模块和资料同化模块的并行执行时间,若海洋数值模式模块的执行时间时间大于资料同化模块的执行时间,则减小资料同化模块使用的处理器数量,将空余出的处理器用于并发执行数据交换适配模块,否则分配适当数量的处理器,分别用于海洋数值模式模块的处理、资料同化模块的处理、数据交换适配模块的处理,使海洋数值模式模块的处理、资料同化模块的处理、数据交换适配模块的处理形成流水线,还用于协调调度数据交换适配模块内多个分区文件的合并过程,将所有分区文件按文件大小从大到小排序,形成一个待处理列表,每次从待处理列表的头部和尾部各取一个分区文件,头部取出的分区文件合并采用并行合并,尾部取出的分区文件合并串行合并,直到待处理列表为空时为止。
本实施例基于上述模块和单元提出一种海洋模式与资料同化的数据耦合方法,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤具体包括:将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件。
如图2所示,合并的步骤具体包括:依照每个分区文件的大小及预设的文件大小阈值,判断使用串行合并,还是并行合并,当单个分区文件大小小于文件大小阈值时,执行串行合并,否则执行并行合并。
如图4右侧虚线框中流程图所示,合并的步骤还包括协调调度多个分区文件的合并,具体包括以下步骤:
1)将所有分区文件按文件大小从大到小排序,形成一个待处理列表;
2)每次从待处理列表的头部和尾部各取一个分区文件,同时启动合并过程;
3)头部取出的分区文件采用并行合并,尾部取出的分区文件采用串行合并;
4)返回步骤2)直到待处理列表为空。
如图2所示,本实施例的并行合并具体包括以下步骤:
A1) 针对海洋数值模式生成的每个分区文件,分别建立每个分区文件与全空间场的映射关系;
A2)使用并行支撑库中的并行文件操作方式,让各个进程打开并读取各个分区文件,把分区文件内容保存到各个进程私有的缓冲区中;
A3)创建最终要合并的全空间场文件,并使用并行文件IO操作将各进程私有缓冲区内的分区文件内容写入相应部分,完成文件的并行写操作。
如图2所示,本实施例的串行合并具体包括以下步骤:
B1)针对海洋数值模式生成的每个分区文件,建立其与全空间场的映射关系;
B2)读取一个分区文件,按照映射关系写入合并后全空间场文件的相应位置;
B3) 重复步骤B2)直到所有每个分区文件都处理完毕。
如图3所示,本实施例中将海洋数值模式模块和资料同化模块的数据交换与对接的步骤还包括执行参数配置,具体包括:结合特定数据文件大小特征、超级计算机集群硬件平台的底层存储参数特征,给出数据IO性能最佳的配置参数,具体包括以下步骤:
C1)建立两个文件路径,分别用于存储大文件和小文件;
C2)根据每个分区文件大小及文件大小阈值,决定若单个分区文件大小大于阈值,则作为大文件存储于大文件路径下,否则作为小文件存储于小文件路径下;
C3)针对小文件,采用单进程直接存取方式访问,采用预设的stripe_count, stripe_size、stripe_offset、使用OST数目等参数;
C4)针对大文件,优化数据IO的性能并优化数据访问的并行性,实现较大的聚合IO带宽,具体包括:根据超级计算机集群硬件平台所使用Lustre存储系统中最大OST数目、文件访问方式,确定合适的stripe_count, stripe_size、stripe_offset、使用OST数目等参数。
如图4左侧虚线框中流程图所示,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤还包括协调海洋数值模式模块、资料同化模块及数据交换与对接的最佳调度的步骤,具体包括以下步骤:
D1)比较海洋数值模式模块和资料同化模块的并行运行时间,若海洋数值模式模块的并行运行时间大于资料同化模块的并行运行时间,则执行D2),否则执行D3);
D2)减小资料同化模块使用的处理器数量,将空余出的处理器用于并发执行海洋数值模式模块和资料同化模块的数据交换与对接;
D3)分配适当数量的处理器,分别用于海洋数值模式模块的处理、资料同化模块的处理、海洋数值模式模块和资料同化模块的数据交换与对接的处理,并使海洋数值模式模块的处理、资料同化模块的处理、海洋数值模式模块和资料同化模块的数据交换与对接的处理形成流水线。
以下结合具体参数以及本实施例的海洋模式与资料同化的数据耦合系统的各功能模块及各功能单元对本实施例的海洋模式与资料同化的数据耦合方法的实施步骤进行进一步说明,本实施例的海洋模式与资料同化的数据耦合方法包括以下实施步骤:
S1)记录所使用海洋模式模块每个迭代周期内生成的物理量数量K、种类及各物理量对应的分区文件的大小S[1...K](例如,使用MITgcm海洋数值模式,生成了包括温度、盐度、流速等在内的共计K=22种物理量,其分区文件从50MB到2GB大小不等);
测定并记录超级计算机集群硬件平台的配置参数,包括最大可用进程数Nmax和最大OST数量Omax;
测定并记录海洋模式模块使用的处理器数目N1及其并行运行时间T1;
测定并记录资料同化模块使用的处理器数目N2及其并行运行时间T2;
S2)将所有分区文件大小S[1...K]从大到小排序,并取90%位置的分区文件大小值作为文件大小阈值S*,该阈值用于确定分区文件应当串行处理还是并行处理,当N1×S*小于1GB时,令S*为1GB÷N1,此过程由优化数据IO性能参数功能单元完成;
S3)根据前文中的步骤C1)~C4)进行参数配置,此过程由优化数据IO性能参数功能单元完成,包括:
在超级计算机集群硬件平台的存储中分别建立大文件路径(例如large/)和小文件路径(例如small/),分别用于作为待合并大文件与待合并小文件的存储位置;
依据最大OST数量Omax、最大可用进程数Nmax的大小确定大文件路径large/的最佳访问性能参数,确定合适的stripe_count, stripe_size、stripe_offset、OST数目等参数,缺省情况下,取OST=64,stripe_count=50,stripe_size=5MB,stripe_offset=-1;
根据预设的参数确定小文件路径small/的最佳访问性能参数,取值为OST=1,stripe_count=1,stripe_size=1MB,stripe_offset=-1;
S4)根据前文中的步骤D1)~D3)调整海洋模式模块和资料同化模块使用的处理器资源数量,此过程由调度子任务功能单元完成,具体包括以下步骤:
S41)若T1 > T2,则执行步骤S42),否则执行步骤S43);
S42)持续减小资料同化模块使用的处理器数量,重新测定资料同化模块的并行执行时间T2,直到满足T1 < T2时为止,记录此时使用的进程数目,仍记作N2,为了快速达到此目标,可采用二分法试探每次减小处理器的数量;
S43)将空余出的处理器分配给数据交换适配模块;
此时,已经建立了海洋模式模块、资料同化模块、数据交换适配模块的流水线调度处理基础;
S5)海洋模式模块、资料同化模块、数据交换适配模块的流水线调度处理,此过程由调度子任务功能单元完成,S5)包括以下步骤:
S51)启动海洋数值模式模块的运行,并将生成的分区文件按照文件大小确定存储位置,若分区文件大小大于文件大小阈值S*,则存储到大文件路径large/下;否则存储于小文件路径small/下;
S52)根据前文中的步骤1)~4)协调调度多个物理量数据的合并,S52)包括以下步骤:
S521)对将所有分区文件按文件大小从大到小排序,形成一个待处理列表;
S522)从待处理列表的头部和尾部各取一个分区文件,该列表中只有一个数据项时,则只取头部分区文件;
对于头部取出的分区文件采用步骤A1)~ A3)的并行合并,对于尾部取出的分区文件采用步骤B1)~ B3)的串行合并;
S523)重复步骤S522)直到待处理列表为空,并执行步骤S53);
S53)启动资料同化模块的并行运行。
综上所述,本发明针对超大规模海洋模式计算与资料同化耦合过程的特点,依托超级计算机集群硬件和并行支撑软件,采用跨机器结点的分布式并发运行方式优化设计资源调度流程,新增合并单一物理量数据、优化数据IO性能参数、优化数据IO性能参数等功能的数据交换适配模块,实现了海洋数值模式及资料同化之间的高效数据交换与对接,为长时间序列全球高分辨率海洋再分析系统研制提供了数据文件高效生成的技术解决方案。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种海洋模式与资料同化的数据耦合方法,其特征在于,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤具体包括:将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件。
2.根据权利要求1所述的海洋模式与资料同化的数据耦合方法,其特征在于,所述合并的步骤具体包括:依照每个分区文件的大小及预设的文件大小阈值,判断使用串行合并,还是并行合并,当单个分区文件大小小于文件大小阈值时,执行串行合并,否则执行并行合并。
3.根据权利要求2所述的海洋模式与资料同化的数据耦合方法,其特征在于,所述合并的步骤还包括协调调度多个分区文件的合并,具体包括以下步骤:
1)将所有分区文件按文件大小从大到小排序,形成一个待处理列表;
2)每次从待处理列表的头部和尾部各取一个分区文件,同时启动合并过程;
3)头部取出的分区文件采用并行合并,尾部取出的分区文件采用串行合并;
4)返回步骤2)直到待处理列表为空。
4.根据权利要求2或3所述的海洋模式与资料同化的数据耦合方法,其特征在于,所述并行合并具体包括以下步骤:
A1) 针对海洋数值模式模块生成的每个分区文件,分别建立每个分区文件与全空间场的映射关系;
A2)使用并行支撑库中的并行文件操作方式,让各个进程打开并读取各个分区文件,把分区文件内容保存到各个进程私有的缓冲区中;
A3)创建最终要合并的全空间场文件,并使用并行文件IO操作将各进程私有缓冲区内的分区文件内容写入相应部分,完成文件的并行写操作。
5.根据权利要求2或3所述的海洋模式与资料同化的数据耦合方法,其特征在于,所述串行合并具体包括以下步骤:
B1)针对海洋数值模式生成的每个分区文件,建立其与全空间场的映射关系;
B2)读取一个分区文件,按照映射关系写入合并后全空间场文件的相应位置;
B3) 重复步骤B2)直到所有每个分区文件都处理完毕。
6.根据权利要求1所述的海洋模式与资料同化的数据耦合方法,其特征在于,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤还包括执行参数配置,具体包括:结合特定数据文件大小特征、超级计算机集群硬件平台的底层存储参数特征,给出数据IO性能最佳的配置参数,具体包括以下步骤:
C1)建立两个文件路径,分别用于存储大文件和小文件;
C2)根据每个分区文件大小及预设的文件大小阈值,决定若单个分区文件大小大于阈值,则作为大文件存储于大文件路径下,否则作为小文件存储于小文件路径下;
C3)针对小文件,采用单进程直接存取方式访问;
C4)针对大文件,优化数据IO的性能并优化数据访问的并行性,实现较大的聚合IO带宽。
7.根据权利要求1所述的海洋模式与资料同化的数据耦合方法,其特征在于,将海洋数值模式模块和资料同化模块的数据交换与对接的步骤还包括协调海洋数值模式模块、资料同化模块及海洋数值模式模块和资料同化模块的数据交换与对接的最佳调度的步骤,具体包括以下步骤:
D1)比较海洋数值模式模块和资料同化模块的并行运行时间,若海洋数值模式模块的并行运行时间大于资料同化模块的并行运行时间,则执行D2),否则执行D3);
D2)减小资料同化模块使用的处理器数量,将空余出的处理器用于并发执行海洋数值模式模块和资料同化模块的数据交换与对接;
D3)分配适当数量的处理器,分别用于海洋数值模式模块的处理、资料同化模块的处理、海洋数值模式模块和资料同化模块的数据交换与对接的处理,并使海洋数值模式模块的处理、资料同化模块的处理、海洋数值模式模块和资料同化模块的数据交换与对接的处理形成流水线。
8.一种海洋模式与资料同化的数据耦合系统,包括超级计算机集群硬件平台、并行支撑软件、海洋数值模式模块和资料同化模块,其特征在于,还包括用于实现海洋数值模式模块和资料同化模块的数据交换与对接的数据交换适配模块,所述数据交换适配模块包括:
合并单一物理量数据功能单元,用于将海洋数值模式模块产生的、描述特定物理量的、以分布式文件存储的多个分区文件,合并成可被资料同化模块所读取使用的全空间场文件,依照每个分区文件的大小及预设的文件大小阈值,判断使用串行合并,还是并行合并,当单个分区文件大小小于文件大小阈值时,执行串行合并,否则执行并行合并;
优化数据IO性能参数功能单元,用于设置文件大小阈值,建立大文件路径和小文件路径,根据分区文件大小及文件大小阈值决定每个分区文件的存储路径,结合特定数据文件大小特征、超级计算机集群硬件平台的底层存储参数特征,给出数据IO性能最佳的配置参数,针对小路径下的分区文件采用单进程直接存取方式访问,针对大文件路径下的分区文件优化数据IO的性能并优化数据访问的并行性,实现较大的聚合IO带宽;
调度子任务功能单元,用于协调海洋数值模式模块、资料同化模块及数据交换适配模块的最佳调度,比较海洋数值模式模块和资料同化模块的并行执行时间,若海洋数值模式模块的执行时间大于资料同化模块的执行时间,则减小资料同化模块使用的处理器数量,将空余出的处理器用于并发执行数据交换适配模块,否则分配适当数量的处理器,分别用于海洋数值模式模块的处理、资料同化模块的处理、数据交换适配模块的处理,使海洋数值模式模块的处理、资料同化模块的处理、数据交换适配模块的处理形成流水线,还用于协调调度数据交换适配模块内多个分区文件的合并过程,将所有分区文件按文件大小从大到小排序,形成一个待处理列表,每次从待处理列表的头部和尾部各取一个分区文件,头部取出的分区文件合并采用并行合并,尾部取出的分区文件合并串行合并,直到待处理列表为空时为止。
9.一种海洋模式与资料同化的数据耦合系统,其特征在于,包括计算机设备,所述计算机设备被编程或配置以执行权利要求1~7任一所述的海洋模式与资料同化的数据耦合方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有被编程或配置以执行权利要求1~7任一所述的海洋模式与资料同化的数据耦合方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479194.3A CN111639054B (zh) | 2020-05-29 | 2020-05-29 | 一种海洋模式与资料同化的数据耦合方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479194.3A CN111639054B (zh) | 2020-05-29 | 2020-05-29 | 一种海洋模式与资料同化的数据耦合方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111639054A true CN111639054A (zh) | 2020-09-08 |
CN111639054B CN111639054B (zh) | 2023-11-07 |
Family
ID=72329520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010479194.3A Active CN111639054B (zh) | 2020-05-29 | 2020-05-29 | 一种海洋模式与资料同化的数据耦合方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639054B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540748A (zh) * | 2020-11-09 | 2021-03-23 | 华能新能源股份有限公司 | 一种基于Linux系统bash脚本控制的中尺度风能资源分析自动化运行系统 |
CN113051260A (zh) * | 2021-04-27 | 2021-06-29 | 中国人民解放军国防科技大学 | 基于经验正交函数分解的高分辨率声速剖面数据压缩方法 |
CN116756691A (zh) * | 2023-06-25 | 2023-09-15 | 国家海洋环境预报中心 | 一种海洋数据同化方法、系统、电子设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110295904A1 (en) * | 2010-05-27 | 2011-12-01 | Business Objects Software Ltd. | Cluster identification and transformation |
CN105975493A (zh) * | 2016-04-26 | 2016-09-28 | 北京神州绿盟信息安全科技股份有限公司 | 一种文件合并方法及装置 |
US20170337229A1 (en) * | 2016-05-19 | 2017-11-23 | Oracle International Corporation | Spatial indexing for distributed storage using local indexes |
CN109491968A (zh) * | 2018-11-13 | 2019-03-19 | 浙江鲸腾网络科技有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN110018997A (zh) * | 2019-03-08 | 2019-07-16 | 中国农业科学院农业信息研究所 | 一种基于hdfs的海量小文件存储优化方法 |
CN110147357A (zh) * | 2019-05-07 | 2019-08-20 | 浙江科技学院 | 一种基于大数据环境下的多源数据聚合抽样方法及系统 |
CN110716897A (zh) * | 2019-10-15 | 2020-01-21 | 北部湾大学 | 一种基于云计算的海洋档案数据库并行化构建方法和装置 |
CN110837584A (zh) * | 2019-10-18 | 2020-02-25 | 中山大学 | 一种分块并行构造后缀数组的方法及系统 |
-
2020
- 2020-05-29 CN CN202010479194.3A patent/CN111639054B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110295904A1 (en) * | 2010-05-27 | 2011-12-01 | Business Objects Software Ltd. | Cluster identification and transformation |
CN105975493A (zh) * | 2016-04-26 | 2016-09-28 | 北京神州绿盟信息安全科技股份有限公司 | 一种文件合并方法及装置 |
US20170337229A1 (en) * | 2016-05-19 | 2017-11-23 | Oracle International Corporation | Spatial indexing for distributed storage using local indexes |
CN109491968A (zh) * | 2018-11-13 | 2019-03-19 | 浙江鲸腾网络科技有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN110018997A (zh) * | 2019-03-08 | 2019-07-16 | 中国农业科学院农业信息研究所 | 一种基于hdfs的海量小文件存储优化方法 |
CN110147357A (zh) * | 2019-05-07 | 2019-08-20 | 浙江科技学院 | 一种基于大数据环境下的多源数据聚合抽样方法及系统 |
CN110716897A (zh) * | 2019-10-15 | 2020-01-21 | 北部湾大学 | 一种基于云计算的海洋档案数据库并行化构建方法和装置 |
CN110837584A (zh) * | 2019-10-18 | 2020-02-25 | 中山大学 | 一种分块并行构造后缀数组的方法及系统 |
Non-Patent Citations (1)
Title |
---|
唐佑民;郑飞;张蕴斐;沈浙奇;李俊德;方炜;: "高影响海-气环境事件预报模式的高分辨率海洋资料同化系统研发", no. 05, pages 1 - 3 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540748A (zh) * | 2020-11-09 | 2021-03-23 | 华能新能源股份有限公司 | 一种基于Linux系统bash脚本控制的中尺度风能资源分析自动化运行系统 |
CN112540748B (zh) * | 2020-11-09 | 2024-02-27 | 华能新能源股份有限公司 | 一种中尺度风能资源分析自动化运行系统 |
CN113051260A (zh) * | 2021-04-27 | 2021-06-29 | 中国人民解放军国防科技大学 | 基于经验正交函数分解的高分辨率声速剖面数据压缩方法 |
CN113051260B (zh) * | 2021-04-27 | 2022-04-19 | 中国人民解放军国防科技大学 | 基于经验正交函数分解的高分辨率声速剖面数据压缩方法 |
CN116756691A (zh) * | 2023-06-25 | 2023-09-15 | 国家海洋环境预报中心 | 一种海洋数据同化方法、系统、电子设备及介质 |
CN116756691B (zh) * | 2023-06-25 | 2024-01-30 | 国家海洋环境预报中心 | 一种海洋数据同化方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111639054B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Demmel et al. | Avoiding communication in sparse matrix computations | |
Peterka et al. | Scalable parallel building blocks for custom data analysis | |
US7647590B2 (en) | Parallel computing system using coordinator and master nodes for load balancing and distributing work | |
CN109918199B (zh) | 基于gpu的分布式图处理系统 | |
CN111639054B (zh) | 一种海洋模式与资料同化的数据耦合方法、系统及介质 | |
CN102831011B (zh) | 一种基于众核系统的任务调度方法及装置 | |
US9038088B2 (en) | Load balancing on hetrogenous processing cluster based on exceeded load imbalance factor threshold determined by total completion time of multiple processing phases | |
US20210097221A1 (en) | Optimization method for graph processing based on heterogeneous fpga data streams | |
CN1987794B (zh) | 改进计算机系统中的块分配时间的方法和装置 | |
US9158719B2 (en) | Heterogeneous parallel systems for accelerating simulations based on discrete grid numerical methods | |
CN102929725B (zh) | 信号处理并行计算软件的动态重配置方法 | |
Kress et al. | Comparing the efficiency of in situ visualization paradigms at scale | |
Baker et al. | On the performance of an algebraic multigrid solver on multicore clusters | |
CN105468439B (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行方法 | |
CN104375805A (zh) | 采用多核处理器仿真可重构处理器并行计算过程的方法 | |
CN111860807B (zh) | 分形计算装置、方法、集成电路及板卡 | |
Wang et al. | Towards memory-efficient allocation of CNNs on processing-in-memory architecture | |
CN110750265B (zh) | 一种面向图计算的高层次综合方法及系统 | |
Wu et al. | Hierarchical task mapping for parallel applications on supercomputers | |
Jeon et al. | Parallel exact inference on a CPU-GPGPU heterogenous system | |
Wu et al. | Using hybrid MPI and OpenMP programming to optimize communications in parallel loop self-scheduling schemes for multicore PC clusters | |
Mudalige et al. | A plug-and-play model for evaluating wavefront computations on parallel architectures | |
Chen et al. | Rubik: A hierarchical architecture for efficient graph learning | |
Hu et al. | Cluster-scheduling big graph traversal task for parallel processing in heterogeneous cloud based on DAG transformation | |
KR20220116050A (ko) | 병렬 로드-저장을 이용하는 공유 스크래치패드 메모리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |