CN113687796B - Io任务处理方法、装置和计算机设备和存储介质 - Google Patents

Io任务处理方法、装置和计算机设备和存储介质 Download PDF

Info

Publication number
CN113687796B
CN113687796B CN202111246169.1A CN202111246169A CN113687796B CN 113687796 B CN113687796 B CN 113687796B CN 202111246169 A CN202111246169 A CN 202111246169A CN 113687796 B CN113687796 B CN 113687796B
Authority
CN
China
Prior art keywords
tasks
time
processing
merging
merged
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
CN202111246169.1A
Other languages
English (en)
Other versions
CN113687796A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111246169.1A priority Critical patent/CN113687796B/zh
Publication of CN113687796A publication Critical patent/CN113687796A/zh
Application granted granted Critical
Publication of CN113687796B publication Critical patent/CN113687796B/zh
Priority to PCT/CN2022/089352 priority patent/WO2023071101A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种IO任务处理方法、装置和计算机设备和存储介质。所述方法包括:S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。采用本方法能够有效提高主机的IO读写效率,从而节省***资源。

Description

IO任务处理方法、装置和计算机设备和存储介质
技术领域
本申请涉及存储技术领域,特别是涉及一种IO任务处理方法、装置、计算机设备和存储介质。
背景技术
主机向磁盘读出或写入数据块时,会不断下发IO请求,最简单的处理方法就是依次单独执行这些IO请求,但这种方法处理效率较低。如果先根据读/写磁盘的位置信息,将读/写位置相邻的IO请求进行合并,然后再向磁盘进行读/写,则可以在一定程度上提高处理效率。
目前,已存在一些关于IO合并的方法,但这些方法主要聚焦于如何合并IO,却忽略了IO合并的时间。需要说明的一点是,IO合并时间不是越长越好。因为开启IO合并后,主机需要等待IO合并完成后,才可以向磁盘进行读写。有时,过长的IO合并时间反而会降低IO处理效率。由此可见,IO合并时间的选取是一个急需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够IO任务处理方法、装置、计算机设备和存储介质。
一方面,提供一种IO任务处理方法,所述方法包括:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
在其中一个实施例中,步骤S1还包括:计算依次单独执行IO任务时的耗费时间方差,并根据所述方差确定处理不同IO任务所耗费的时间是否稳定;
若稳定,则执行步骤S2;
若不稳定,则继续保持依次单独执行IO任务。
在其中一个实施例中,所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定IO合并时间,包括:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
在其中一个实施例中,计算合并IO任务时处理每个IO所耗费时间的第二均值,包括:
Figure DEST_PATH_IMAGE001
其中μ2为合并IO任务时处理每个IO所耗费时间的第二均值,χt为合并时间,t为处理合并IO任务时所耗费的总时间,n为合并的IO任务及剩余未合并IO任务的总任务数。
在其中一个实施例中,所述计算合并IO任务时的效率提升值,包括:
Figure 87776DEST_PATH_IMAGE002
η为效率提升值,μ1为依次单独执行时处理单个IO所耗费时间的第一均值,μ2为合并IO任务时处理每个IO所耗费时间的第二均值。
在其中一个实施例中,所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定IO合并时间,还包括:
多次调整合并IO任务的合并时间,并计算调整后的多个效率提升值,将最大效率提升值对应的合并时间作为最佳IO合并时间。
在其中一个实施例中,所述调整合并IO任务的合并时间,包括:
Figure DEST_PATH_IMAGE003
其中,χt为合并时间,η为效率提升值。
另一方面,提供了一种IO任务处理装置,所述装置包括单独执行模块、优化模块、优化后处理模块,其中:
单独执行模块,用于接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
优化模块,用于继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
优化后处理模块,用于根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
上述IO任务处理方法、装置、计算机设备和存储介质,首先,不开启IO合并,接收主机下发的多个IO请求并依次执行,统计处理单个IO所耗费时间的均值及方差;其次,采用启发式的方法来迭代优化IO合并时间,在每一次迭代优化过程中,计算出当前IO合并时间所对应的效率提升值,根据效率提升的情况去修改IO合并时间。重复这个过程,直到满足停止条件;最后,采用上一步得到的IO合并时间,继续执行剩余IO任务。通过进行IO合并,可以有效提高主机的IO读写效率,从而节省***资源。
附图说明
图1为一个实施例中IO任务处理方法的流程示意图;
图2为一个实施例中单独执行阶段的流程示意图;
图3为一个实施例中优化阶段的流程示意图;
图4为一个实施例中优化后处理阶段的流程示意图;
图5为一个实施例中IO任务处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的IO任务处理方法,如图1所示,该方法包括以下步骤:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
本申请的方法主要包含三个阶段,第一个阶段不开启IO合并,分析处理单个IO的效率;第二阶段通过启发式学习的方法优化IO合并时间,第三阶段采用第二阶段得到的IO合并时间,继续处理主机下发的IO请求。
上述IO任务处理方法中,通过进行IO合并,可以有效提高主机的IO读写效率,从而节省***资源。
在其中一个实施例中,步骤S1还包括:计算依次单独执行IO任务时的耗费时间方差,并根据所述方差确定处理不同IO任务所耗费的时间是否稳定;
若稳定,则执行步骤S2;
若不稳定,则继续保持依次单独执行IO任务。
具体的,如图2所示,第一阶段,在不开启IO合并的情况下,接收主机下发的多个IO,并分别对IO进行处理。然后统计处理每个IO所耗费时间的均值μ1及方差σ2
通过方差来分析处理不同IO所耗费的时间是否稳定,若不稳定,则继续保持IO合并不开启;若方差稳定,则输出单个IO所耗费的时间均值μ1,并进入第二阶段。
在其中一个实施例中,所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定IO合并时间,包括:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
在其中一个实施例中,计算合并IO任务时处理每个IO所耗费时间的第二均值,包括:
Figure 320043DEST_PATH_IMAGE004
其中μ2为合并IO任务时处理每个IO所耗费时间的第二均值,χt为合并时间,t为处理合并IO任务时所耗费的总时间,n为合并的IO任务及剩余未合并IO任务的总任务数。
在其中一个实施例中,所述计算合并IO任务时的效率提升值,包括:
Figure DEST_PATH_IMAGE005
η为效率提升值,μ1为依次单独执行时处理单个IO所耗费时间的第一均值,μ2为合并IO任务时处理每个IO所耗费时间的第二均值。
在其中一个实施例中,所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定IO合并时间,还包括:
多次调整合并IO任务的合并时间,并计算调整后的多个效率提升值,将最大效率提升值对应的合并时间作为最佳IO合并时间。
在其中一个实施例中,所述调整合并IO任务的合并时间,包括:
Figure 774639DEST_PATH_IMAGE006
其中,χt为合并时间,η为效率提升值。
具体的,如图3所示,第二阶段,包含以下几个步骤:
S21.输入第一阶段所得均值μ1,初始化IO合并时间χt=0.1s,初始化空集合S,初始化最大优化次数N=100,初始化当前迭代次数i=1;
S22.接收主机下发的多个IO(IO1,IO2,…,IOn),开启IO合并,在IO合并时间χt内,对IO进行合并;
S23.IO合并结束后,对合并的IO及剩余未合并IO进行读/写处理,并统计所耗费的总时间t;
S24.计算开启IO合并后,处理每个IO所耗费时间的均值:
Figure 182487DEST_PATH_IMAGE007
S25.统计开启IO合并后,处理IO的效率提升:
Figure 473791DEST_PATH_IMAGE008
S26.存档:将当前的IO合并时间 χt和对应的效率提升η存入集合S中;
S27.调整IO合并时间:
Figure 334300DEST_PATH_IMAGE009
S28.调整当前迭代次数: i=i+1
S29.判断i是否大于最大优化次数N:
如果i≤N,则返回第2步,继续优化IO合并时间;
如果i>N,则从集合S中选出效率提升最大的 η(记为ηbest)及其对应的IO合并时间χt
S2A.如果ηbest≤0,则令IO合并时间χt =0,否则,保持不变;
S2B.输出优化后的IO合并时间χt,并进入第三阶段。
如图4所示,第三阶段,包括以下几个步骤:
S31.设置IO合并时间为第二阶段输出的IO合并时间x_t;
S32.接收主机下发的多个IO请求,在时间χt内对IO进行合并;
S33.IO合并时间结束后,对合并的IO及剩余未合并IO进行读/写处理;
S34.重复该阶段的步骤S32,S33,直到主机不再下发IO请求。
应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
通过启发式学习的方式优化IO合并时间,从而能够根据所处理的IO任务自适应的确定最佳的IO合并时间,避免IO合并时间过长或过短而影响IO处理效率。
在一个实施例中,如图5所示,提供了一种IO任务处理装置,包括单独执行模块、优化模块、优化后处理模块,其中:
单独执行模块,用于接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
优化模块,用于继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
优化后处理模块,用于根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
在其中一个实施例中,单独执行模块还用于计算依次单独执行IO任务时的耗费时间方差,并根据所述方差确定处理不同IO任务所耗费的时间是否稳定。
在其中一个实施例中,优化模块用于:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
在其中一个实施例中,优化模块中计算合并IO任务时处理每个IO所耗费时间的第二均值,包括:
Figure 2041DEST_PATH_IMAGE001
其中μ2为合并IO任务时处理每个IO所耗费时间的第二均值,χt为合并时间,t为处理合并IO任务时所耗费的总时间,n为合并的IO任务及剩余未合并IO任务的总任务数。
在其中一个实施例中,优化模块中计算合并IO任务时的效率提升值,包括:
Figure 264395DEST_PATH_IMAGE010
η为效率提升值,μ1为依次单独执行时处理单个IO所耗费时间的第一均值,μ2为合并IO任务时处理每个IO所耗费时间的第二均值。
在其中一个实施例中,优化模块中根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定IO合并时间,还包括:
多次调整合并IO任务的合并时间,并计算调整后的多个效率提升值,将最大效率提升值对应的合并时间作为最佳IO合并时间。
在其中一个实施例中,优化模块中调整合并IO任务的合并时间,包括:
Figure 726601DEST_PATH_IMAGE011
其中,χt为合并时间,η为效率提升值。
关于IO任务处理装置的具体限定可以参见上文中对于IO任务处理方法的限定,在此不再赘述。上述IO任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种IO任务处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算依次单独执行IO任务时的耗费时间方差,并根据所述方差确定处理不同IO任务所耗费的时间是否稳定;
若稳定,则执行步骤S2;
若不稳定,则继续保持依次单独执行IO任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算合并IO任务时处理每个IO所耗费时间的第二均值,包括:
Figure 871143DEST_PATH_IMAGE012
其中μ2为合并IO任务时处理每个IO所耗费时间的第二均值,χt为合并时间,t为处理合并IO任务时所耗费的总时间,n为合并的IO任务及剩余未合并IO任务的总任务数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算合并IO任务时的效率提升值,包括:
Figure 76997DEST_PATH_IMAGE005
η为效率提升值,μ1为依次单独执行时处理单个IO所耗费时间的第一均值,μ2为合并IO任务时处理每个IO所耗费时间的第二均值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
多次调整合并IO任务的合并时间,并计算调整后的多个效率提升值,将最大效率提升值对应的合并时间作为最佳IO合并时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调整合并IO任务的合并时间,包括:
Figure 193857DEST_PATH_IMAGE013
其中,χt为合并时间,η为效率提升值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算依次单独执行IO任务时的耗费时间方差,并根据所述方差确定处理不同IO任务所耗费的时间是否稳定;
若稳定,则执行步骤S2;
若不稳定,则继续保持依次单独执行IO任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算合并IO任务时处理每个IO所耗费时间的第二均值,包括:
Figure 92543DEST_PATH_IMAGE012
其中μ2为合并IO任务时处理每个IO所耗费时间的第二均值,χt为合并时间,t为处理合并IO任务时所耗费的总时间,n为合并的IO任务及剩余未合并IO任务的总任务数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算合并IO任务时的效率提升值,包括:
Figure 927644DEST_PATH_IMAGE014
η为效率提升值,μ1为依次单独执行时处理单个IO所耗费时间的第一均值,μ2为合并IO任务时处理每个IO所耗费时间的第二均值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
多次调整合并IO任务的合并时间,并计算调整后的多个效率提升值,将最大效率提升值对应的合并时间作为最佳IO合并时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调整合并IO任务的合并时间,包括:
Figure 671609DEST_PATH_IMAGE015
其中,χt为合并时间,η为效率提升值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种IO任务处理方法,其特征在于,包括以下步骤:
S1,接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
S2,继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
S3,根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务;
其中所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间,包括:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
2.根据权利要求1所述的IO任务处理方法,其特征在于,所述步骤S1还包括:计算依次单独执行IO任务时的耗费时间方差,并根据所述方差确定处理不同IO任务所耗费的时间是否稳定;
若稳定,则执行步骤S2;
若不稳定,则继续保持依次单独执行IO任务。
3.根据权利要求1所述的IO任务处理方法,其特征在于,计算合并IO任务时处理每个IO所耗费时间的第二均值,包括:
Figure 923641DEST_PATH_IMAGE001
其中μ2为合并IO任务时处理每个IO所耗费时间的第二均值,χt为合并时间,t为处理合并IO任务时所耗费的总时间,n为合并的IO任务及剩余未合并IO任务的总任务数。
4.根据权利要求3所述的IO任务处理方法,其特征在于,所述计算合并IO任务时的效率提升值,包括:
Figure 575203DEST_PATH_IMAGE002
η为效率提升值,μ1为依次单独执行时处理单个IO所耗费时间的第一均值,μ2为合并IO任务时处理每个IO所耗费时间的第二均值。
5.根据权利要求1所述的IO任务处理方法,其特征在于,所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间,还包括:
多次调整合并IO任务的合并时间,并计算调整后的多个效率提升值,将最大效率提升值对应的合并时间作为最佳IO合并时间。
6.根据权利要求5所述的IO任务处理方法,其特征在于,所述调整合并IO任务的合并时间,包括:
Figure 948415DEST_PATH_IMAGE003
其中,χt为合并时间,η为效率提升值。
7.一种IO任务处理装置,其特征在于,所述装置包括单独执行模块、优化模块、优化后处理模块,其中:
单独执行模块,用于接收主机下发的多个IO任务并依次单独执行,统计依次单独执行时处理单个IO所耗费时间的第一均值;
优化模块,用于继续接收主机下发的多个IO任务并合并IO任务执行,根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间;
优化后处理模块,用于根据所述最佳IO合并时间,继续执行主机下发的剩余IO任务;
其中所述根据所述依次单独执行时处理单个IO所耗费时间的第一均值确定最佳IO合并时间,包括:
获取合并IO任务的初始化合并时间;
统计处理合并IO任务时所耗费的总时间,所述处理合并IO任务包括对合并的IO任务及剩余未合并IO任务进行读/写处理;
计算合并IO任务时处理每个IO所耗费时间的第二均值;
根据所述依次单独执行时处理单个IO所耗费时间的第一均值以及所述合并IO任务时处理每个IO所耗费时间的第二均值,计算合并IO任务时的效率提升值;
若效率提升值大于0,则将所述初始化合并时间作为最佳IO合并时间。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202111246169.1A 2021-10-25 2021-10-25 Io任务处理方法、装置和计算机设备和存储介质 Active CN113687796B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111246169.1A CN113687796B (zh) 2021-10-25 2021-10-25 Io任务处理方法、装置和计算机设备和存储介质
PCT/CN2022/089352 WO2023071101A1 (zh) 2021-10-25 2022-04-26 Io任务处理方法、装置和计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111246169.1A CN113687796B (zh) 2021-10-25 2021-10-25 Io任务处理方法、装置和计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113687796A CN113687796A (zh) 2021-11-23
CN113687796B true CN113687796B (zh) 2022-02-18

