System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于异步I/O进程的应用文件并行读写适配方法与装置制造方法及图纸_技高网

基于异步I/O进程的应用文件并行读写适配方法与装置制造方法及图纸

技术编号:41321146 阅读:4 留言:0更新日期:2024-05-13 15:00
本发明专利技术提供一种基于异步I/O进程的应用文件并行读写适配方法与装置,涉及计算机技术领域,该方法包括:响应于应用程序的一个计算进程组对一个异步区的一次异步I/O进程设置,建立并记录关于异步区的计算进程组与I/O进程组之间的异步I/O映射关系;响应于应用程序的当前计算进程组在当前异步区内发起的当前应用文件格式数据并行读/写命令,根据当前异步I/O映射关系获取服务于当前计算进程组的当前I/O进程组;通过当前I/O进程组完成当前应用文件格式数据并行读/写命令的数据读/写请求。无需对应用程序进行特定的程序开发,解决了现有方法缺少通用性、效率低下的问题。

【技术实现步骤摘要】

本专利技术实施例涉及计算机,具体涉及一种基于异步i/o进程的应用文件并行读写适配方法与装置。


技术介绍

1、随着计算机计算性能的提升,应用程序的计算规模也随之增加,然而计算机输入/输出(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系统。

2、在计算机上,数据是以二进制文件形式存放在硬盘上的。为了便于表达数据内容,科研界设计研发了应用文件格式及串行访问接口,如在地球系统模式或天气预报模式领域广泛应用、具有元信息的网络通用数据格式(network common data form,netcdf)文件格式。进一步,还设计研发了应用文件格式的并行访问接口,使得应用程序能便捷开展数据的并行存取。然而大部分应用文件格式并未提供异步并行i/o访问接口与方法。那么如何在已有并行访问接口的基础上实现应用文件格式的异步并行i/o功能成为一个需要尽快解决的难题。i/o请求的异步并行处理需要使用一组专用i/o进程或一组专用i/o线程,并让计算进程在运行过程中把i/o请求交给i/o进程组或i/o线程组来完成,因此可以从专用i/o线程和专用i/o进程这两个方向来尝试解决这一难题。

3、当使用一组专用i/o线程来实现i/o请求的异步并行处理时,i/o线程由计算进程在调用异步并行i/o系统时自动分配,例如采用100个进程运行一个应用程序,当采用i/o线程方式时,计算进程数就是100。在专用i/o线程方向,目前已提出了针对二进制文件格式的基础异步并行i/o系统方法,并设计了应用文件格式并行访问接口到基础文件格式异步并行i/o的适配方法,具有通用性,使得能在不设计额外应用文件格式程序接口且尽量少应用程序代码修改的前提下,便捷实现应用程序从并行i/o功能到异步并行i/o功能的升级。

4、基于i/o进程组和基于i/o线程组的方式在实现上有很大差别,当使用一组专用i/o进程来实现i/o请求的异步并行处理时,i/o进程组需要用户在启动应用程序时就指定好,例如采用100个进程运行一个应用程序,而当采用i/o进程方式时,计算进程数小于100,假设有10个i/o进程,则计算进程数就是90。目前在专用i/o进程方向,常常通过开发大量程序来完成一组计算进程与一组专用i/o进程之间的数据映射、通信与协调工作,并让一组专用i/o进程去调用应用文件格式的数据读/写接口而让计算进程不再调用应用文件格式数据读/写接口,这种方法缺少通用性,使得需要对不同应用程序分别进行特定的大量程序开发,导致研发效率低下。


技术实现思路

1、本专利技术实施例提供一种基于异步i/o进程的应用文件并行读写适配方法与装置,用以解决现有方法缺少通用性、效率低下等问题。

2、第一方面,本专利技术实施例提供一种基于异步i/o进程的应用文件并行读写适配方法,包括:

3、响应于应用程序的一个计算进程组对一个异步区的一次异步i/o进程设置,根据异步i/o进程设置确定服务于计算进程组的i/o进程组,建立并记录关于异步区的计算进程组与i/o进程组之间的异步i/o映射关系;

4、响应于应用程序的当前计算进程组在当前异步区内发起的当前应用文件格式数据并行读/写命令,根据当前计算进程组和当前异步区查找出对应的当前异步i/o映射关系,根据当前异步i/o映射关系获取服务于当前计算进程组的当前i/o进程组;当前计算进程组基于当前异步i/o映射关系,通过当前i/o进程组完成当前应用文件格式数据并行读/写命令的数据读/写请求。

5、一种实施例中,应用程序的所有i/o进程被划分为一个或多个i/o进程组;当被划分为多个i/o进程组时,各i/o进程组中的进程数量相同或不同,被划分的确定方式包括基于接口的显式指定或根据应用程序数据读/写特点的自适应确定。

6、一种实施例中,根据异步i/o进程设置确定服务于计算进程组的i/o进程组,包括:

7、异步i/o进程设置的方式包括明确设置和自适应设置这两种方式中的至少一种;

8、明确设置方式把服务于计算进程组的i/o进程组确定为所指定的一个i/o进程组,具体指定方式包括指定一个i/o进程组的所有进程编号或指定一个i/o进程组的唯一标识;

9、在自适应设置方式下,随机选出一个候选i/o进程组,或根据所有i/o进程组的当前状态或异步区的特点选出一个候选i/o进程组;把服务于计算进程组的i/o进程组确定为候选i/o进程组。

10、一种实施例中,根据所有i/o进程组的当前状态或异步区的特点选出一个候选i/o进程组,包括:

11、从所有i/o进程组中选出当前最为空闲的或最不繁忙的候选i/o进程组;

12、或当同步区中的数据读/写请求的数据量小于数据量阈值时,选出进程数小于进程数阈值的候选i/o进程组;或当同步区中的数据读/写请求的数据量大于数据量阈值时,选出进程数大于进程数阈值的候选i/o进程组。

13、一种实施例中,建立并记录关于异步区的计算进程组与i/o进程组之间的异步i/o映射关系,包括:

14、建立并记录异步区和计算进程组到i/o进程组的查找映射关系;

15、建立并记录计算进程组和i/o进程组的所有进程之间的数据通信映射关系。

16、一种实施例中,数据通信映射关系,包括:

17、当i/o进程组的进程数量小于计算进程组的进程数量时,建立计算进程组与i/o进程组之间多对一的数据通信映射关系,其中多个计算进程对应一个i/o进程;

18、和/或,

19、将同一计算节点内的多个计算进程与同一i/o进程进行通信映射。

20、一种实施例中,当前计算进程组基于当前异步i/o映射关系,通过当前i/o进程组完成当前应用文件格式数据并行读/写命令的数据读/写请求,包括:

21、对于数据的异步读入,当前计算进程组将读入数据请求发送给当前i/o进程组,当前计算进程组返回进行计算工作,当前i/o进程组在收到读入数据请求后,执行数据读入操作,并在数据读入完成后将读取到的数据通过预先建立的数据通信映射关系传给当前计算进程组;

22、对于数据的异步写出,当前计算进程组通过预先建立的数据通信映射关系,把写出数据请求和待写出数据传给当前i/o进程组,当前计算进程组返回进行计算工作,当前i/o进程组在收到写出数据请求和待写出数据后,执行数据写出操作,并在数据写出完成后告知当前计算进程组。...

【技术保护点】

1.一种基于异步I/O进程的应用文件并行读写适配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述应用程序的所有I/O进程被划分为一个或多个I/O进程组;当被划分为多个I/O进程组时,各I/O进程组中的进程数量相同或不同,所述被划分的确定方式包括基于接口的显式指定或根据应用程序数据读/写特点的自适应确定。

3.根据权利要求1所述的方法,其特征在于,所述根据所述异步I/O进程设置确定服务于所述计算进程组的I/O进程组,包括:

4.根据权利要求3所述的方法,所述根据所有I/O进程组的当前状态或所述异步区的特点选出一个候选I/O进程组,包括:

5.根据权利要求1所述的方法,其特征在于,所述建立并记录关于所述异步区的所述计算进程组与所述I/O进程组之间的异步I/O映射关系,包括:

6.根据权利要求5所述的方法,其特征在于,所述数据通信映射关系,包括:

7.根据权利要求1所述的方法,其特征在于,所述当前计算进程组基于所述当前异步I/O映射关系,通过所述当前I/O进程组完成所述当前应用文件格式数据并行读/写命令的数据读/写请求,包括:

8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:

9.一种基于异步I/O进程的应用文件并行读写适配装置,其特征在于,包括:

10.一种电子设备,其特征在于,包括:至少一个处理器和存储器;

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的基于异步I/O进程的应用文件并行读写适配方法。

...

【技术特征摘要】

1.一种基于异步i/o进程的应用文件并行读写适配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述应用程序的所有i/o进程被划分为一个或多个i/o进程组;当被划分为多个i/o进程组时,各i/o进程组中的进程数量相同或不同,所述被划分的确定方式包括基于接口的显式指定或根据应用程序数据读/写特点的自适应确定。

3.根据权利要求1所述的方法,其特征在于,所述根据所述异步i/o进程设置确定服务于所述计算进程组的i/o进程组,包括:

4.根据权利要求3所述的方法,所述根据所有i/o进程组的当前状态或所述异步区的特点选出一个候选i/o进程组,包括:

5.根据权利要求1所述的方法,其特征在于,所述建立并记录关于所述异步区的所述计算进程组与所述i/o进程组之间的异步i/o映射关系,包...

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

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

1