异步I/O请求优先级的调度方法、装置、介质及控制设备制造方法及图纸

技术编号:37050685 阅读:15 留言:0更新日期:2023-03-29 19:28
本申请公开了一种异步I/O请求优先级的调度方法、装置、介质及控制设备。所述方法包括:响应于调度暂停指令,确定请求队列中待暂停请求集合,生成与暂停指令对应的调度状态标记,并暂停对待暂停请求集合中所有异步I/O请求的调度;在调度暂停指令满足预设条件的情况下,响应于接收到新的异步I/O请求,将新的异步I/O请求添加到请求队列中,并完成对新的异步I/O请求的调度;响应于调度恢复指令,获取请求队列的调度状态标记,根据调度状态标记确定待恢复的目标请求集合,并恢复对待恢复的目标请求集合中所有异步I/O请求的调度。能够根据各I/O请求的紧迫性控制多个I/O请求之间的优先级,提升了异步I/O系统的性能。提升了异步I/O系统的性能。提升了异步I/O系统的性能。

【技术实现步骤摘要】
异步I/O请求优先级的调度方法、装置、介质及控制设备


[0001]本申请涉及计算机
,特别地涉及一种异步I/O请求优先级的调度方法、装置、存储介质以及控制设备。

技术介绍

[0002]随着计算机计算性能的提升,应用程序的计算规模也随之水涨船高,然而计算机I/O(输入/输出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系统。
[0003]异步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请求完成的紧迫程度可能会不同,即允许完成的延迟长短不一,比如:应用程序的写请求通常能以很长的延迟完成,而读请求通常只能以较短的延迟完成、甚至需要立刻完成。
[0004]尽管现技术已提出了一些针对异步I/O请求调度的优化方法,比如:包括自动预测I/O请求延迟完成的最大时限、对读请求数据的自动预取等。但这些方法的使用在一些情况下具有一定的局限性,比如:特别是在应用程序无规律发起I/O请求、计算机系统上因多用户竞争使用而导致I/O性能不稳定等情况下。已有技术提出在出现应用程序等待未完成I/O请求的情况下提高该I/O请求的优先级,但是,即使在使用了这项技术的情况下,当应用程序需要连续新发起并即刻完成多个读请求时,容易出现新发起的读请求和与队列中已有的其他请求被交替执行的情况,使得应用程序读入所有数据变量的总等待时间会比原来不使用异步I/O系统时的时间更长,即会引起由于异步I/O系统的使用反而导致了应用程序性能的下降等问题。

技术实现思路

[0005]针对上述问题,本申请提出一种异步I/O请求优先级的调度方法、装置、存储介质及控制设备。对于现有异步I/O系统和已有技术不能很好应对的情况,本申请提出了一种用于异步I/O请求优先级的调度方法,使得应用程序研发人员能根据对应用程序中各I/O请求紧迫性的理解,控制I/O请求之间的优先级,从而进一步提升使用异步I/O系统的性能。
[0006]本申请的第一个方面,提供了一种异步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请求的调度。
[0007]进一步的,所述第一预设条件,包括:所述异步I/O请求调度暂停指令的指令模式为局部暂停模式。
[0008]进一步的,还包括:在所述异步I/O请求调度暂停指令满足第二预设条件的情况下,响应于接收到新的第二异步I/O请求,将所述新的第二异步I/O请求添加到所述I/O请求队列中,并按照第二预设处理方式暂停对所述新的第二异步I/O请求的调度;其中,所述第二预设条件包括:所述异步I/O请求调度暂停指令的指令模式为全部暂停模式。
[0009]进一步的,所述第二预设处理方式,包括:将所述新的第二异步I/O请求的调度状态设置为暂停状态。
[0010]进一步的,在所述调度状态标记中包括以下内容中的一项或多项:所述I/O请求队列中尚未被调度的各异步I/O请求的关键字,所述关键字与异步I/O请求一一对应;所述I/O请求队列中尚未被调度的各异步I/O请求的调度状态;所述异步I/O请求调度暂停指令的指令模式。
[0011]进一步的,所述响应于异步I/O请求调度暂停指令,确定I/O请求队列中待暂停异步I/O请求集合,生成与所述异步I/O请求调度暂停指令对应的调度状态标记,并暂停对所述待暂停异步I/O请求集合中所有异步I/O请求的调度,包括:根据所述异步I/O请求调度暂停指令的指令模式,从所述I/O请求队列中获取与所述指令模式对应的还未被调度且调度状态为活跃状态的所有异步I/O请求并生成待暂停异步I/O请求集合;将所述待暂停异步I/O请求集合中所有异步I/O请求的调度状态设置为暂停状态。
[0012]进一步的,所述恢复对所述待恢复的目标异步I/O请求集合中所有异步I/O请求的调度,包括:将所述待恢复的目标I/O请求集合中所有异步I/O请求的调度状态设置为活跃状态。
[0013]进一步的,在所述异步I/O请求调度恢复指令中包括以下指令模式中的一项或多项:当前局部恢复模式,局部分片恢复模式,前向分片恢复模式和后向分片恢复模式。
[0014]进一步的,在所述异步I/O请求调度恢复指令中包括以下内容:一个或多个调度状态标记。
[0015]本申请的第二个方面,提供了一种装置,所述装置包括:暂停调度模块,用于响应于异步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请求的调度。
[0016]本申请的第三个方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储的计算机程序,可被一个或多个处理器执行,用以实现如上所述的方法。
[0017]本申请的第四个方面,提供了一种控制设备,包括存储器和一个或多个处理器,所述存储器上存储有计算机程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异步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.根据权利要求1所述的异步I/O请求优先级的调度方法,其特征在于,所述第一预设条件,包括:所述异步I/O请求调度暂停指令的指令模式为局部暂停模式。3.根据权利要求1所述的异步I/O请求优先级的调度方法,其特征在于,还包括:在所述异步I/O请求调度暂停指令满足第二预设条件的情况下,响应于接收到新的第二异步I/O请求,将所述新的第二异步I/O请求添加到所述I/O请求队列中,并按照第二预设处理方式暂停对所述新的第二异步I/O请求的调度;其中,所述第二预设条件包括:所述异步I/O请求调度暂停指令的指令模式为全部暂停模式。4.根据权利要求3所述的异步I/O请求优先级的调度方法,其特征在于,所述第二预设处理方式,包括:将所述新的第二异步I/O请求的调度状态设置为暂停状态。5.根据权利要求1所述的异步I/O请求优先级的调度方法,其特征在于,在所述调度状态标记中包括以下内容中的一项或多项:所述I/O请求队列中尚未被调度的各异步I/O请求的关键字,所述关键字与异步I/O请求一一对应;所述I/O请求队列中尚未被调度的各异步I/O请求的调度状态;所述异步I/O请求调度暂停指令的指令模式。6.根据权利要求1所述的异步I/O请求优先级的调度方法,其特征在于,所述响应于异步I/O请求调度暂停指令,确定I/O请求队列中待暂停异步I/O请求集合,生成与所述异步I/O请求调度暂停指令对应的调度状态标记,并暂停对所述待暂停异步I/O请求集合中所有异步I/O请求的调度,包括:根据所述异步I/O请求调...

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

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

1