CN114924798A - 针对异步i/o技术的数据预取方法、系统、电子设备及介质 - Google Patents

针对异步i/o技术的数据预取方法、系统、电子设备及介质 Download PDF

Info

Publication number
CN114924798A
CN114924798A CN202210844861.2A CN202210844861A CN114924798A CN 114924798 A CN114924798 A CN 114924798A CN 202210844861 A CN202210844861 A CN 202210844861A CN 114924798 A CN114924798 A CN 114924798A
Authority
CN
China
Prior art keywords
target
prefetch request
request
prefetch
asynchronous
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.)
Granted
Application number
CN202210844861.2A
Other languages
English (en)
Other versions
CN114924798B (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.)
Beijing Carpura Technology Co ltd
Original Assignee
Beijing Carpura 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 Beijing Carpura Technology Co ltd filed Critical Beijing Carpura Technology Co ltd
Priority to CN202210844861.2A priority Critical patent/CN114924798B/zh
Publication of CN114924798A publication Critical patent/CN114924798A/zh
Application granted granted Critical
Publication of CN114924798B publication Critical patent/CN114924798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及异步I/O处理技术领域,提供了针对异步I/O技术的数据预取方法、系统、电子设备及介质。该方法包括:响应于检测到目标异步读取指令,判断目标异步读取指令是否能匹配到对应的目标预取请求,并在匹配成功的情况下,将替代异步读取请求与目标异步读取指令进行关联,以及终止发起基础异步读取请求;响应于检测到目标等待完成指令,判断目标等待完成指令是否能匹配到对应的目标预取请求序列,并在匹配目标预取请求序列成功的情况下,发起目标预取请求序列中未被发起的第一个预取请求,以及发起与第一个预取请求对应的替代异步读取请求。本公开实施例可以大大增加异步读取请求的执行效率和执行精准度,从而大大提高异步I/O系统的实用性。

Description

