异步并行I/O请求的进程间联合分析方法、装置及设备制造方法及图纸

技术编号:37055807 阅读:13 留言:0更新日期:2023-03-29 19:32
本发明专利技术提供一种异步并行I/O请求的进程间联合分析方法、装置及设备,该方法包括:响应于针对异步并行I/O请求的进程间联合分析指令,获取进程间联合分析指令所对应的在各个进程内的并行I/O请求及其相关信息、通信域和所有进程;生成所有进程之间的多层分析网络并按照多层分析网络进行逐层的分析;在每一层的分析过程中进行并行I/O请求的联合分析和计算,最终确定联合分析的结果,联合分析的结果包括所有异步并行I/O请求和各个异步并行I/O请求的相关信息。通过构建多层分析网络,采用多层网络的方法来实现联合分析,降低了通信开销和分析开销,实现了低开销的异步并行I/O请求的进程间联合分析。程间联合分析。程间联合分析。

【技术实现步骤摘要】
异步并行I/O请求的进程间联合分析方法、装置及设备


[0001]本专利技术实施例涉及I/O请求处理
,具体涉及一种异步并行I/O请求的进程间联合分析方法、装置及设备。

技术介绍

[0002]随着应用需求的发展以及计算机处理能力的提高,应用程序所处理的数据量也不断增加,从文件系统中读取和写入文件系统的数据量也不断增大。在当前计算机的发展中,数据输入/输出(Input/Output,I/O)速度的增长远慢于计算能力的增长,这使得数据I/O成为大多数应用程序的性能瓶颈。为了降低数据I/O开销对应用程序运行速度的影响,并行I/O与异步I/O技术应运而生。并行I/O技术是利用计算机的并行存储能力,将应用程序的数据分散存储到多个进程,多个进程通过协同进行数据读写来提高I/O的速度;异步I/O技术是采用计算进程/线程以外的I/O专用进程/线程来完成数据I/O操作,使得应用程序无需等待I/O操作的完成就能继续执行其他计算,从而使应用程序的计算和I/O操作可以重叠进行。为了最大程度地降低数据I/O操作对应用程序性能的影响,同时兼顾并行I/O与异步I/O的异步并行I/O技术逐渐得到推广。
[0003]在计算机系统中,数据是以文件格式的方式进行存储的。为了对接存储系统,提供了位于底层的基本文件格式,通常没有特定的约束规范,例如可以是C/C++和Fortran等编程语言以及消息传递接口(MessagePassing Interface,MPI)I/O等能用文件访问命令直接进行操作的二进制文件格式。为了便于应用程序的访问和用户对数据的使用,提供了基于基本文件格式的应用文件格式,特别是带有元信息的文件格式及其使用接口。例如在地球科学和数值预报领域,网络通用数据格式(NetworkCommon Data Form,NetCDF)及其并行版本PNetCDF均是常用的应用文件格式,其制定了描述变量名、变量类型、变量维度、时间信息等元数据的规则,提供了一系列的专用文件访问接口。
[0004]对应于多级文件格式,异步并行I/O技术也应具有层次体系。其中,既需要对接基本文件格式的异步并行I/O系统(简称基本异步并行I/O系统),也需要对接应用文件格式的异步并行I/O适配系统。为了提高用户友好性并使得用户能尽量减少对应用程序的修改,现有适配方法允许应用程序指定若干异步I/O区域,在各异步I/O区域内可发起多个应用文件格式I/O请求,而一个异步I/O区域内的多个应用文件格式I/O请求会被一起转化为若干基本文件格式异步I/O请求。而如何将应用文件格式I/O请求转化为基本文件格式异步I/O请求既是上述适配方法的关键技术,也是一项难题,尤其是在异步并行I/O的场景下,这主要是因为一个异步I/O区域内可能有多个变量的I/O请求,而一个变量的I/O请求信息可能分散存放在多个进程之间。因此需要进行异步并行I/O请求的进程间联合分析,才能确定各基本文件格式异步I/O请求。
[0005]现有进程间联合分析的一种实现方式是:主进程先把分散在所有进程上的信息聚合起来,进行分析,然后把分析的结果广播给所有进程。这种方式虽然实现起来较为简便,但是却存在以下不足:一方面会引入全局通信,带来较大通信开销;另一方面因主进程需要
分析大量信息而导致分析开销增加,尤其是在进程比较多的情况下。因此,亟需一种低开销的异步并行I/O请求的进程间联合分析方法。

技术实现思路

