首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

区域耦合预报系统中ROMS模式的I/O并行加速方法、装置及介质 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:青岛海洋科学与技术国家实验室发展中心

摘要:本发明提出一种区域耦合预报系统中ROMS模式的IO并行加速方法、装置及计算机可读存储介质,涉及区域耦合预报系统技术领域,所述方法包括划分x、y方向的全域网格数及x、y方向的进程数;构建每个计算进程输入输出数据与整体输入输出文件的一一映射关系,构建计算进程与IO进程数据传输的映射关系;IO进程并行读取文件数据,并将数据分发到各个计算进程;ROMS计算结果,IO进程从各计算进程收集数据,并行存储数据。本发明在ROMS海洋计算模式中设计并行IO输入输出,优化ROMS底层IO框架,提高海洋模式ROMS的IO性能。

主权项:1.一种区域耦合预报系统中ROMS模式的IO并行加速方法,其特征在于,包括以下步骤:划分进程数:划分x、y方向的全域网格数及x、y方向的进程数;构建映射关系:读取IO设置文件,读取IO设置文件内容包括IO进程总数,IO进程之间的间隔,然后通过MPI相关函数创建IO进程通信域,IO进程组是计算进程的子集;然后构建每个计算进程输入输出数据与整体输入输出文件的一一映射关系,构建计算进程与IO进程数据传输的映射关系;并行读取:IO进程并行读取文件数据,并按照映射关系将数据分发到各个计算进程;并行读取的具体步骤为:调用nfmpi_open函数,打开文件,调用nfmpi_get_vara_all函数,并行读取文件数据;然后完成数据分发:将IO进程中nc文件数据分发到各个计算进程,其中TYPE为CHAR、INT、REAL,分别用来分发character、integer和real类型的数据;并行输出:ROMS计算结果,IO进程从计算进程收集数据,然后IO进程并行存储数据;并行输出的具体步骤为:ROMS模式计算并更新网格边界,调用nfmpi_create函数,创建文件,定义文件属性为iornf_clobber,nf_64bit_data,调用nfmpi_def_dim和nfmpi_def_var定义IO输出文件的维度、变量信息;计算进程按照映射关系发送数据到IO进程,调用nfmpi_iput_vara函数,实现数据并行存储,从各计算进程收集数据存入到IO进程,其中TYPE为CHAR、INT、REAL,分别用来分发character、integer和real类型的数据;并行存储数据后快速写入硬件磁盘阵列。

