CN113312323B - 并行文件***中降低访问延迟的io请求调度方法及*** - Google Patents

并行文件***中降低访问延迟的io请求调度方法及*** Download PDF

Info

Publication number
CN113312323B
CN113312323B CN202110620133.9A CN202110620133A CN113312323B CN 113312323 B CN113312323 B CN 113312323B CN 202110620133 A CN202110620133 A CN 202110620133A CN 113312323 B CN113312323 B CN 113312323B
Authority
CN
China
Prior art keywords
request
delay
scheduling
file system
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110620133.9A
Other languages
English (en)
Other versions
CN113312323A (zh
Inventor
周恩强
董勇
张伟
谢旻
迟万庆
朱清华
邬会军
张文喆
李佳鑫
吴振伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110620133.9A priority Critical patent/CN113312323B/zh
Publication of CN113312323A publication Critical patent/CN113312323A/zh
Application granted granted Critical
Publication of CN113312323B publication Critical patent/CN113312323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种并行文件***中降低访问延迟的IO请求调度方法及***,本发明方法包括对并行文件***的客户端访问服务端存储设备的IO请求计算并标注延迟敏感度;在多个IO请求发生竞争的条件下,优先调度延迟敏感度较高的IO请求以减少其在竞争拥塞情况下的排队时间、达到降低延迟的目的。本发明目标是在IO请求竞争条件下降低部分IO请求的等待时间Tw,从而降低客户端应用所感知到的IO响应延迟,可用于提高包括大规模高性能计算机***在内的各类使用并行文件***的计算机***针对高带宽和低IO延迟的混合需求的典型工作负载的综合处理性能。

Description

并行文件***中降低访问延迟的IO请求调度方法及***
技术领域
本发明涉及计算机操作***领域,具体涉及一种并行文件***中降低访问延迟的IO请求调度方法及***。
背景技术
并行文件***是高性能计算机的重要组成部分,管理大量的存储设备,并负责调度大量并发的IO请求,有序地发送给存储设备,请求依次执行,IO请求不同的执行次序的会体现出不同的性能表现,尽管存储设备内部通常也设有请求队列,但存储设备的IO队列深度有限,大规模并发条件下,IO请求必然会首先在软件层排队,因此并行文件***层的IO请求调度器对用户程序的IO响应时间和存储设备的吞吐率具有较大的影响。
***软件的IO请求调度器负责对IO请求的执行序列排序。例如Linux操作***设有多种调度策略,分别从优化性能、公平、防止饿死等角度实施请求调度优化,用户则根据各自的工作负载特征进行选择。Lustre并行文件***是高性能计算领域并行文件***的典型代表,其请求调度器也具有多种可选的调度策略,例如带宽优先等。不同的调度器依据各自的调度策略工作,某种调度策略通常对特定的工作负载有效,对其他工作负载无效。当多种工作负载模式共存时,IO请求如何调度成为一个重要且复杂的问题。
在高性能计算的典型工作负载场景中,并行文件***就面临多种工作负载模式混合的情况。传统的科学计算应用程序对IO带宽比较敏感,而新型的密集数据处理、人工智能等应用对IO延迟比较敏感。在高性能计算***被多领域应用程序共享竞争使用的条件下,高带宽和低IO延迟的混合需求模式成为典型工作负载。在这种新的负载模式下,延迟敏感型IO请求和带宽敏感性IO请求都在并行文件***的队列中排队,当请求数量较大就会产生竞争,必然导致IO请求等待调度的时间变长,这就对延迟敏感型应用程序的性能产生影响。在使用传统磁盘介质条件下,因为磁盘自身访问的延迟较大,因此IO请求排队时间占比较低,这个问题表现不突出,但当新型存储介质(例如,新型非易失存储介质NVM(Non-Volatile Memory)开始广泛使用后,因其访问延迟比磁盘的访问延迟要低几个数量级,此时整个IO访问流程中,IO请求排队时间的占比会急剧增大,对应用程序性能的影响凸显。
发明内容
并行文件***一般采用多客户端和多服务器架构,多种类型的应用程序在客户端同时发出的IO请求会竞争服务端的存储设备,当IO请求数量超过服务端存储设备的IO处理能力时,IO请求会在服务端的队列中排队等待,等待时间Tw就成为IO请求延迟的一个组成部分。本发明要解决的技术问题是:提供一种并行文件***中降低访问延迟的IO请求调度方法及***,目标是在IO请求竞争条件下降低部分IO请求的等待时间Tw,从而降低客户端应用所感知到的IO响应延迟,可用于提高包括大规模高性能计算机***在内的各类使用并行文件***的计算机***针对高带宽和低IO延迟的混合需求的典型工作负载的综合处理性能。
为了解决上述技术问题,本发明采用的技术方案为:
一种并行文件***中降低访问延迟的IO请求调度方法,包括
1)对并行文件***的客户端访问服务端存储设备的IO请求计算并标注延迟敏感度;
2)在多个IO请求发生竞争的条件下,优先调度延迟敏感度较高的IO请求以减少其在竞争拥塞情况下的排队时间、达到降低延迟的目的。
可选地,步骤1)中计算延迟敏感度的步骤包括:判断IO请求进是否为被写回缓冲WBC缓冲的IO请求,如果是被写回缓冲WBC缓冲的IO请求则判定该IO请求为延迟敏感型IO请求,否则判定该IO请求为延迟不敏感型IO请求,且针对延迟不敏感型IO请求Rdio,则将预设的固定值作为计算得到的延迟敏感度;针对延迟敏感型IO请求Rwbc,则基于写回缓冲WBC和IO的相关性计算该IO请求的延迟敏感度。
可选地,所述基于写回缓冲WBC和IO的相关性计算该IO请求的延迟敏感度是指:获取写回缓冲WBC的可用空间比P,将1-P作为计算得到的该IO请求的延迟敏感度。
可选地,步骤1)中标注延迟敏感度时,包括为IO请求附加一个延迟敏感度的字段,且该字段中包含计算得到的延迟敏感度S。
可选地,步骤1)中标注延迟敏感度时,还包括为IO请求附加一个类型的字段,且该字段中包含延迟不敏感型IO请求Rdio或延迟敏感型IO请求Rwbc的类型标识T。
可选地,还包括并行文件***的服务端进行IO请求处理的下述步骤:
S1)初始化最大等待时间Tdeadline
S2)接收IO请求R并记录时间戳TSr
S3)从IO请求R解析得到延迟敏感度S,并根据Tw=Tdeadline*(1-S)计算等待时间Tw
S4)判断等待时间Tw是否为0,若等待时间Tw为0,则激活IO请求R的调度执行工作流程;否则将IO请求R放入调度等待队列,激活IO请求R的排队等待工作流程。
可选地,步骤S4)中激活该IO请求的调度执行工作流程后的处理步骤包括:
S4.1A)接收IO请求R、取出时间戳TSr
S4.2A)从等待队列中遍历找出和IO请求R源自同一写回缓冲WBC的IO请求Ri
S4.3A)取出IO请求Ri的时间戳TSi
S4.4A)判断IO请求Ri的时间戳TSi小于IO请求R的时间戳TSr是否成立,若成立,则从等待队列中移除IO请求Ri,并将IO请求Ri的送入执行队列;
S4.5A)判断等待队列中和IO请求R源自同一写回缓冲WBC的IO请求是否遍历完毕,如果尚未遍历完毕,则继续从等待队列中遍历找出和IO请求R源自同一写回缓冲WBC的IO请求Ri,跳转执行步骤S4.3A);否则跳转执行下一步;
S4.6A)从等待队列中移除IO请求R,并将IO请求R的送入执行队列,依次执行送入执行队列的所有IO请求。
可选地,步骤S4)中激活IO请求的排队等待工作流程后的处理步骤包括:
S4.1B)从调度等待队列遍历取出一个IO请求R;
S4.2B)将IO请求R的等待时间Tw减去预设的调度时间片t,判断减去预设的调度时间片t后的等待时间Tw是否为0,若为零则激活IO请求R的调度执行工作流程;否则,判断调度等待队列是否遍历完毕,若尚未遍历完毕则继续从调度等待队列遍历取出一个IO请求R,跳转执行步骤S4.2B);否则跳转执行下一步;
S4.3B)判断一下条件是否满足任意一项:条件1:时间片到期;条件2:有新的IO请求进入调度等待队列;若满足任意一项,则跳转执行步骤S4.1B),否则等待被激活。
此外,本发明还提供一种并行文件***中降低访问延迟的IO请求调度***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述并行文件***中降低访问延迟的IO请求调度方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述并行文件***中降低访问延迟的IO请求调度方法的计算机程序。
和现有技术相比,本发明主要具有下述优点:
1、本发明包括对并行文件***的客户端访问服务端存储设备的IO请求计算并标注延迟敏感度;在多个IO请求发生竞争的条件下,优先调度延迟敏感度较高的IO请求以减少其在竞争拥塞情况下的排队时间、达到降低延迟的目的,本发明针对混合负载模式条件下如何降低IO请求延迟的问题,在并行文件***中根据IO请求的类型分别计算延迟敏感度,并据此调整IO请求排队次序,这种方法能够降低延迟敏感型应用IO请求的排队时间,达到降低IO访问延迟的效果,本发明能够在IO请求竞争条件下降低部分IO请求的等待时间Tw,从而降低客户端应用所感知到的IO响应延迟。
2、本发明适用于大规模高性能计算机***,这类***普遍采用并行文件***提供IO访问服务,并行文件***通常在客户端上采用写回缓冲技术(以下简称WBC,Write BackCache),即应用程序发出的IO调用将数据暂存在客户端的缓冲区,然后立即返回,WBC选择合适的时机再将数据发送给后端的存储设备,WBC可以将离散的IO请求重新组装成连续的IO请求,从而提高访问带宽,因此非常适合高性能计算***的IO模式,可用于提高包括大规模高性能计算机***在内的各类使用并行文件***的计算机***针对高带宽和低IO延迟的混合需求的典型工作负载的综合处理性能。
3、本发明适用于通用的并行文件***框架,可以和原***的请求调度***串联使用,经本实施例调度后输出的请求序列中,延迟敏感型请求排在前面,有利于后续调度***优先调度执行,其实现方式灵活多样,可以在客户端实现、服务端实现,还可以在客户端、服务端之间增加中间调度节点的方式来实现,可单独配置,或同其他调度器进行串联配置,所以具有兼容性好和适用性好的优点。
附图说明
图1为本发明实施例方法的核心流程示意图。
图2为本发明实施例中的***结构示意图。
图3为本发明实施例中计算并标注延迟敏感度的流程示意图。
图4为本发明实施例中服务端的处理流程示意图。
具体实施方式
如图1所示,本实施例并行文件***中降低访问延迟的IO请求调度方法包括:
1)对并行文件***的客户端访问服务端存储设备的IO请求计算并标注延迟敏感度;
2)在多个IO请求发生竞争的条件下,优先调度延迟敏感度较高的IO请求以减少其在竞争拥塞情况下的排队时间、达到降低延迟的目的。
本实施例并行文件***中降低访问延迟的IO请求调度方法为每个IO请求赋予一个延迟敏感度,高延迟敏感度的IO请求被优先调度执行,减少其在竞争拥塞情况下的排队时间,达到降低延迟的目,本实施例并行文件***中降低访问延迟的IO请求调度方法的核心在于请求调度采用的依据是延迟敏感度,并基于IO请求和WBC的关系来计算延迟敏感度,这使得本实施例区别与其他请求调度器,本发明可单独配置,或同其他调度器进行串联配置。
参见图2,作为一种可选的实施方式,本实施例中在客户端中基于WBC和IO请求的相关性,为每个IO请求赋予一个延迟敏感度,高延迟敏感度的IO请求被优先调度执行,减少其在竞争拥塞情况下的排队时间,达到降低延迟的目的。
参见图3,本实施例步骤1)中计算延迟敏感度的步骤包括:判断IO请求进是否为被写回缓冲WBC缓冲的IO请求,如果是被写回缓冲WBC缓冲的IO请求则判定该IO请求为延迟敏感型IO请求,否则判定该IO请求为延迟不敏感型IO请求,且针对延迟不敏感型IO请求Rdio,则将预设的固定值作为计算得到的延迟敏感度;针对延迟敏感型IO请求Rwbc,则基于写回缓冲WBC和IO的相关性计算该IO请求的延迟敏感度。本实施例将应用程序的IO请求分为2类:被WBC缓冲的请求(以下简称Rwbc)和绕过WBC缓冲的请求(以下简称Rdio)。根据WBC原理,Rwbc携带的数据写入cache后,会通知应用程序本次IO已完成,因此应用程序不必等待数据真正写入存储设备,数据是由文件***在后台选择时机发送给存储设备。应用程序无需等待Rwbc真正完成,对其完成时间不敏感,所以该类请求定义为延迟不敏感型请求。对于Rdio,应用程序必须一直阻塞等待,直到IO请求操作在存储设备完成。由此可见,Rdio的完成时间直接影响了应用程序的执行时间,因此被定义为延迟敏感型IO请求。本实施例不控制IO请求是否进入写回缓冲WBC,仅在并行文件***的客户端对IO请求进行判别,为这两类IO请求附加一个描述延迟敏感度的字段,延迟敏感型请求赋予相对较高的迟敏感度,延迟不敏感型请求赋予相对较低的延迟敏感度。延迟敏感度的计算规则如下:Rdio请求延迟敏感度取固定最大值,Rwbc请求的延迟敏感度须根据WBC的空间可用情况进行推算,以防止Rwbc请求被过度延迟调度导致WBC中的数据不能顺利排空。
参见图3,本实施例中基于写回缓冲WBC和IO的相关性计算该IO请求的延迟敏感度是指:获取写回缓冲WBC的可用空间比P,将1-P作为计算得到的该IO请求的延迟敏感度。
本实施例中,步骤1)中标注延迟敏感度时,包括为IO请求附加一个延迟敏感度的字段,且该字段中包含计算得到的延迟敏感度S。
本实施例中,步骤1)中标注延迟敏感度时,还包括为IO请求附加一个类型的字段,且该字段中包含延迟不敏感型IO请求Rdio或延迟敏感型IO请求Rwbc的类型标识T。
如图4子图(a),本实施例还包括并行文件***的服务端进行IO请求处理的下述步骤:
S1)初始化最大等待时间Tdeadline
S2)接收IO请求R并记录时间戳TSr
S3)从IO请求R解析得到延迟敏感度S,并根据Tw=Tdeadline*(1-S)计算等待时间Tw;即S越小,Tw越大,呈线性反比关系,即S=0时,对应Tw=Tdeadline,等待时间最长;S=1时,对应Tw=0,无需等待;
S4)判断等待时间Tw是否为0,若等待时间Tw为0,则激活IO请求R的调度执行工作流程;否则将IO请求R放入调度等待队列,激活IO请求R的排队等待工作流程。
本实施例步骤S1)中将最大等待时间Tdeadline初始化设置为WBC可用容量从100%降至0%的时间,基于具体的***实测可获得。
此外,本实施例步骤S1)中还包括初始化设置调度时间片t的步骤,调度时间片t用于循环遍历处理调度等待队列中的IO请求。本实施例中,假设字段S的精度为g,则初始化设置调度时间片t的取值为t=Tdeadline*g,即Rwbc请求等待时间的最小粒度,服务端每隔时间t激活一次调度流程。
本实施例中在服务端设置一个调度等待队列,依据收到IO请求的延迟敏感度实施请求调度,将延迟敏感度高的请求优先调度执行。在两类请求竞争的情况下,Rwbc的调度执行被延后,其Tw会增加,但根据WBC的工作原理,当WBC存在可用空间时,则发出Rwbc请求的应用程序不必等待请求的完成,因此适度延后调度不影响该应用的正常执行。Rwbc的延后反而使得Rdio请求在队列中处于优先调度的位置,因此具有更短的等待时间Tw,从而降低了发出Rdio请求应用程序可感知到的IO延迟。
如图4子图(c),步骤S4)中激活该IO请求的调度执行工作流程后的处理步骤包括:
S4.1A)接收IO请求R、取出时间戳TSr
S4.2A)从等待队列中遍历找出和IO请求R源自同一写回缓冲WBC的IO请求Ri
S4.3A)取出IO请求Ri的时间戳TSi
S4.4A)判断IO请求Ri的时间戳TSi小于IO请求R的时间戳TSr是否成立,若成立,则从等待队列中移除IO请求Ri,并将IO请求Ri的送入执行队列;
S4.5A)判断等待队列中和IO请求R源自同一写回缓冲WBC的IO请求是否遍历完毕,如果尚未遍历完毕,则继续从等待队列中遍历找出和IO请求R源自同一写回缓冲WBC的IO请求Ri,跳转执行步骤S4.3A);否则跳转执行下一步;
S4.6A)从等待队列中移除IO请求R,并将IO请求R的送入执行队列,依次执行送入执行队列的所有IO请求。
本实施例中通过步骤S4.3A)~S4.5A)的循环遍历,可分别取出和IO请求R源自同一写回缓冲WBC的IO请求{Ri,…,Rj}的时间戳{TSi,…,TSj},将IO请求{Ri,…,Rj}的时间戳{TSi,…,TSj}分别与TSr比较,将时间戳早于TSr的请求一并从等待队列移除,并依次送入文件***下一级处理流程执行。
如图4子图(b),步骤S4)中激活IO请求的排队等待工作流程后的处理步骤包括:
S4.1B)从调度等待队列遍历取出一个IO请求R;
S4.2B)将IO请求R的等待时间Tw减去预设的调度时间片t,判断减去预设的调度时间片t后的等待时间Tw是否为0,若为零则激活IO请求R的调度执行工作流程;否则,判断调度等待队列是否遍历完毕,若尚未遍历完毕则继续从调度等待队列遍历取出一个IO请求R,跳转执行步骤S4.2B);否则跳转执行下一步;
S4.3B)判断一下条件是否满足任意一项:条件1:时间片到期;条件2:有新的IO请求进入调度等待队列;若满足任意一项,则跳转执行步骤S4.1B),否则等待被激活。
作为一种可选的实施方式,本实施例中图4子图(a)~(c)对应的流程分别采用不同线程执行,前述激活即为激活对应的线程。
综上所述,本实施例面向并行文件***的IO请求调度方法具有下述优点:本实施例针对混合负载模式条件下如何降低IO请求延迟的问题,在并行文件***中根据IO请求的类型分别计算延迟敏感度,并据此调整IO请求排队次序,这种方法能够降低延迟敏感型应用IO请求的排队时间,达到降低IO访问延迟的效果。本实施例适用于通用的并行文件***框架,可以和原***的请求调度***串联使用,经本实施例方法调度后输出的请求序列中,延迟敏感型请求排在前面,有利于后续调度***优先调度执行,所以,本实施例面向并行文件***的IO请求调度方法具有兼容性好和适用性好的优点。
此外,本实施例还提供一种并行文件***中降低访问延迟的IO请求调度***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述并行文件***中降低访问延迟的IO请求调度方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述并行文件***中降低访问延迟的IO请求调度方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.一种并行文件***中降低访问延迟的IO请求调度方法,其特征在于,包括
1)对并行文件***的客户端访问服务端存储设备的IO请求计算并标注延迟敏感度;
2)在多个IO请求发生竞争的条件下,优先调度延迟敏感度较高的IO请求以减少其在竞争拥塞情况下的排队时间、达到降低延迟的目的;
步骤1)中计算延迟敏感度的步骤包括:判断IO请求进是否为被写回缓冲WBC缓冲的IO请求,如果是被写回缓冲WBC缓冲的IO请求则判定该IO请求为延迟敏感型IO请求,否则判定该IO请求为延迟不敏感型IO请求,且针对延迟不敏感型IO请求Rdio,则将预设的固定值作为计算得到的延迟敏感度;针对延迟敏感型IO请求Rwbc,则基于写回缓冲WBC和IO的相关性计算该IO请求的延迟敏感度,所述基于写回缓冲WBC和IO的相关性计算该IO请求的延迟敏感度是指:获取写回缓冲WBC的可用空间比P,将1-P作为计算得到的该IO请求的延迟敏感度;
还包括并行文件***的服务端进行IO请求处理的下述步骤:
S1)初始化最大等待时间Tdeadline
S2)接收IO请求R并记录时间戳TSr
S3)从IO请求R解析得到延迟敏感度S,并根据Tw=Tdeadline*(1-S)计算等待时间Tw
S4)判断等待时间Tw是否为0,若等待时间Tw为0,则激活IO请求R的调度执行工作流程;否则将IO请求R放入调度等待队列,激活IO请求R的排队等待工作流程;
步骤S4)中激活该IO请求的调度执行工作流程后的处理步骤包括:
S4.1A)接收IO请求R、取出时间戳TSr
S4.2A)从等待队列中遍历找出和IO请求R源自同一写回缓冲WBC的IO请求Ri
S4.3A)取出IO请求Ri的时间戳TSi
S4.4A)判断IO请求Ri的时间戳TSi小于IO请求R的时间戳TSr是否成立,若成立,则从等待队列中移除IO请求Ri,并将IO请求Ri的送入执行队列;
S4.5A)判断等待队列中和IO请求R源自同一写回缓冲WBC的IO请求是否遍历完毕,如果尚未遍历完毕,则继续从等待队列中遍历找出和IO请求R源自同一写回缓冲WBC的IO请求Ri,跳转执行步骤S4.3A);否则跳转执行下一步;
S4.6A)从等待队列中移除IO请求R,并将IO请求R的送入执行队列,依次执行送入执行队列的所有IO请求;
步骤S4)中激活IO请求的排队等待工作流程后的处理步骤包括:
S4.1B)从调度等待队列遍历取出一个IO请求R;
S4.2B)将IO请求R的等待时间Tw减去预设的调度时间片t,判断减去预设的调度时间片t后的等待时间Tw是否为0,若为零则激活IO请求R的调度执行工作流程;否则,判断调度等待队列是否遍历完毕,若尚未遍历完毕则继续从调度等待队列遍历取出一个IO请求R,跳转执行步骤S4.2B);否则跳转执行下一步;
S4.3B)判断一下条件是否满足任意一项:条件1:时间片到期;条件2:有新的IO请求进入调度等待队列;若满足任意一项,则跳转执行步骤S4.1B),否则等待被激活。
2.根据权利要求1所述的并行文件***中降低访问延迟的IO请求调度方法,其特征在于,步骤1)中标注延迟敏感度时,包括为IO请求附加一个延迟敏感度的字段,且该字段中包含计算得到的延迟敏感度S。
3.根据权利要求2所述的并行文件***中降低访问延迟的IO请求调度方法,其特征在于,步骤1)中标注延迟敏感度时,还包括为IO请求附加一个类型的字段,且该字段中包含延迟不敏感型IO请求Rdio或延迟敏感型IO请求Rwbc的类型标识T。
4.一种并行文件***中降低访问延迟的IO请求调度***,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~3中任意一项所述并行文件***中降低访问延迟的IO请求调度方法的步骤。
5.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~3中任意一项所述并行文件***中降低访问延迟的IO请求调度方法的计算机程序。
CN202110620133.9A 2021-06-03 2021-06-03 并行文件***中降低访问延迟的io请求调度方法及*** Active CN113312323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110620133.9A CN113312323B (zh) 2021-06-03 2021-06-03 并行文件***中降低访问延迟的io请求调度方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110620133.9A CN113312323B (zh) 2021-06-03 2021-06-03 并行文件***中降低访问延迟的io请求调度方法及***