[0006]本专利技术实施例提供一种异步并行I/O请求的进程间联合分析方法、装置及设备,用以解决现有方法开销大的问题。
[0007]第一方面,本专利技术实施例提供一种异步并行I/O请求的进程间联合分析方法,包括:响应于针对异步并行I/O请求的进程间联合分析指令,获取进程间联合分析指令所对应的在各个进程内的并行I/O请求及其相关信息,并获取进程间联合分析指令所对应的通信域和所有进程;生成所有进程之间的多层分析网络并按照多层分析网络进行逐层的分析;在每一层的分析过程中进行并行I/O请求的联合分析和计算,最终确定联合分析的结果,联合分析的结果包括所有异步并行I/O请求和各个异步并行I/O请求的相关信息。
[0008]一种实施例中,多层分析网络的层数根据所有进程的进程数确定,多层分析网络采用蝶形结构、二叉树结构或者多叉树结构的分析网络。
[0009]一种实施例中,当多层分析网络采用二叉树结构或多叉树结构的分析网络时,在根进程最终确定联合分析的结果之后,根进程将联合分析的结果在所有进程之间进行广播。
[0010]一种实施例中,按照多层分析网络进行逐层的分析,包括:遵循多层分析网络的迭代过程中的每个迭代对应着一层分析,每一层分析的联合分析和计算的结果是下一层分析的输入,每一层分析中的一个进程只与另外的一个进程或少数几个进程进行联合分析。
[0011]一种实施例中,进行并行I/O请求的联合分析和计算,包括:确定不同I/O请求所对应的所有变量,各变量采用变量标识进行标记,变量标识由变量所对应的文件名、在文件中偏移量位置和读/写标志组成;检查各变量的全局多维计算空间信息在进程间的一致性;计算各变量的并行剖分信息。
[0012]一种实施例中,确定不同I/O请求所对应的所有变量包括:对进程上的所有变量标识求并集,得到不同I/O请求所对应的所有变量。
[0013]一种实施例中,计算各变量的并行剖分信息,包括:在第一层分析前,在各进程内确定各个变量,并计算各变量局部并行剖分信息的关键字,关键字根据局部并行剖分信息和进程的编号确定;在每一层分析的过程中,根据同一变量在两个进程中的局部并行剖分信息的关键字得到新的关键字,最终确定各变量的并行剖分信息。
[0014]一种实施例中,各个异步并行I/O请求的相关信息包括:变量标识、通信域、全局计算空间信息、并行剖分信息和内存数据空间的指针,并行剖分信息包括通过联合分析计算出来的并行剖分的关键字和分散存放在各进程上的局部并行剖分信息。
[0015]第二方面,本专利技术实施例提供一种异步并行I/O请求的进程间联合分析装置,包
括:获取模块,用于响应于针对异步并行I/O请求的进程间联合分析指令,获取进程间联合分析指令所对应的在各个进程内的并行I/O请求及其相关信息,并获取进程间联合分析指令所对应的通信域和所有进程;处理模块,用于生成所有进程之间的多层分析网络并按照多层分析网络进行逐层的分析;分析模块,用于在每一层的分析过程中进行并行I/O请求的联合分析和计算,最终确定联合分析的结果,联合分析的结果包括所有异步并行I/O请求和各个异步并行I/O请求的相关信息。
[0016]第三方面,本专利技术实施例提供一种电子设备,包括:至少一个处理器和存储器;存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如第一方面任一项所述的异步并行I/O请求的进程间联合分析方法。
[0017]第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异步并行I/O请求的进程间联合分析方法,其特征在于,包括:响应于针对异步并行I/O请求的进程间联合分析指令,获取所述进程间联合分析指令所对应的在各个进程内的并行I/O请求及其相关信息,并获取所述进程间联合分析指令所对应的通信域和所有进程;生成所述所有进程之间的多层分析网络并按照所述多层分析网络进行逐层的分析;在每一层的分析过程中进行并行I/O请求的联合分析和计算,最终确定联合分析的结果,所述联合分析的结果包括所有异步并行I/O请求和各个异步并行I/O请求的相关信息。2.根据权利要求1所述的方法,其特征在于,所述多层分析网络的层数根据所述所有进程的进程数确定,所述多层分析网络采用蝶形结构、二叉树结构或多叉树结构的分析网络。3.根据权利要求2所述的方法,其特征在于,当所述多层分析网络采用二叉树结构或多叉树结构的分析网络时,在根进程最终确定联合分析的结果之后,根进程将所述联合分析的结果在所述所有进程之间进行广播。4.根据权利要求1所述的方法,其特征在于,所述按照所述多层分析网络进行逐层的分析,包括:遵循所述多层分析网络的迭代过程中的每个迭代对应着一层分析,每一层分析的联合分析和计算的结果是下一层分析的输入,每一层分析中的一个进程只与另外的一个进程或少数几个进程进行联合分析。5.根据权利要求1所述的方法,其特征在于,所述进行并行I/O请求的联合分析和计算,包括:确定不同I/O请求所对应的所有变量,各变量采用变量标识进行标记,所述变量标识由变量所对应的文件名、在文件中偏移量位置和读/写标志组成;检查各变量的全局多维计算空间信息在进程间的一致性;计算各变量的并行剖分信息。6.根据权利要求5所述的方法,其特征在于,所述确定不同I/O请求所对应的所有变量包括:对进程上的所有变量标识求并集,得到不同I/O请求所对应的所有变量。7.根据权利要求5所述的方法,其特征在于,所述计算各...

【专利技术属性】
技术研发人员:李锐喆赵彤
申请(专利权)人:北京卡普拉科技有限公司
类型:发明
国别省市:

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

1