Family

ID=78587982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111246169.1A Active CN113687796B (zh) 2021-10-25 2021-10-25 Io任务处理方法、装置和计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN113687796B (zh)
WO (1) WO2023071101A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113687796B (zh) * 2021-10-25 2022-02-18 苏州浪潮智能科技有限公司 Io任务处理方法、装置和计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4988766B2 (ja) * 2006-12-22 2012-08-01 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ・ハブ装置、プログラム、および方法
US20180041415A1 (en) * 2016-08-03 2018-02-08 Qualcomm Incorporated Mitigation of transmission control protocol throughput degradation in communication devices due to predictable radio impairment events
CN106886368B (zh) * 2016-12-30 2019-08-16 北京同有飞骥科技股份有限公司 一种块设备写io整形和多控制器同步***及同步方法
CN108804035A (zh) * 2018-05-22 2018-11-13 深圳忆联信息***有限公司 降低io延时的方法、装置、计算机设备及存储介质
CN109471594B (zh) * 2018-10-09 2020-07-10 华中科技大学 一种mlc闪存读写方法
CN111694770B (zh) * 2019-03-15 2022-12-02 杭州宏杉科技股份有限公司 一种处理io请求的方法及装置
CN113031873B (zh) * 2021-03-26 2023-02-28 山东英信计算机技术有限公司 一种io请求处理方法、装置、设备及可读存储介质
CN113687796B (zh) * 2021-10-25 2022-02-18 苏州浪潮智能科技有限公司 Io任务处理方法、装置和计算机设备和存储介质