全文数据:区域耦合预报系统中ROMS模式的IO并行加速方法、装置及介质技术领域本发明涉及区域耦合预报系统技术领域,尤其涉及一种区域耦合预报系统中ROMS模式的IO并行加速方法、装置及计算机可读存储介质。背景技术“两洋一海”区域耦合预报系统中的大气部分使用WRFWeatherResearchandForecasting模式,海洋部分使用区域海洋模式系统ROMSRegionalOceanModelingSystem。在海洋数值模拟过程中,随着计算区域的扩大以及计算精度的提升,大量数据输出使得IO效率成为系统整体性能提升的一个瓶颈。目前,区域耦合预报系统使用的ROMS分辨率为3km,只使用一个进程进行输入输出,因此IO性能低下成为影响系统整体性能的瓶颈。发明内容针对IO效率低下的问题,提出一种区域耦合预报系统中ROMS模式的IO并行加速方法,在ROMS海洋计算模式中,设计并行IO输入输出,优化ROMS底层IO框架,提高海洋模式ROMS的IO性能。为了达到上述目的,本发明采用的技术方案为:作为本发明的一个方面,提出一种区域耦合预报系统中ROMS模式的IO并行加速方法,包括以下步骤:划分进程数:划分x、y方向的全域网格数及x、y方向的进程数;构建映射关系:读取IO设置文件,读取IO设置文件内容包括IO进程总数,IO进程之间的间隔,然后通过MPI相关函数创建IO进程通信域,IO进程组是计算进程的子集;然后构建每个计算进程输入输出数据与整体输入输出文件的一一映射关系,构建计算进程与IO进程数据传输的映射关系;并行读取:IO进程并行读取文件数据,然后按照映射关系将数据分发到各个计算进程;并行输出:ROMS计算结果,IO进程从计算进程收集数据,然后IO进程并行存储数据。作为优选,在构建映射关系之前,还包括以下步骤:初始化ROMS的IO框架结构类型。作为优选,并行读取的步骤,具体为:打开文件获取文件的变量信息,IO进程并行读取数据,然后将文件数据按照映射关系分发到各个计算进程。作为优选,并行输出的步骤,具体为:定义输出文件的类型、属性、维度和变量信息;按照变量数据类型从各计算进程收集数据存入到相应的IO进程;将各IO进程的数据并行快速写入硬件磁盘阵列。作为优选,定义进程数的步骤之前,还包括以下步骤:完成ROMS并行环境初始化工作。作为优选,并行输出的步骤之后,还包括以下步骤:关闭已打开的并行IO文件,终止并行环境。作为本发明的第二方面,提出一种基于区域耦合预报系统中ROMS模式的IO并行加速装置,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现所述的区域耦合预报系统中ROMS模式的IO并行加速方法的各个步骤。作为本发明的第三方面,提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的区域耦合预报系统中ROMS模式的IO并行加速方法的各个步骤。与现有技术相比,本发明的优点和积极效果在于:本发明通过为文件构建多个IO进程,并行读取文件数据后,将数据分发给各个计算进程,ROMS模式计算完成后并行存储数据,从而实现多进程同步执行一个输出文件,缓解主进程内存压力,提升IO性能,解决现有技术中单进程IO所带来的效率低下的问题。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明区域耦合预报系统中ROMS模式的IO并行加速方法的流程图;图2为本发明基于区域耦合预报系统中ROMS模式的IO并行框架图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外具体说明,否则实施例中阐述的步骤的相对布置不限制本发明的范围。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。现有技术中区域耦合预报系统中ROMS模式在进行海洋数值模拟时,只有一个进程进行输入输出,随着计算区域的扩大以及计算精度的提升,大量的数据输出使得IO效率成为系统整体性能提升的瓶颈。本发明基于此问题,提供以下技术方案:通过改进ROMS模式中的底层IO,设计并行IO输入输出,实现多进程同步执行,从而缓解主进程内存压力,提升区域耦合预报系统中ROMS模式IO性能。为了更好地理解上述技术方案,下面结合附图以及具体的实施方式对上述技术方案进行详细的说明。参见图1、图2所示,作为本发明的第一方面,提出一种区域耦合预报系统中ROMS模式的IO并行加速方法,包括以下步骤:S1划分进程数:划分x、y方向的全域网格数及x、y方向的进程数;进行网格划分的区域分解:完成x方向的全域网格数、y方向的全域网格数、x方向的进程数、y方向的进程数。此步骤将区域沿x方向、y方向进行网格划分,同时,划分x方向、y方向的进程数。示例性地,将x方向、y方向的任务按照等大小划分成10份,即有10个进程数。具体地,在划分进程数之前,先完成ROMS模式并行环境初始化工作,为并行输入输出做好准备。S2构建映射关系:构建每个计算进程输入输出数据与整体输入输出文件的一一映射关系,构建计算进程与IO进程数据传输的映射关系;读取IO设置文件,读取IO设置文件内容包括IO进程总数,IO进程之间的间隔,然后通过MPI相关函数创建IO进程通信域,IO进程组是计算进程的子集;然后构建每个计算进程输入输出数据与整体输入输出文件的一一映射关系,构建计算进程与IO进程数据传输的映射关系;具体地,在S2构建映射关系之前,先进行初始化,根据IO设置文件初始化ROMS模式的IO框架结构类型及IO进程。S3并行读取:IO进程并行读取文件数据,并按照映射关系将数据分发到各个计算进程;调用nfmpi_open函数,打开文件,调用nfmpi_get_vara_all函数,并行读取文件数据;然后完成数据分发:将IO进程中nc文件数据分发到各个计算进程,其中可以为CHAR,INT,REAL,分别用来分发character,integer和real类型的数据。S4并行输出:ROMS计算结果,IO进程从计算进程收集数据,然后IO进程并行存储数据。ROMS模式计算并更新网格边界,调用nfmpi_create函数,创建文件,定义文件属性为iornf_clobber,nf_64bit_data,调用nfmpi_def_dim和nfmpi_def_var定义IO输出文件的维度、变量等信息;计算进程按照映射关系发送数据到IO进程,调用nfmpi_iput_vara函数,实现数据并行存储,参见图2所示,从各计算进程收集数据存入到IO进程,其中可以为CHAR,INT,REAL,分别用来分发character,integer和real类型的数据;并行存储数据后快速写入硬件磁盘阵列。具体地,在S4并行输出之后,还包括以下步骤:关闭已打开的并行IO文件,释放IO进程资源,终止并行环境。本发明通过为输入输出文件构建多个IO进程,并行读取文件数据后,将数据分发给各个计算进程,ROMS模式计算完成后并行存储数据,从而实现多进程同步执行一个输出文件,缓解主进程内存压力,提升IO性能,解决现有技术中单进程IO所带来的效率低下的问题。作为本发明的第二方面,提出一种基于区域耦合预报系统中ROMS模式的IO并行加速装置,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现上述区域耦合预报系统中ROMS模式的IO并行加速方法的各个步骤。本装置通过改进ROMS模式中的底层IO,设计并行IO输入输出,实现多进程同步执行,从而缓解主进程内存压力,提升区域耦合预报系统中ROMS模式IO性能。作为本发明的第三方面,提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述区域耦合预报系统中ROMS模式的IO并行加速方法的各个步骤。本程序通过改进ROMS模式中的底层IO,设计并行IO输入输出,实现多进程同步执行,从而缓解主进程内存压力,提升区域耦合预报系统中ROMS模式IO性能。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