Publications (2)

Publication Number Publication Date
CN113312323A CN113312323A (zh) 2021-08-27
CN113312323B true CN113312323B (zh) 2022-07-19

Family

ID=77377255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110620133.9A Active CN113312323B (zh) 2021-06-03 2021-06-03 并行文件***中降低访问延迟的io请求调度方法及***

Country Status (1)

Country Link
CN (1) CN113312323B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124830B (zh) * 2021-11-19 2024-04-30 南京大学 一种面向数据中心多应用场景的rdma服务质量保证方法及***
CN116737673B (zh) * 2022-09-13 2024-03-15 荣耀终端有限公司 嵌入式操作***中文件***的调度方法、设备及存储介质
CN117453378B (zh) * 2023-12-25 2024-03-19 北京卡普拉科技有限公司 多应用程序间i/o请求调度方法、装置、设备及介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104321758A (zh) * 2013-01-17 2015-01-28 英特尔公司 经由共享存储器结构的仲裁存储器访问
US8949489B1 (en) * 2012-03-21 2015-02-03 Google Inc. Method for combining bulk and latency-sensitive input and output
CN107145388A (zh) * 2017-05-25 2017-09-08 深信服科技股份有限公司 一种多任务环境下任务调度方法及***
CN107454017A (zh) * 2017-06-05 2017-12-08 上海交通大学 一种云数据中心网络中混合数据流协同调度方法
CN107589997A (zh) * 2017-08-29 2018-01-16 山东师范大学 数据中心环境下保证延迟敏感程序QoS的动态调节方法
CN107707326A (zh) * 2017-11-10 2018-02-16 鹤壁天海电子信息***有限公司 一种面向终端的tdma两级时隙管理方法
CN107885667A (zh) * 2016-09-29 2018-04-06 北京忆恒创源科技有限公司 降低读命令处理延迟的方法与装置
CN109347974A (zh) * 2018-11-16 2019-02-15 北京航空航天大学 一种提高在线服务质量和集群资源利用率的在线离线混合调度***
CN110716797A (zh) * 2019-09-10 2020-01-21 无锡江南计算技术研究所 一种面向多请求来源的ddr4性能平衡调度结构及方法
CN111328148A (zh) * 2020-03-11 2020-06-23 展讯通信(上海)有限公司 数据传输方法及装置
CN111444012A (zh) * 2020-03-03 2020-07-24 中国科学院计算技术研究所 一种保证延迟敏感应用延迟slo的动态调控资源方法及***
CN111782355A (zh) * 2020-06-03 2020-10-16 上海交通大学 一种基于混合负载的云计算任务调度方法及***
CN112463044A (zh) * 2020-11-23 2021-03-09 中国科学院计算技术研究所 一种保证分布式存储***服务器端读尾延迟的方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452572B2 (en) * 2016-10-06 2019-10-22 Vmware, Inc. Automatic system service resource management for virtualizing low-latency workloads that are input/output intensive

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949489B1 (en) * 2012-03-21 2015-02-03 Google Inc. Method for combining bulk and latency-sensitive input and output
CN104321758A (zh) * 2013-01-17 2015-01-28 英特尔公司 经由共享存储器结构的仲裁存储器访问
CN107885667A (zh) * 2016-09-29 2018-04-06 北京忆恒创源科技有限公司 降低读命令处理延迟的方法与装置
CN107145388A (zh) * 2017-05-25 2017-09-08 深信服科技股份有限公司 一种多任务环境下任务调度方法及***
CN107454017A (zh) * 2017-06-05 2017-12-08 上海交通大学 一种云数据中心网络中混合数据流协同调度方法
CN107589997A (zh) * 2017-08-29 2018-01-16 山东师范大学 数据中心环境下保证延迟敏感程序QoS的动态调节方法
CN107707326A (zh) * 2017-11-10 2018-02-16 鹤壁天海电子信息***有限公司 一种面向终端的tdma两级时隙管理方法
CN109347974A (zh) * 2018-11-16 2019-02-15 北京航空航天大学 一种提高在线服务质量和集群资源利用率的在线离线混合调度***
CN110716797A (zh) * 2019-09-10 2020-01-21 无锡江南计算技术研究所 一种面向多请求来源的ddr4性能平衡调度结构及方法
CN111444012A (zh) * 2020-03-03 2020-07-24 中国科学院计算技术研究所 一种保证延迟敏感应用延迟slo的动态调控资源方法及***
CN111328148A (zh) * 2020-03-11 2020-06-23 展讯通信(上海)有限公司 数据传输方法及装置
CN111782355A (zh) * 2020-06-03 2020-10-16 上海交通大学 一种基于混合负载的云计算任务调度方法及***
CN112463044A (zh) * 2020-11-23 2021-03-09 中国科学院计算技术研究所 一种保证分布式存储***服务器端读尾延迟的方法及***