Also Published As

Publication number Publication date
CN113687796A (zh) 2021-11-23
WO2023071101A1 (zh) 2023-05-04

Similar Documents

Publication Publication Date Title
EP3506104B1 (en) Coverage test support device and coverage test support method
CN113687796B (zh) Io任务处理方法、装置和计算机设备和存储介质
CN108108261A (zh) 数据存储装置及其操作方法
US20070011416A1 (en) Data storage device and medium and related method of storing backup data
CN109840248B (zh) 一种作业流程优化方法、装置及存储介质
CN110993014B (zh) Ssd处于空闲状态下的行为测试方法、装置、计算机设备及存储介质
CN112579004A (zh) 快速删除flash数据的方法、***、计算机设备及存储介质
CN110865772A (zh) 保护***数据物理块擦除计数值的方法、装置、计算机设备及存储介质
CN115810383A (zh) 基于read retry的拉偏电压选择实现方法和装置
US20210319355A1 (en) Techniques for parallel model training
CN114496052A (zh) Ssd非操作电源状态允许模式功能的测试方法和装置
CN111159796B (zh) 建筑的梁的生成方法、装置、计算机设备和存储介质
CN114816322A (zh) Ssd的外部排序方法、装置和ssd存储器
CN117010465A (zh) 神经网络加速器的调度方法、装置、电子设备及存储介质
CN114138176A (zh) Nor Flash的擦除、升级方法及装置、计算机设备和存储介质
CN114047880B (zh) 多Pass编程的NAND写入功耗优化方法、装置及计算机设备
CN117806709B (zh) ***级芯片的性能优化方法、装置、设备和存储介质
CN114896335B (zh) 一种数据库的数据转储方法及***
CN108984131A (zh) 数据操作的处理方法以及相关装置
CN116303135B (zh) 任务数据的装载方法、装置和计算机设备
US20170344260A1 (en) Electronic device and operating method thereof
CN111966377A (zh) 基于图形界面设置硬盘固件参数的方法、装置、计算机设备及存储介质
CN114661301B (zh) 图形处理单元编译方法、装置、编译加速库和存储介质
US20230169025A1 (en) Direct memory access circuit, operation method thereof, and method of generating memory access command
KR20100059666A (ko) 비휘발성 메모리 장치

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