权利要求:1.一种区域耦合预报系统中ROMS模式的IO并行加速方法,其特征在于,包括以下步骤:划分进程数:划分x、y方向的全域网格数及x、y方向的进程数;构建映射关系:读取IO设置文件,读取IO设置文件内容包括IO进程总数,IO进程之间的间隔,然后通过MPI相关函数创建IO进程通信域,IO进程组是计算进程的子集;然后构建每个计算进程输入输出数据与整体输入输出文件的一一映射关系,构建计算进程与IO进程数据传输的映射关系;并行读取:IO进程并行读取文件数据,并按照映射关系将数据分发到各个计算进程;并行输出:ROMS计算结果,IO进程从计算进程收集数据,然后IO进程并行存储数据。2.根据权利要求1所述的区域耦合预报系统中ROMS模式的IO并行加速方法,在构建映射关系之前,还包括以下步骤:初始化ROMS的IO框架结构类型。3.根据权利要求1所述的区域耦合预报系统中ROMS模式的IO并行加速方法,并行读取的步骤,具体为:打开文件获取文件的变量信息,IO进程并行读取数据,将文件数据按照映射关系分发到各个计算进程。4.根据权利要求1所述的区域耦合预报系统中ROMS模式的IO并行加速方法,其特征在于,并行输出的步骤,具体为:定义输出文件的类型、属性、维度和变量信息;按照变量数据类型从各计算进程收集数据存入到相应的IO进程;将各IO进程的数据并行快速写入硬件磁盘阵列。5.根据权利要求1所述的区域耦合预报系统中ROMS模式的IO并行加速方法,其特征在于,定义进程数的步骤之前,还包括以下步骤:完成ROMS并行环境初始化工作。6.根据权利要求1所述的区域耦合预报系统中ROMS模式的IO并行加速方法,其特征在于,并行输出的步骤之后,还包括以下步骤:关闭已打开的并行IO文件,终止并行环境。7.一种区域耦合预报系统中ROMS模式的IO并行加速装置,其特征在于,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的区域耦合预报系统中ROMS模式的IO并行加速方法的各个步骤。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的区域耦合预报系统中ROMS模式的IO并行加速方法的各个步骤。

百度查询: 青岛海洋科学与技术国家实验室发展中心 区域耦合预报系统中ROMS模式的I/O并行加速方法、装置及介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。