System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及进程调度,具体涉及一种异步并行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系统。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请求队列的副本进行i/o请求的调度。
2、i/o进程组通常以协同工作的方式来完成各i/o请求,这就要求i/o进程组中的所有进程保持完全相同的i/o请求调度结果。当调度结果不完全相同
技术实现思路
1、本专利技术实施例提供一种异步并行i/o请求的进程调度方法、装置及设备,用以解决现有异步并行i/o请求在进程间调度不一致的问题。
2、第一方面,本专利技术实施例提供一种异步并行i/o请求的进程调度方法,包括:
3、响应于i/o请求的调度操作,i/o进程组中各i/o进程分别确定各自的候选调度结果,候选调度结果包括调度设置信息和候选i/o请求;
4、根据i/o进程组中所有i/o进程的候选调度结果确定出最终调度结果;
5、在i/o进程组中各i/o进程中按照最终调度结果进行i/o请求的调度和执行。
6、一种实施例中,i/o进程组中各i/o进程分别确定各自的候选调度结果,包括:
7、在各i/o进程中分别获取各自的调度设置信息;
8、分别在各i/o进程的i/o请求队列中,基于各自的调度设置信息确定出各自的候选i/o请求;
9、在各i/o进程中,根据候选i/o请求与调度设置信息生成各自的候选调度结果。
10、一种实施例中,根据i/o进程组中所有i/o进程的候选调度结果确定出最终调度结果,包括:
11、从所有i/o进程的候选调度结果中,把所有i/o进程中优先程度最高的候选调度结果确定为最终调度结果,或者把随机选出的一个进程的候选调度结果确定为最终调度结果;
12、当两个候选调度结果的调度设置信息不同时,调度设置信息为显式调度控制的候选调度结果的优先程度高于调度设置信息为自动调度方法的候选调度结果;其中,显式调度控制来源于应用程序所发起的会影响i/o请求调度的命令,自动调度方法则是异步i/o系统在没有受到应用程序影响时对i/o请求的自动调度。
13、一种实施例中,所述方法还包括:
14、当两个候选调度结果的调度设置信息相同时,候选i/o请求数量不同的候选调度结果的优先程度不同。
15、一种实施例中,所述方法还包括:
16、应用程序所发起的会影响i/o请求调度的命令包括以下命令中的一种或多种:同步i/o命令、等待完成命令、暂停调度命令、恢复调度命令和优先调度命令。
17、一种实施例中,所述方法还包括:
18、当两个候选调度结果的调度设置信息相同且存在暂停调度命令时,候选i/o请求少的候选调度结果的优先程度高;
19、当两个候选调度结果的调度设置信息相同且不存在暂停调度命令时,候选i/o请求多的候选调度结果的优先程度高。
20、一种实施例中,i/o进程组中各i/o进程按照最终调度结果进行i/o请求的调度和执行,包括:
21、把最终调度结果中的候选i/o请求确定为i/o请求调度结果;
22、各i/o进程在各自的i/o请求队列中查找符合i/o请求调度结果的待调度i/o请求;
23、当不存在待调度i/o请求时,进行等待,并在接收到新的i/o命令后重新查找符合i/o请求调度结果的待调度i/o请求。
24、第二方面,本专利技术实施例提供一种异步并行i/o请求的进程调度装置,包括:
25、响应模块,用于响应于i/o请求的调度操作,i/o进程组中各i/o进程分别确定各自的候选调度结果;
26、处理模块,用于根据i/o进程组中所有i/o进程的候选调度结果确定出最终调度结果;
27、执行模块,用于在i/o进程组中各i/o进程中按照最终调度结果进行i/o请求的调度和执行。
28、第三方面,本专利技术实施例提供一种电子设备,包括:
29、至少一个处理器和存储器;
30、存储器存储计算机执行指令;
31、至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如第一方面任一项所述的异步并行i/o请求的进程调度方法。
32、第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面任一项所述的异步并行i/o请求的进程调度方法。
33、本专利技术实施例提供的异步并行i/o请求的进程调度方法、装置及设备,通过响应于i/o请求的调度操作,i/o进程组中各i/o进程分别确定各自的候选调度结果,候选调度结果包括调度设置信息和候选i/o请求;根据i/o进程组中所有i/本文档来自技高网...
【技术保护点】
1.一种异步并行I/O请求的进程调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述I/O进程组中各I/O进程分别确定各自的候选调度结果,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据I/O进程组中所有I/O进程的候选调度结果确定出最终调度结果,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述在I/O进程组中各I/O进程中按照所述最终调度结果进行I/O请求的调度和执行,包括:
8.一种异步并行I/O请求的进程调度装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项
...【技术特征摘要】
1.一种异步并行i/o请求的进程调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述i/o进程组中各i/o进程分别确定各自的候选调度结果,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据i/o进程组中所有i/o进程的候选调度结果确定出最终调度结果,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述方...
【专利技术属性】
技术研发人员:李锐喆,孙超,赵彤,
申请(专利权)人:北京卡普拉科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。