Also Published As

Publication number Publication date
CN113312323A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
CN113312323B (zh) 并行文件***中降低访问延迟的io请求调度方法及***
Usui et al. DASH: Deadline-aware high-performance memory scheduler for heterogeneous systems with hardware accelerators
US10089142B2 (en) Dynamic task prioritization for in-memory databases
US8046758B2 (en) Adaptive spin-then-block mutual exclusion in multi-threaded processing
US10133602B2 (en) Adaptive contention-aware thread placement for parallel runtime systems
Mutlu et al. Parallelism-aware batch scheduling: Enhancing both performance and fairness of shared DRAM systems
US5790851A (en) Method of sequencing lock call requests to an O/S to avoid spinlock contention within a multi-processor environment
Reda et al. Rein: Taming tail latency in key-value stores via multiget scheduling
US20060037017A1 (en) System, apparatus and method of reducing adverse performance impact due to migration of processes from one CPU to another
JP2013232207A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
JP2003044295A (ja) スリープキュー管理
US20060037021A1 (en) System, apparatus and method of adaptively queueing processes for execution scheduling
US20230127112A1 (en) Sub-idle thread priority class
US10409640B1 (en) Methods and apparatus for data request scheduling in performing parallel IO operations
JP2009541851A (ja) リソースに基づいたスケジューラ
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
Mutlu et al. Parallelism-aware batch scheduling: Enabling high-performance and fair shared memory controllers
EP2840513B1 (en) Dynamic task prioritization for in-memory databases
US11061724B2 (en) Programmable hardware scheduler for digital processing systems
CN110837415A (zh) 一种基于risc-v多核处理器的线程调度方法和装置
Ma et al. I/O throttling and coordination for MapReduce
US20180349180A1 (en) Method and apparatus for scheduling arbitration among a plurality of service requestors
US20240160364A1 (en) Allocation of resources when processing at memory level through memory request scheduling
JP5299869B2 (ja) コンピュータマイクロジョブ
US10713089B2 (en) Method and apparatus for load balancing of jobs scheduled for processing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant