基于NetCDF和非阻塞通信的异步并行I/O方法技术

技术编号:37721629 阅读:18 留言:0更新日期:2023-06-02 00:21
本发明专利技术公开一种基于NetCDF和非阻塞通信的异步并行I/O方法,涉及异步并行I/O处理技术领域,方法首先响应于I/O数据输出命令,计算进程将I/O数据保存至发送缓冲区,再通过非阻塞通信将I/O数据发送至I/O主进程;I/O主进程对接收的I/O数据进行整合切割,得到均匀连续的数据块;I/O主进程将切割后的数据块分发至所有I/O进程;所有I/O进程调用NetCDF或PNetCDF库的标准API接口完成并行I/O数据输出。本发明专利技术实现了基于NetCDF格式的并行异步I/O输出,解决了同步并行I/O方法效率低的问题,同时兼容NetCDF和PNetCDF两种库。NetCDF和PNetCDF两种库。NetCDF和PNetCDF两种库。

【技术实现步骤摘要】
基于NetCDF和非阻塞通信的异步并行I/O方法


[0001]本专利技术涉及异步并行I/O处理
,特别是涉及一种基于NetCDF格式和非阻塞通信的异步并行I/O方法。

技术介绍

[0002]NetCDF(Network Common Data Form)是一种自描述、与机器无关、基于数组的科学数据格式,因其适用于各种硬件平台以及强大的数据提取、插值和显示能力,广泛应用于海洋、大气和地球科学模式中,也被国家海洋环境预报中心研发的国内自主海洋环流数值模式MaCOM(Mass Conservation Ocean Model)作为模式I/O(Input/Output)的文件格式。其中,海洋环流数值模式常用的同步并行I/O数据输出流程如图1所示,采用NetCDF和PNetCDF库实现I/O的读写操作。然而,随着海洋环流数值模式输出数据量越发庞大,同步I/O输出方法中存在计算进程等待时间过长的缺陷,严重影响了海洋环流数值模式的整体运行效率。为此,海洋环流数值模式中逐渐开始应用异步并行I/O方法,通过将I/O操作迁移到独立的I/O进程上来减少计算进程本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于NetCDF和非阻塞通信的异步并行I/O方法,其特征在于,包括:步骤1:响应于I/O数据输出命令,计算进程将I/O数据保存至发送缓冲区;步骤2:计算进程采用非阻塞通信技术将所述发送缓冲区中的I/O数据发送至I/O主进程;步骤3:所述I/O主进程对接收到的I/O数据进行整合切割,得到均匀连续的数据块;步骤4:所述I/O主进程将切割后的数据块分发至所有I/O进程;步骤5:所述I/O进程基于所述数据块,调用NetCDF或者PNetCDF库的标准API接口进行并行I/O数据输出。2.根据权利要求1所述的异步并行I/O方法,其特征在于,在发送缓冲区中的数据向I/O主进程发送时,所述发送缓冲区处于写保护状态;在步骤1之后,还包括:启动发送缓冲区保护检测,所述发送缓冲区保护检测用于判断每个计算进程的发送缓冲区是否处于写保护状态,所述计算进程在其对应的发送缓冲区处于写保护状态时,保持等待状态。3.根据权利要求2所述的异步并行I/O方法,其特征在于,所述发送缓冲区的保护机制通过调用MPI_WAIT标准函数实现。4.根据权利要求1所述的异步并行I/O方法,其特征在于,所述步骤3具体包括:基于网格分区信息表,对网格数据按照其对应的NetCDF文件全局编号位置进行整合操作,得到整合数据;所述网格数据即接收到的I/O数据;所述网格分区信息表内记录有每个网格数据对应的进程编号和NetCDF文件全局编号;所述整合操作用于将每个进程上的网格数据按照NetCDF文件全局编号进行连续排列整合;对所述整合数据进行分割操作,得到均匀连续的目标数据块。5.根据权利要求4所述的异步并行I/O方法,其特征在于,所述整合操作采用数据块优化访问方法,所述数据块优化访问方法包括数据块切分步骤、数据块排序步骤和数据块插入步骤;所述数据块切分步骤用于将每个进程中全局编号连续的网格数据整合为一个数据块,所述数据块插入步骤用于对整...

【专利技术属性】
技术研发人员:逄仁波于福江张宇原野
申请(专利权)人:国家海洋环境预报中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1