针对异步I/O技术的数据预取方法、系统、电子设备及介质
技术领域
本公开涉及异步I/O处理技术领域,尤其涉及针对异步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操作的完成就能继续执行其他计算,从而使应用程序的计算和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系统的实用性。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据本公开实施例提供的针对异步I/O技术的数据预取方法的一个应场景的示意图;
图2是根据本公开实施例提供的一种针对异步I/O技术的数据预取方法的一些实施例的流程图;
图3是根据本公开实施例提供的另一种针对异步I/O技术的数据预取方法的另一些实施例的流程图;
图4是根据本公开实施例提供的一种针对异步I/O技术的数据预取系统的简易结构示意图;
图5是根据本公开实施例提供的电子设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关本公开相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的系统、装置、模块或单元进行区分,并非用于限定这些系统、装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置或系统之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开的一些实施例的针对异步I/O技术的数据预取方法的一个应用场景的示意图。
在图1的应用场景中,首先,响应于检测到目标异步读取指令102,计算设备101可以判断目标异步读取指令102是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求103,并在匹配目标预取请求成功的情况下,将目标预取请求103对应的替代异步读取请求104与目标异步读取指令102进行关联,以及终止发起与目标异步读取指令102对应的基础异步读取请求105,其中,每一预取请求用于预先读取与其对应的目标数据;
响应于检测到针对目标异步读取指令102的目标等待完成指令106,判断目标等待完成指令106是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列107,并在匹配目标预取请求序列成功的情况下,发起目标预取请求序列107中未被发起的第一个预取请求108,以及发起与第一个预取请求对应的替代异步读取请求109。
需要说明的是,上述计算设备101可以是硬件,也可以是软件。当计算设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当计算设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的计算设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的计算设备。
继续参考图2,示出了根据本公开的针对异步I/O技术的数据预取方法的一些实施例的流程200。该方法可以由图1中的计算设备101来执行。该针对异步I/O技术的数据预取的方法,包括以下步骤:
步骤201,响应于检测到目标异步读取指令,判断目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配目标预取请求成功的情况下,将目标预取请求对应的替代异步读取请求与目标异步读取指令进行关联,以及终止发起与目标异步读取指令对应的基础异步读取请求,其中,每一预取请求用于预先读取与其对应的目标数据。
在一些实施例中,针对异步I/O技术的数据预取方法的执行主体(如图1所示的计算设备101)可以通过有线连接方式或无线连接方式连接目标设备,然后,响应于检测到目标异步读取指令,判断目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配目标预取请求成功的情况下,将目标预取请求对应的替代异步读取请求与目标异步读取指令进行关联,以及终止发起与目标异步读取指令对应的基础异步读取请求,其中,每一预取请求用于预先读取与其对应的目标数据。
异步I/O技术则是采用计算进程/线程以外的I/O专用进程/线程来完成数据I/O操作,使得应用程序无需等待I/O操作的完成就能继续执行其他计算,从而使应用程序的计算和I/O处理重叠进行。在异步I/O技术中,应用程序通常需要两大步骤来实现数据的I/O过程,其中第一步是发起异步I/O请求,第二步是确认异步I/O请求已完成,这一步可以由该异步I/O请求对应的等待指令完成。目标异步读取指令可以指发送至异步I/O系统的用于指示发起异步读取请求的指令。预取请求可以指预先发起的读取目标位置数据的读取请求。每一预取请求对应一个替代异步读取请求。替代异步读取请求可以指由预取请求发起,而非由目标异步读取指令发起的异步读取请求。基础异步读取请求可以指由预取请求发起的异步读取请求。若可以从当前已发起的至少一个预取请求中匹配到与目标异步读取指令对应的预取请求,则将该预取请求发起的替代异步读取请求与该目标异步读取指令进行关联,并且使得所述目标异步读取指令不再发起对应的异步读取请求。否则,基于该目标异步读取指令发起基础异步读取请求。
在一些实施例的一些可选的实现方式中,响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求之前,包括:接收外部程序输入的至少一个预取请求序列,其中,每一所述预取请求序列包括至少两个依序排列的预取请求;发起每一预取请求序列中的起始预取请求,并发起与每一所述起始预取请求对应的替代异步读取请求。
本公开可以提供用于输入预取请求序列的接口,以使外部应用程序可以基于该接口输入预取请求序列。预取请求序列可以指包括至少两个预取请求的序列。接收到预取请求序列后,首先发起每一个预取请求序列中排序第一的起始预取请求,并随之发起与该起始预取请求对应的替代异步读取请求。需要指出的是,每一个预取请求序列中预取请求排列的顺序,均可以由外部程序设定。
需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,响应于检测到针对所述目标异步读取指令的目标等待完成指令,判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,并在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求。
在一些实施例中,响应于检测到针对所述目标异步读取指令的目标等待完成指令,上述执行主体可以判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,并在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求。目标等待完成指令可以指发送至异步I/O系统的用于确认异步I/O读取指令已经完成的确认指令。目标预取请求序列可以指与所述目标等待完成指令对应的预取请求序列。当匹配成功时,发起目标预取请求序列中未被发起的第一个预取请求。由于每一预取请求序列均在接收时已经发起第一个预取请求,因此目标预取请求序列中有至少一个已经发起或已经结束的预取请求,此时可以发起余下未被发起的预取请求中的第一个预取请求,并发起与该第一个预取请求对应的替代异步读取请求。
在一些实施例的一些可选的实现方式中,目标异步读取指令、目标等待完成指令、预取请求、基础异步读取请求以及替代异步读取请求均包括文件标记、变量标记、起始地址、变量大小,且同一预取请求序列中每个预取请求的文件标记和变量标记均相同。文件标记可以指对应的文件的标识的相关信息。该文件可以指硬盘存储的文件,也可以指云端存储的文件等。变量标记可以指针对某一变量的标识信息。需要指出的是,针对同一变量可能存在多种变量标记,例如针对变量E执行三次读取动作对应的变量标记F1,以及针对变量E循环执行五次读取动作对应的变量标记F2,是不相同的。起始地址可以指在文件标记对应的文件中存储的相对地址或绝对地址。变量大小可以指变量标记对应的变量的大小。
目标异步读取指令、目标等待完成指令、预取请求、基础异步读取请求以及替代异步读取请求进行相互之间的匹配动作时,可以基于文件标记、变量标记、起始地址、变量大小中的至少一种进行匹配。
在一些实施例的一些优选的实现方式中,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,包括:判断所述目标异步读取指令携带的变量标记、文件标记、起始地址和变量大小,与所述当前已发起的至少一个预取请求中的任一预取请求的变量标记、文件标记、起始地址和变量大小是否相同;若存在与所述目标异步读取指令携带的变量标记、文件标记、起始地址和变量大小均相同的已发起的预取请求,表示匹配目标预取请求成功并将该预取请求确定为目标预取请求;否则,表示匹配目标预取请求失败。判断目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求时,需要严格匹配,将变量标记、文件标记、起始地址和变量大小均进行匹配,以确保替代异步读取请求与基础异步读取请求是完全对应的,否则会引起错误。
在一些实施例的另一些优选的实现方式中,所述判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,包括:判断所述目标等待完成指令携带的变量标记和文件标记,与所述至少一个预取请求序列中任一个预取请求序列的变量标记和文件标记是否相同;若存在与所述目标等待完成指令携带的变量标记和文件标记均相同的预取请求序列,表示匹配成功并将该预取请求序列确定为目标预取请求序列;否则,表示匹配目标预取请求序列失败。判断目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列时,仅需判断对应的文件标记和对应的变量标记相同即可。
在一些实施例的一些可选的实现方式中,若所述目标异步读取指令为并行处理的读取指令,所述目标异步读取指令、所述预取请求以及所述替代异步读取请求均包括用于并行处理的分布式存储信息。
下面通过具体的实施例来介绍本公开中的上述步骤:
序号 变量A的数据预取请求序列 变量B的数据预取请求序列
1 <“FA1”,100,10MB> <“FB1”,100,10MB>
2 <“FA1”,100+200MB,10MB> <“FB2”,10000,10MB>
3 <“FA1”,100+300MB,10MB> <“FB3”,9000,10MB>
4 <“FA2”,10000,10MB> <“FB3”,9000+50MB,10MB>
5 <“FA3”,11000,10MB> <“FB4”,20000,10MB>
6 <“FA3”,11000+50MB,10MB> <“FB5”,100000,10MB>
表1
表1中包括了数据预取请求序列举例,其中每个三元组表示<文件名,数据在文件中的起始位置,变量大小>。表1分别列举了变量A和变量B的数据预取请求序列,其中每个序列有6个请求。当应用程序启动变量A的数据预取请求序列时,会发起第第一个数据预取请求(起始预取请求)(<“FA1”, 100, 10MB>)的替代异步读取请;当应用程序发起该异步读取请求的等待指令时,本系统会发起第二个数据预取请求(<“FA1”, 100+200MB, 10MB>)对应的替代异步读取请求。假定应用程序随后发出了<“FA1”, 100+200MB, 10MB>所对应异步读取请求的发起指令,本系统会检测到对应预取请求,就不再向异步I/O系统重复发起基础该异步读取请求。
本公开的上述各个实施例中的其中一个实施例的有益效果至少包括:设置的预取请求以及预取请求序列,可以预先读取对应的异步I/O读取指令需要读取的数据,并将需要读取的数据关联至异步I/O读取指令,可以大大增加异步读取请求的执行效率和执行精准度,从而大大提高异步I/O系统的实用性。
继续参考图3,示出了根据本公开的针对异步I/O技术的数据预取方法的另一些实施例的流程300,该方法可以由图1中的计算设备101来执行。该针对异步I/O技术的数据预取方法包括:
步骤301,响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配所述目标预取请求成功的情况下,将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联,以及终止发起与所述目标异步读取指令对应的基础异步读取请求,其中,每一所述预取请求用于预先读取与其对应的目标数据。
步骤302,响应于检测到针对所述目标异步读取指令的目标等待完成指令,判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列。
步骤303,在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求。
步骤304,在匹配目标预取请求序列失败的情况下,确定是否能生成与所述目标等待完成指令对应的独立预取请求。
在一些实施例中,在匹配目标预取请求序列失败的情况下,上述执行主体可以基于以下步骤确定是否能生成与所述目标等待完成指令对应的独立预取请求:
第一步,上述执行主体可以获取至少一个历史异步读取请求记录中请求完成时间最晚的目标历史异步读取请求记录,其中,历史异步读取请求记录用于记录已发起的基础异步读取请求或替代异步读取请求,及相应的请求完成时间。
第二步,若所述目标历史异步读取请求记录与所述目标异步读取指令的文件标记和变量标记均相同,上述执行主体可以基于所述目标历史异步读取请求的起始地址P1和所述目标异步读取指令的起始地址P2,计算得到预测起始位置P3,其中,计算所述预测起始位置P3的计算式为:P3=P1+(P1-P2)。
第三步,若P3≥0且P3+S1≤S2,上述执行主体可以确定能够生成所述独立预取请求,其中S1表示目标异步读取指令的所述变量大小,S2表示目标异步读取指令的所述文件标记对应的文件大小。
独立预取请求可以指不由外部应用程序输入,由本公开自动生成的预取请求。在实际应用过程中,部分程序设置的较为复杂,难以生成对应的预取请求序列,此时可以由本公开自动生成独立预取请求,以增加异步读取请求的读取速度。通过设置独立预取请求,可以提高本公开的使用范围,从而大大提高本公开的实用性。
步骤305,若能生成所述独立预取请求,生成并发起所述独立预取请求,并发起与所述独立预取请求对应的替代异步读取请求。
在一些实施例中,若能生成所述独立预取请求,上述执行主体可以生成并发起所述独立预取请求,并发起与所述独立预取请求对应的替代异步读取请求。
步骤306,当发起预取请求时,生成发起的预取请求的备份预取请求并保存至预设的备份预取请求池中,所述备份预取请求池用于保存当前执行的至少一个预取请求的备份预取请求。
在一些实施例中,当发起预取请求时,上述执行主体可以生成发起的预取请求的备份预取请求并保存至预设的备份预取请求池中,所述备份预取请求池用于保存当前执行的至少一个预取请求的备份预取请求。备份预取请求可以指对当前发起的预取请求的备份信息。备份预取请求池可以指用于保存备份预取请求的空间。备份预取请求可以包括预取请求的所有信息,如对应的文件标记、变量标记、起始地址、变量大小等。设置预取请求池,可以加快目标异步读取指令从当前已发起的至少一个预取请求中匹配到对应的目标预取请求的速度,也可以减少因系统多路运行出错导致的故障,提高本公开的运行效率和实用性。
步骤307,在将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联时,删除所述目标预取请求在所述备份预取请求池中的备份预取请求,和/或,当任一所述独立预取请求对应的备份预取请求的存续时间大于预设的第一阈值时,删除所述独立预取请求对应的备份预取请求。
在一些实施例中,上述执行主体可以在将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联时,删除所述目标预取请求在所述备份预取请求池中的备份预取请求,和/或,当任一所述独立预取请求对应的备份预取请求的存续时间大于预设的第一阈值时,删除所述独立预取请求对应的备份预取请求。当发起的预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联时,表示该预取请求已被使用,此时需要将其从备份预取请求池中删除。删除已经与所述目标异步读取指令关联的备份预取请求,以及独立预取请求,可以减少因匹配出错导致的系统错误,提高本公开的精准度。
下面通过具体的实施例来介绍本公开中的上述步骤:
序号 变量C的异步读取请求序列 变量D的异步读取请求序列
1 <“FC1”,100,10MB,510MB> <“FD1”,100,10MB,20MB>
2 <“FC1”,100+200MB,10MB,510MB> <“FD2”,10000,10MB,20MB>
3 <“FC1”,100+300MB,10MB,510MB> <“FD3”,9000,10MB,100MB>
4 <“FC1”,100+400MB,10MB,510MB> <“FD3”,9000+50MB,10MB,100MB>
5 <“FC2”,11000,10MB,410MB> <“FD4”,20000,10MB,20MB>
6 <“FC2”,11000+100MB,10MB,410MB> <“FD5”,100000,10MB,20MB>
表2不使用数据预取请求序列时的预取举例,其中每个三元组表示<文件名,数据在文件中的起始位置,变量大小,文件大小>。表2分别列举了变量C和变量D的异步读取请求序列,其中每个序列有6个请求;此时变量C和D没有对应的数据预取请求序列。对于变量C,当应用程序执行第1个异步读取请求的等待指令时,本系统不会建立新数据预取请求;当应用程序执行第2个异步读取请求的等待指令时,本系统能建立对应于第3个异步读取请求的数据预取请求;当应用程序执行第4个异步读取请求的等待指令时,本系统不会建立新的数据预取请求,因为预测的数据结束位置(100+500MB+10MB)已经超过了数据文件的大小(510MB)。对于变量D,当应用程序执行到任何异步读取请求的等待指令时,本系统都不会建立新的数据预取请求。
在一些实施例中,步骤301-303的具体实现及所带来的技术效果可以参考图2对应的那些实施例中的步骤201-202,在此不再赘述。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本公开系统实施例,可以用于执行本公开方法实施例。对于本公开系统实施例中未披露的细节,请参照本公开方法实施例。
进一步参考图4,作为对上述各图上述方法的实现,本公开提供了针对异步I/O技术的数据预取系统的一些实施例,这些系统实施例与图2上述的那些方法实施例相对应。
如图4所示,一些实施例的针对异步I/O技术的数据预取系统400包括:
关联模块401,用于响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配所述目标预取请求成功的情况下,将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联,以及终止发起与所述目标异步读取指令对应的基础异步读取请求,其中,每一所述预取请求用于预先读取与其对应的目标数据;
请求发起模块402,用于响应于检测到针对所述目标异步读取指令的目标等待完成指令,判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,并在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求,其中,每一所述目标预取请求序列包括至少两个依序排列的预取请求。
在一些实施例的一些可选的实现方式中,所述响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求之前,包括:接收外部程序输入的至少一个预取请求序列,其中,每一所述预取请求序列包括至少两个依序排列的预取请求;发起每一预取请求序列中的起始预取请求,并发起与每一所述起始预取请求对应的替代异步读取请求。
在一些实施例的一些可选的实现方式中,所述目标异步读取指令、所述目标等待完成指令、所述预取请求、所述基础异步读取请求以及所述替代异步读取请求均包括文件标记、变量标记、起始地址、变量大小,且同一预取请求序列中每个预取请求的文件标记和变量标记均相同。
在一些实施例的一些可选的实现方式中,所述判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,包括:判断所述目标异步读取指令携带的变量标记、文件标记、起始地址和变量大小,与所述当前已发起的至少一个预取请求中的任一预取请求的变量标记、文件标记、起始地址和变量大小是否相同;若存在与所述目标异步读取指令携带的变量标记、文件标记、起始地址和变量大小均相同的已发起的预取请求,表示匹配目标预取请求成功并将该预取请求确定为目标预取请求;否则,表示匹配目标预取请求失败。
在一些实施例的一些可选的实现方式中,所述判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,包括:判断所述目标等待完成指令携带的变量标记和文件标记,与所述至少一个预取请求序列中任一个预取请求序列的变量标记和文件标记是否相同;若存在与所述目标等待完成指令携带的变量标记和文件标记均相同的预取请求序列,表示匹配成功并将该预取请求序列确定为目标预取请求序列;否则,表示匹配目标预取请求序列失败。
在一些实施例的一些可选的实现方式中,针对异步I/O技术的数据预取系统400还包括:
确定模块,用于在匹配目标预取请求序列失败的情况下,确定是否能生成与所述目标等待完成指令对应的独立预取请求。生成模块,用于若能生成所述独立预取请求,生成并发起所述独立预取请求,并发起与所述独立预取请求对应的替代异步读取请求。
在一些实施例的一些可选的实现方式中,所述确定是否能生成与所述目标异步读取指令对应的独立预取请求,包括:获取至少一个历史异步读取请求记录中请求完成时间最晚的目标历史异步读取请求记录,其中,历史异步读取请求记录用于记录已发起的基础异步读取请求或替代异步读取请求,及相应的请求完成时间;若所述目标历史异步读取请求记录与所述目标异步读取指令的文件标记和变量标记均相同,基于所述目标历史异步读取请求的起始地址P1和所述目标异步读取指令的起始地址P2,计算得到预测起始位置P3;若P3≥0且P3+S1≤S2,确定能够生成所述独立预取请求,其中S1表示目标异步读取指令的所述变量大小,S2表示目标异步读取指令的所述文件标记对应的文件大小。
在一些实施例的一些可选的实现方式中,计算所述预测起始位置P3的计算式为:
P3=P1+(P1-P2)。
在一些实施例的一些可选的实现方式中,针对异步I/O技术的数据预取系统400还包括:
第二生成模块,用于当发起预取请求时,生成发起的预取请求的备份预取请求并保存至预设的备份预取请求池中,所述备份预取请求池用于保存当前执行的至少一个预取请求的备份预取请求。
在一些实施例的一些可选的实现方式中,针对异步I/O技术的数据预取系统400还包括:
删除模块,用于在将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联时,删除所述目标预取请求在所述备份预取请求池中的备份预取请求,和/或,当任一所述独立预取请求对应的备份预取请求的存续时间大于预设的第一阈值时,删除所述独立预取请求对应的备份预取请求。
在一些实施例的一些可选的实现方式中,若所述目标异步读取指令为并行处理的读取指令,所述目标异步读取指令、所述预取请求以及所述替代异步读取请求均包括用于并行处理的分布式存储信息。
可以理解的是,该系统400中记载的诸模块与参考图2或图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于系统400及其中包含的模块,在此不再赘述。
如图5所示,电子设备500可以包括处理系统(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储系统508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理系统501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下系统可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入系统506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出系统507;包括例如磁带、硬盘等的存储系统508;以及通信系统509。通信系统509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种系统的电子设备500,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。图5中示出的每个方框可以代表一个系统,也可以根据需要代表多个系统。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信系统509从网络上被下载和安装,或者从存储系统508被安装,或者从ROM 502被安装。在该计算机程序被处理系统501执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述系统中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配所述目标预取请求成功的情况下,将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联,以及终止发起与所述目标异步读取指令对应的基础异步读取请求,其中,每一所述预取请求用于预先读取与其对应的目标数据;
响应于检测到针对所述目标异步读取指令的目标等待完成指令,判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,并在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:
关联模块和请求发起模块。例如,关联模块还可以被描述为“关联替代异步读取请求与目标异步读取指令的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种针对异步I/O技术的数据预取方法,其特征在于,包括:
响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配所述目标预取请求成功的情况下,将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联,以及终止发起与所述目标异步读取指令对应的基础异步读取请求,其中,每一所述预取请求用于预先读取与其对应的目标数据;
响应于检测到针对所述目标异步读取指令的目标等待完成指令,判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,并在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求。
2.根据权利要求1所述的方法,其特征在于,所述响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求之前,包括:
接收外部程序输入的至少一个预取请求序列,其中,每一所述预取请求序列包括至少两个依序排列的预取请求;
发起每一预取请求序列中的起始预取请求,并发起与每一所述起始预取请求对应的替代异步读取请求。
3.根据权利要求1所述的方法,其特征在于,所述目标异步读取指令、所述目标等待完成指令、所述预取请求、所述基础异步读取请求以及所述替代异步读取请求均包括文件标记、变量标记、起始地址、变量大小,且同一预取请求序列中每个预取请求的文件标记和变量标记均相同。
4.根据权利要求1所述的方法,其特征在于,所述判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,包括:
判断所述目标异步读取指令携带的变量标记、文件标记、起始地址和变量大小,与所述当前已发起的至少一个预取请求中的任一预取请求的变量标记、文件标记、起始地址和变量大小是否相同;
若存在与所述目标异步读取指令携带的变量标记、文件标记、起始地址和变量大小均相同的已发起的预取请求,表示匹配目标预取请求成功并将该预取请求确定为目标预取请求;
否则,表示匹配目标预取请求失败。
5.根据权利要求1所述的方法,其特征在于,所述判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,包括:
判断所述目标等待完成指令携带的变量标记和文件标记,与所述至少一个预取请求序列中任一个预取请求序列的变量标记和文件标记是否相同;
若存在与所述目标等待完成指令携带的变量标记和文件标记均相同的预取请求序列,表示匹配成功并将该预取请求序列确定为目标预取请求序列;
否则,表示匹配目标预取请求序列失败。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在匹配目标预取请求序列失败的情况下,确定是否能生成与所述目标等待完成指令对应的独立预取请求;
若能生成所述独立预取请求,生成并发起所述独立预取请求,并发起与所述独立预取请求对应的替代异步读取请求。
7.根据权利要求6所述的方法,其特征在于,所述确定是否能生成与所述目标异步读取指令对应的独立预取请求,包括:
获取至少一个历史异步读取请求记录中请求完成时间最晚的目标历史异步读取请求记录,其中,历史异步读取请求记录用于记录已发起的基础异步读取请求或替代异步读取请求,及相应的请求完成时间;
若所述目标历史异步读取请求记录与所述目标异步读取指令的文件标记和变量标记均相同,基于所述目标历史异步读取请求的起始地址P1和所述目标异步读取指令的起始地址P2,计算得到预测起始位置P3;
若P3≥0且P3+S1≤S2,确定能够生成所述独立预取请求,其中S1表示目标异步读取指令的所述变量大小,S2表示目标异步读取指令的所述文件标记对应的文件大小。
8.根据权利要求7所述的方法,其特征在于,计算所述预测起始位置P3的计算式为:
P3=P1+(P1-P2)。
9.根据权利要求6至8任一项所述的方法,其特征在于,所述方法还包括:
当发起预取请求时,生成发起的预取请求的备份预取请求并保存至预设的备份预取请求池中,所述备份预取请求池用于保存当前执行的至少一个预取请求的备份预取请求。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联时,删除所述目标预取请求在所述备份预取请求池中的备份预取请求,和/或,
当任一所述独立预取请求对应的备份预取请求的存续时间大于预设的第一阈值时,删除所述独立预取请求对应的备份预取请求。
11.根据权利要求1至8任一项所述的方法,其特征在于,若所述目标异步读取指令为并行处理的读取指令,所述目标异步读取指令、所述预取请求以及所述替代异步读取请求均包括用于并行处理的分布式存储信息。
12.一种针对异步I/O技术的数据预取系统,其特征在于,包括:
关联模块,用于响应于检测到目标异步读取指令,判断所述目标异步读取指令是否能从当前已发起的至少一个预取请求中匹配到对应的目标预取请求,并在匹配所述目标预取请求成功的情况下,将所述目标预取请求对应的替代异步读取请求与所述目标异步读取指令进行关联,以及终止发起与所述目标异步读取指令对应的基础异步读取请求,其中,每一所述预取请求用于预先读取与其对应的目标数据;
请求发起模块,用于响应于检测到针对所述目标异步读取指令的目标等待完成指令,判断所述目标等待完成指令是否能从当前保存的至少一个预取请求序列中匹配到对应的目标预取请求序列,并在匹配所述目标预取请求序列成功的情况下,发起所述目标预取请求序列中未被发起的第一个预取请求,以及发起与所述第一个预取请求对应的替代异步读取请求,其中,每一所述目标预取请求序列包括至少两个依序排列的预取请求。
13.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可以在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至11任一项所述方法的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述方法的步骤。
CN202210844861.2A 2022-07-19 2022-07-19 针对异步i/o技术的数据预取方法、系统、电子设备及介质 Active CN114924798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210844861.2A CN114924798B (zh) 2022-07-19 2022-07-19 针对异步i/o技术的数据预取方法、系统、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210844861.2A CN114924798B (zh) 2022-07-19 2022-07-19 针对异步i/o技术的数据预取方法、系统、电子设备及介质

Publications (2)

Publication Number Publication Date
CN114924798A true CN114924798A (zh) 2022-08-19
CN114924798B CN114924798B (zh) 2022-10-11

Family

ID=82815651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210844861.2A Active CN114924798B (zh) 2022-07-19 2022-07-19 针对异步i/o技术的数据预取方法、系统、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114924798B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314431B1 (en) * 1999-09-02 2001-11-06 Hewlett-Packard Company Method, system, and apparatus to improve instruction pre-fetching on computer systems
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
US20190384711A1 (en) * 2018-06-15 2019-12-19 EMC IP Holding Company LLC Method, device, and computer program product for prefetching in storage systems
US20210089457A1 (en) * 2019-09-20 2021-03-25 Samsung Electronics Co., Ltd. Prefetching operations in storage devices
CN114138687A (zh) * 2021-11-30 2022-03-04 新华三大数据技术有限公司 一种数据预取方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314431B1 (en) * 1999-09-02 2001-11-06 Hewlett-Packard Company Method, system, and apparatus to improve instruction pre-fetching on computer systems
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
US20190384711A1 (en) * 2018-06-15 2019-12-19 EMC IP Holding Company LLC Method, device, and computer program product for prefetching in storage systems
US20210089457A1 (en) * 2019-09-20 2021-03-25 Samsung Electronics Co., Ltd. Prefetching operations in storage devices
CN114138687A (zh) * 2021-11-30 2022-03-04 新华三大数据技术有限公司 一种数据预取方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘天义等: "提升处理器指针追逐访存性能的指令标签辅助的数据预取机制", 《高技术通讯》 *

Also Published As

Publication number Publication date
CN114924798B (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
WO2021008285A1 (zh) 分布式系统的数据同步方法、装置、介质、电子设备
US12019652B2 (en) Method and device for synchronizing node data
CN111309732B (zh) 数据处理方法、装置、介质和计算设备
CN109766362B (zh) 数据处理方法及装置
US11314451B2 (en) Method and apparatus for storing data
US11520588B2 (en) Prefetch filter table for storing moderately-confident entries evicted from a history table
CN114706820B (zh) 异步i/o请求的调度方法、系统、电子设备及介质
CN110673959A (zh) 用于处理任务的系统、方法和装置
CN109918381B (zh) 用于存储数据的方法和装置
CN110445874B (zh) 一种会话处理方法、装置、设备和存储介质
CN114924798B (zh) 针对异步i/o技术的数据预取方法、系统、电子设备及介质
CN113127438B (zh) 用于存储数据的方法、装置、服务器和介质
CN113760176A (zh) 数据存储方法和装置
US11366613B2 (en) Method and apparatus for writing data
CN116302271A (zh) 一种页面展示方法、装置及电子设备
CN112115149A (zh) 一种提供数据的方法和装置
CN113722389B (zh) 数据管理方法、装置、电子设备及计算机可读存储介质
CN115061743A (zh) 接口调用方法及装置、计算机可读介质和电子设备
CN114756173A (zh) 文件合并的方法、系统、设备和计算机可读介质
CN111209042B (zh) 一种建立函数栈的方法、装置、介质和电子设备
CN111459893B (zh) 文件处理方法、装置和电子设备
CN112799863B (zh) 用于输出信息的方法和装置
CN111767351B (zh) 确定搬运机器人停车点的方法和装置
CN113220237A (zh) 一种分布式存储方法、装置、设备及存储介质
CN111581930A (zh) 在线表格数据处理方法、装置、电子设备和可读介质

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