CN110727612B - 一种基于精确预取的计算缓存装置 - Google Patents

一种基于精确预取的计算缓存装置 Download PDF

Info

Publication number
CN110727612B
CN110727612B CN201910846690.5A CN201910846690A CN110727612B CN 110727612 B CN110727612 B CN 110727612B CN 201910846690 A CN201910846690 A CN 201910846690A CN 110727612 B CN110727612 B CN 110727612B
Authority
CN
China
Prior art keywords
message
record
rdma
request
entry information
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
CN201910846690.5A
Other languages
English (en)
Other versions
CN110727612A (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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201910846690.5A priority Critical patent/CN110727612B/zh
Publication of CN110727612A publication Critical patent/CN110727612A/zh
Application granted granted Critical
Publication of CN110727612B publication Critical patent/CN110727612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及通信技术领域,特别设计一种基于精确预取的计算缓存装置及消息引擎。包括:记录缓存存储器,用于存储RDMA消息的条目信息;消息记录预取模块,用于在网络接口接收到RDMA消息数据包的最初执行消息预取操作,以确保所述RDMA消息数据包所属RDMA消息的条目信息位于所述记录缓存存储器中;消息记录计算模块,用于在RMDA消息数据包被写入内存后从所述记录缓存存储器中提取所述RMDA消息数据包所属RDMA消息的条目信息进行消息记录计算。由所述消息记录计算模块独立完成RDMA消息传输信息的计算操作,消息记录预取模块确保在所述消息记录计算模块计算之前其所需的数据已存储在记录缓存存储器中,提高了RMDA消息记录的计算处理效率。

Description

一种基于精确预取的计算缓存装置
技术领域
本发明涉及通信技术领域,特别设计一种基于精确预取的计算缓存装置及消息引擎。
背景技术
在高性能计算***中,RDMA消息是常用的通信类型。RDMA消息最大的特点是把大批量数据直接写入到目标节点的主存中,无需双方操作***的介入,较少的使用计算机的处理功能,消除了外部存储器复制和文本交换操作,提高了***性能。当数据量大于网络报文的容量时,需要将通信数据拆分为多个网络报文进行传输,这时候需要有一种机制对目标节点接收到的数据量进行记录,从而能够准确获得消息传输结束的时机。
记录消息数据传输情况的方式有很多种,有在源节点记录发送数据量的,也有在目标节点记录接收数据量的。当有多个RDMA消息并行处理时,都存在片上存储空间容纳不了所有消息的记录的情况,这时需要将记录主体保存在主存中。数据保存在主存的缺点是访问时间增长,片上缓存是改善访存的常用办法,但由于消息记录信息中还需要其他一些计算、比较功能,通用的片上缓存不能提供该部分功能,采用通用处理器来完成该部分功能一则会打扰处理器的正常运行,二则消息量多时效率不高,影响消息处理性能。
发明内容
本发明旨在提供一种应用于RDMA消息引擎中的计算缓存装置,能够提高消息记录的处理效率和消息性能。
一种基于精确预取的计算缓存装置,其特征在于,包括:
记录缓存存储器,用于存储RDMA消息的条目信息;
消息记录预取模块,用于在网络接口接收到RDMA消息数据包的最初执行消息预取操作,以确保所述RDMA消息数据包所属RDMA消息的条目信息位于所述记录缓存存储器中;
消息记录计算模块,用于在RDMA消息数据包被写入内存后从所述记录缓存存储器中提取所述RDMA消息数据包所属RDMA消息的条目信息进行消息记录计算。
上述技术方案中,由所述消息记录计算模块独立完成RDMA消息传输信息的匹配和长度累加等计算操作。所述消息记录预取模块确保在所述消息记录计算模块计算之前将其所需的数据已存储在记录缓存存储器中。从而提高了RDMA消息记录的计算处理效率。
进一步地,所述消息记录预取模块还包括记录索引存储器和索引匹配模块;所述记录索引存储器,用于存储RDMA消息的条目索引信息;所述记录索引存储器中的条目索引信息与所述记录缓存存储器中的条目信息一一对应;所述索引匹配模块用于根据接收到的消息预取请求/消息记录请求在所述记录缓存存储器中索引请求指定的RDMA消息的条目索引信息。
进一步地,所述消息记录预取模块还包括脱靶访存器;所述脱靶访存器,用于在所述索引匹配模块根据接收到的消息预取请求索引失败时向主存发起访存请求从而将所述消息预取请求指定的RDMA消息的条目信息写入到所述记录缓存存储器中。
进一步地,所述条目索引信息包括条目信息预计访问次数、条目信息就位状态。
进一步地,所述条目信息预计访问次数的初始值为零;所述索引匹配模块每接收到一次消息预取请求,所述记录索引存储器中所述消息预取请求指定的RDMA消息的条目信息预计访问次数的值便被加1;所述索引匹配模块每根据接收到一次消息记录请求,所述记录索引存储器中所述消息记录请求指定的RDMA消息的条目信息预计访问次数的值便被减1。当接收到连续的相同RDMA消息的多个数据包时,该缓冲还具有合并处理机制,后续的数据包处理就不再冗余发出预取访存请求。
进一步地,所述脱靶访存器在将所述消息预取请求指定的RDMA消息的条目信息写入到所述记录缓存存储器中之前,如果所述消息记录预取模块判断所述记录缓存存储器的存储空间已满,则所述消息记录预取模块将所述记录缓存存储器中条目信息预计访问次数为0的一项或者多项RDMA消息的条目信息淘汰。
作为优选,所述消息记录预取模块在将所述记录缓存存储器中预计访问次数为0的一项或者多项RDMA消息的条目信息淘汰以后,将所淘汰的RDMA信息中的一项或者多项的条目信息写回到主存中。
进一步地,所述索引匹配模块根据接收到的消息预取请求索引失败时,所述消息记录预取模块在所述记录索引存储器中添加所述消息预取请求指定的RDMA消息的条目索引信息并将其条目信息就位状态设置为未就位;所述消息记录预取模块在所述消息预取请求指定的RDMA消息的条目信息从主存写入到所述记录缓存存储器中以后将所述记录索引存储器中所述RDMA消息的条目信息就位状态设置为已就位。
进一步地,所述消息记录计算模块包括计算部件;所述索引匹配模块用于根据接收到的消息记录请求在所述记录索引存储器中索引所述消息记录请求指定的RDMA消息的条目信息的索引信息,并在所述RDMA消息的条目信息就位状态为已就位后向所述计算部件发起计算请求;所述计算部件根据接收到的计算请求从所述记录缓存存储器提取所述RDMA消息数据包所属RDMA消息的条目信息进行消息记录计算。
进一步地,所述条目信息包括条目消息ID和已接收数据长度,所述消息记录请求包括请求消息ID、数据包长度、消息数据长度;所述计算部件包括匹配单元、累加单元、比较单元,所述匹配单元用于匹配所述条目消息ID和所述请求消息ID的匹配单元,所述累加单元用于将所述数据包长度累加至所述已接收数据长度,所述比较单元用于比较所述消息数据长度和所述累加单元的累加结果。
本发明具有下述有益效果:
所述消息预取模块的预取操作与RDMAW消息数据包处理过程紧密结合起来,为消息记录实现了一种精确预取的缓存机制。该机制能够在接收RDMA消息数据包之初触发索引匹配检查,在数据包接收处理过程中实现条目信息的预取操作,预取回来的条目信息一定会在数据包处理结束后被访问,访问时还将完成条目信息的相关计算。当接收到连续的相同RDMA消息的多个数据包时,该缓冲还具有合并处理机制,后续的数据包处理就不再冗余发出预取访存请求。降低了RDMA消息数据包的处理延迟,提高消息引擎的RDMA消息吞吐性能。
附图说明
图 1是本发明实施例的RDMAW消息处理流程。
图 2是本发明实施例的消息引擎处理RDMAW消息数据包的流程示意图。
图3是本发明实施例的计算缓存装置结构框图。
具体实施方式
这里使用的术语仅用于描述特定实施例的目的,而不意图限制本发明。 除非另外定义,否则本文使用的所有术语具有与本发明所属领域的普通技术人员通常理解的相同的含义。 将进一步理解的是,常用术语应该被解释为具有与其在相关领域和本公开内容中的含义一致的含义。本公开将被认为是本发明的示例,并且不旨在将本发明限制到特定实施例。
实施例一
一种基于精确预取的计算缓存装置,应用在实现了RDMA传输机制的消息引擎(简称为“RDMA消息引擎”)中。RDMA消息分为RDMAR消息和RDMAW消息,其中,RDMAR消息是从目标节点的主存内读取批量数据的操作,RDMAW消息是将批量数据发送写入目标节点主存内的操作。本实施例的计算缓存装置用于在接收数据的时候处理RDMA消息的匹配和数据长度累积等计算操作。即在RDMAR消息源节点或者RDMAW消息目标节点的消息引擎中对消息传输情况进行记录,能够在保持消息操作语义原子性的基础上,减少数据接收方获知消息完成的延迟,同时对数据发送方的完成操作没有负面影响。
下文以RDMAW消息处理过程为例进行描述,RDMAR消息的处理过程与其类似,不再赘述:
图1所示为RDMAW消息的处理过程。软件或者应用程序提交RDMAW消息传输请求至RDMA消息引擎,由RDMA消息引擎解析接收到的RDMAW消息传输请求,并将该RDMAW消息传输请求需要传输的数据拆分到若干个RDMAW消息数据包(即图1中所示的DataPkg)中进行发送传输。每个DataPkg包括包头部分和数据部分,包头部分携带有RDMAW消息的部分信息,用于在目标节点对RDMAW消息的传输情况进行记录;数据部分携带有拆分的数据。DataPkg到达目标节点后,先将数据部分携带的数据按照包头部分携带的信息写入到主存中,然后更新该RDMAW消息的记录信息,最后产生该RDMAW消息数据包的应答包Msg_Ack发送回源节点,一个DataPkg传输结束。当RDMAW消息的所有DataPkg都发送结束,并且被目标节点正确接收,产生的Msg_Ack完整返回至源节点,则表示该RDMAW消息传输完成。
从上面的RDMAW消息处理流程可以看到,消息引擎在处理RDMA消息时会将RDMAW消息拆分为DataPkg,以DataPkg为单位进行数据传输。当目标节点同时接收多个RDMAW消息时,需要同时接收处理不同RDMA消息的DataPkg。每个DataPkg的数据正确写入主存后,会对本次传输进行记录,每个RDMA消息的记录是独立且唯一的。为区分不同RDMA消息,DataPkg的包头部分中携带有消息ID,用于区分不同的RDMA消息。
如图2所示,为本实施例中消息引擎处理RDMAW消息数据包的流程示意图。本实施例的计算缓存装置设置在RDMA消息引擎中。RDMA消息引擎接收处理DataPkg时,在网络接口接收到RDMA消息数据包的最初(也即RDMA消息引擎接收DataPkg第一个数据微片时),便触发对计算缓存装置的消息预取请求,计算缓存装置会根据接收到的消息预取请求执行预取操作提前将该请求的数据准备好,即确保触发该消息预取请求的DataPkg所述的RDMA消息的条目信息位于计算缓存装置的记录缓存存储器中。当RDMA消息引擎将DataPkg数据传输写入主存后,触发对计算缓存装置的消息记录请求,消息记录请求携带触发其的DataPkg的数据量等信息,计算缓存装置根据消息记录请求携带的信息访问记录缓存存储器,完成对应该DataPkg的消息记录运算后,生成消息记录访问响应;RDMA消息引擎根据计算缓存装置生成的消息记录访问响应,对接收到的DataPkg进行应答。
图3所示为本发明实施例的精确预取的计算缓存装置结构框图,计算缓存装置包括:
记录缓存存储器,用于存储RDMA消息的条目信息。条目信息作为RDMA消息的记录,用于记录RDMA消息的传输情况,其至少包括条目消息ID、已接收数据长度这两个参数。条目消息ID是指对应RDMA消息的消息ID,用于区别不同的RDMA消息。已接收数据长度是指对应RDMA消息所要传输的数据中,已经在目标节点落地(“在目标节点落地”即是指被已目标节点接收,已存入目标节点的内存中)的数据的长度。一般情况下,RDMA消息的条目消息可以直接存储在RDMA消息引擎的片上存储空间中,但是当有多个RDMA消息并行处理时,容易存在RDMA消息引擎的片上存储空间容纳不了所有RDMA消息的条目信息的情况,需要将条目信息主体保存到主存中。然而数据保存在主存的缺点是访问时间增长。因此,本实施例中通过设置记录缓存存储器作为位于RDMA消息引擎的片上缓存来改善访存。本实施例中RDMA消息的条目信息主体存储在主存中,记录缓存存储器缓存RDMA消息的条目信息,当需要使用条目信息时,首先在记录缓存存储器中查找,如果记录缓存存储器中找不到再到主存中查找,从而节省条目信息的访问时间。
消息记录预取模块,用于在网络接口接收到RDMA消息数据包的最初执行消息预取操作,以确保RDMA消息数据包所属RDMA消息的条目信息位于记录缓存存储器中。正如上文所述,如果在记录缓存存储器中查找不到需要使用条目信息时需要去主存中查找时,该条目信息的访问时间将会增长。因此,本实施例设计了消息记录预取模块,用于保证在条目信息在被访问之前即存储在记录缓存存储器中,避免了再去主存中查找条目信息。
消息记录计算模块,用于在RDMA消息数据包被写入内存后从记录缓存存储器中提取RDMA消息数据包所属RDMA消息的条目信息进行消息记录计算。消息记录计算模块位于RDMA消息引擎中,独立于主存对RDMA消息进行RDMA消息阐述信息的匹配和长度累加等计算操作以对接收到的DataPkg进行消息记录,同时不会打扰主存处理器的正常运行,也不会影响消息处理性能。
在RDMA消息引擎接收处理RDMAW消息的过程中,每个DataPkg都需要对该计算缓存装置进行访问。为提高访问效率将访问过程分为预取访问和计算访问两部分进行。在RDMA消息引擎接收到DataPkg并识别为RDMAW消息时,即可触发消息预取请求对计算缓存装置进行预取访问,发出该请求的目的是提前通知计算缓存装置将要发起计算访问的条目信息。计算缓存装置接收到消息预取请求后先判断访问目标(即将要发起计算访问的条目信息)是否位于记录缓存存储器中,如果不在记录缓存存储器中,则需要启动访存将该条目信息读取到记录缓存存储器中;如果在记录缓存存储器中,则将该条目索引信息的条目信息预计访问次数的值加1。在RDMA消息引擎接收处理完DataKpg后(DataKpg落地后),即可触发消息记录请求对计算缓存装置发起计算访问。消息记录请求包括请求消息ID、数据包长度、消息数据长度,请求消息ID是指触发该消息记录请求的DataKpg所属RDMA消息的消息ID号,数据包长度是指触发该消息记录请求的DataKpg的数据部分的数据长度,消息数据长度是指触发该消息记录请求的DataKpg所属RDMA消息缩小传输的数据长度。计算缓存装置接收到消息记录请求后首先判断访问目标(即该消息记录请求要求访问的条目信息)是否位于记录缓存存储器中,如果不在记录缓存存储器中,则说明预取操作尚未完成,此时只需要等待有来自主存的预取响应时再次进行判断;如果访问目标已在记录缓存存储器中,则将条目索引信息的条目信息预计访问次数的值减1,并向消息记录计算模块发起计算请求,以基于记录缓存存储器中的条目信息进行消息记录计算,并生成消息记录访问响应。
具体地,消息记录预取模块包括记录索引存储器、索引匹配模块、脱靶访存模块:
记录索引存储器用于统计记录缓存存储器中的缓存的条目信息概况。记录索引存储器中的条目索引信息还与记录缓存存储器中的条目信息一一对应。本实施例的记录索引存储器中存储有RDMA消息的条目索引信息。条目索引信息包括条目信息预计访问次数、条目信息就位状态。条目信息预计访问次数用于统计对应的条目信息预计被访问的次数。条目信息预计访问次数为0时,表示对应的条目信息当前没有被访问的需求,可以从记录缓存存储器中淘汰或者被回写到主存中。条目信息预计访问次数不为0时,表示对应的条目信息当前有被请求访问的需求,最好不要从记录缓存存储器中淘汰。本实施例中,记录缓存存储器中条目索引信息与记录索引存储器中条目信息可以通过它们共同所对应的RDMA消息所请求的内存地址来一一对应,可以通过它们所对应的共同的RDMA消息的消息ID来一一对应。当通过RDMA消息所请求的内存地址一一对应时,条目索引信息和条目信息均还包括它们对应的RDMA消息所请求的内存地址。当通过RDMA消息的消息ID一一对应时,条目索引信息和条目信息均还包括它们对应的RDMA消息所请求的内存地址。
索引匹配模块用于在记录缓存存储器中进行索引匹配,以查找目标条目索引信息。计算缓存装置接收到消息预取请求后,通过索引匹配模块根据其接收到的消息预取请求在记录缓存存储器中索引请求指定的RDMA消息的条目索引信息,索引成功则计算缓存装置判断访问目标已位于记录缓存存储器中,索引失败则计算缓存装置判断访问目标不在记录缓存存储器中。计算缓存装置接收到消息记录请求后,通过索引匹配判断模块根据接收到的消息记录请求在记录缓存存储器中索引请求指定的RDMA消息的条目索引信息,索引成功则计算缓存装置判断访问目标位于记录缓存存储器中,索引失败则计算缓存装置判断访问目标不在记录缓存存储器中。作为本实施例的优选,索引匹配模块根据接收到的消息预取请求索引失败时,消息记录预取模块首先在记录索引存储器中添加该消息预取请求指定的RDMA消息的条目索引信息并将其条目信息就位状态设置为未就位,同时向主存发起针对该消息预取请求指定的RDMA消息的条目信息的访存请求。当消息预取请求指定的RDMA消息的条目信息从主存写入到记录缓存存储器中以后将记录索引存储器中该RDMA消息的条目信息就位状态设置为已就位。这样通过RDMA消息的条目信息就位状态可以获知该RDMA消息的条目信息是否已在记录缓存存储器中就位。
脱靶访存器,用于在索引匹配模块根据接收到的消息预取请求索引失败时向主存发起访存请求从而将消息预取请求指定的RDMA消息的条目信息写入到记录缓存存储器中。记录缓存存储器的存储空间是有限的,脱靶访存器在将消息预取请求指定的RDMA消息的条目信息写入到所述记录缓存存储器中之前,如果所述消息记录预取模块判断所述记录缓存存储器的存储空间已满,则消息记录预取模块将记录缓存存储器中条目信息预计访问次数为0的一项或者多项RDMA消息的条目信息淘汰,以为将要写入的条目信息腾出存储空间。“淘汰”即指将条目信息从记录缓存存储器中删除,由于记录索引存储器中的条目索引信息与记录缓存存储器中的条目信息一一对应,当条目信息从记录缓存存储器中删除时,其对应存储在记录索引存储器中的条目索引信息也被删除。对于后续还将要使用的RDMA消息的条目信息,消息记录预取模块将其从记录缓存存储器淘汰同时,还将其条目信息写回到主存中以备使用。
消息记录计算模块包括计算部件,用于根据接收到的计算请求从记录缓存存储器提取访问目标(即RDMA消息数据包所属RDMA消息的条目信息)进行消息记录计算。本实施例的计算部件进一步包括匹配单元、累加单元、比较单元。匹配单元用于匹配所述条目消息ID和所述请求消息ID的匹配单元,所述累加单元用于将数据包长度累加至所述已接收数据长度,所述比较单元用于比较所述消息数据长度和所述累加单元的累加结果。计算部件根据接收到的计算请求,首先利用匹配单元匹配所述条目消息ID和所述请求消息ID的匹配单元,匹配成功则进一步利用累加单元将数据包长度累加至已接收数据长度,最后利用比较单元比较消息数据长度和累加单元的累加结果:如果相等则表示RDMA消息接收完毕,需要产生完成响应Msg_Ack;如果已接收长度小于消息长度,则表示消息未传完;如果已接收长度大于消息长度,则表示出错,需要为该DataKpg生错误响应。
虽然描述了本发明的实施方式,但是本领域普通技术人员可以在所附权利要求的范围内做出各种变形或修改。

Claims (10)

1.一种基于精确预取的计算缓存装置,其特征在于,包括:
记录缓存存储器,用于存储RDMA消息的条目信息;
消息记录预取模块,用于在网络接口接收到RDMA消息数据包的最初执行消息预取操作,以确保所述RDMA消息数据包所属RDMA消息的条目信息位于所述记录缓存存储器中;
消息记录计算模块,用于在RDMA消息数据包被写入内存后从所述记录缓存存储器中提取所述RDMA消息数据包所属RDMA消息的条目信息进行消息记录计算。
2.根据权利要求1所述的一种基于精确预取的计算缓存装置,其特征在于:
所述消息记录预取模块还包括记录索引存储器和索引匹配模块;
所述记录索引存储器,用于存储RDMA消息的条目索引信息;
所述记录索引存储器中的条目索引信息与所述记录缓存存储器中的条目信息一一对应;
所述索引匹配模块用于根据接收到的消息预取请求/消息记录请求在所述记录缓存存储器中索引请求指定的RDMA消息的条目索引信息。
3.根据权利要求2所述的一种基于精确预取的计算缓存装置,其特征在于:
所述消息记录预取模块还包括脱靶访存器;
所述脱靶访存器,用于在所述索引匹配模块根据接收到的消息预取请求索引失败时向主存发起访存请求从而将所述消息预取请求指定的RDMA消息的条目信息写入到所述记录缓存存储器中。
4.根据权利要求3所述的一种基于精确预取的计算缓存装置,其特征在于:
所述条目索引信息包括条目信息预计访问次数、条目信息就位状态。
5.根据权利要求4所述的一种基于精确预取的计算缓存装置,其特征在于:
所述条目信息预计访问次数的初始值为零;
所述索引匹配模块每接收到一次消息预取请求,所述记录索引存储器中所述消息预取请求指定的RDMA消息的条目信息预计访问次数的值便被加1;
所述索引匹配模块每接收到一次消息记录请求,所述记录索引存储器中所述消息记录请求指定的RDMA消息的条目信息预计访问次数的值便被减1。
6.根据权利要求5所述的一种基于精确预取的计算缓存装置,其特征在于:
所述脱靶访存器在将所述消息预取请求指定的RDMA消息的条目信息写入到所述记录缓存存储器中之前,如果所述消息记录预取模块判断所述记录缓存存储器的存储空间已满,则所述消息记录预取模块将所述记录缓存存储器中条目信息预计访问次数为0的一项或者多项RDMA消息的条目信息淘汰。
7.根据权利要求6所述的一种基于精确预取的计算缓存装置,其特征在于:
所述消息记录预取模块在将所述记录缓存存储器中条目信息预计访问次数为0的一项或者多项RDMA消息的条目信息淘汰以后,将所淘汰的RDMA消息的条目信息中的一项或者多项的条目信息写回到主存中。
8.根据权利要求5所述的一种基于精确预取的计算缓存装置,其特征在于:
所述索引匹配模块根据接收到的消息预取请求索引失败时,所述消息记录预取模块在所述记录索引存储器中添加所述消息预取请求指定的RDMA消息的条目索引信息并将其条目信息就位状态设置为未就位;
所述消息记录预取模块在所述消息预取请求指定的RDMA消息的条目信息从主存写入到所述记录缓存存储器中以后将所述记录索引存储器中所述RDMA消息的条目信息就位状态设置为已就位。
9.根据权利要求2所述的一种基于精确预取的计算缓存装置,其特征在于:
所述消息记录计算模块包括计算部件;
所述索引匹配模块用于根据接收到的消息记录请求在所述记录索引存储器中索引所述消息记录请求指定的RDMA消息的条目信息的索引信息,并在所述RDMA消息的条目信息就位状态为已就位后向所述计算部件发起计算请求;
所述计算部件根据接收到的计算请求从所述记录缓存存储器提取所述RDMA消息数据包所属RDMA消息的条目信息进行消息记录计算。
10.根据权利要求9所述的一种基于精确预取的计算缓存装置,其特征在于:
所述条目信息包括条目消息ID和已接收数据长度,所述消息记录请求包括请求消息ID、数据包长度、消息数据长度;
所述计算部件包括匹配单元、累加单元、比较单元,所述匹配单元用于匹配所述条目消息ID和所述请求消息ID,所述累加单元用于将所述数据包长度累加至所述已接收数据长度,所述比较单元用于比较所述消息数据长度和所述累加单元的累加结果。
CN201910846690.5A 2019-09-09 2019-09-09 一种基于精确预取的计算缓存装置 Active CN110727612B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910846690.5A CN110727612B (zh) 2019-09-09 2019-09-09 一种基于精确预取的计算缓存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910846690.5A CN110727612B (zh) 2019-09-09 2019-09-09 一种基于精确预取的计算缓存装置

Publications (2)

Publication Number Publication Date
CN110727612A CN110727612A (zh) 2020-01-24
CN110727612B true CN110727612B (zh) 2021-01-15

Family

ID=69217988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910846690.5A Active CN110727612B (zh) 2019-09-09 2019-09-09 一种基于精确预取的计算缓存装置

Country Status (1)

Country Link
CN (1) CN110727612B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017469A (zh) * 2007-03-07 2007-08-15 威盛电子股份有限公司 直接存储器访问控制装置及控制其传输的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155572B2 (en) * 2003-01-27 2006-12-26 Advanced Micro Devices, Inc. Method and apparatus for injecting write data into a cache
US7573895B2 (en) * 2004-06-24 2009-08-11 Intel Corporation Software assisted RDMA
US8898324B2 (en) * 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
JP2018045438A (ja) * 2016-09-14 2018-03-22 富士通株式会社 並列処理装置、送信プログラム、受信プログラム及びデータ転送方法
CN110069431B (zh) * 2018-01-24 2020-11-24 上海交通大学 基于RDMA和HTM的弹性Key-Value键值对数据存储方法
CN109194721A (zh) * 2018-08-15 2019-01-11 无锡江南计算技术研究所 一种异步的rdma通信内存动态管理方法及***
CN110109889A (zh) * 2019-05-09 2019-08-09 重庆大学 一种分布式内存文件管理***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017469A (zh) * 2007-03-07 2007-08-15 威盛电子股份有限公司 直接存储器访问控制装置及控制其传输的方法

Also Published As

Publication number Publication date
CN110727612A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN108459826B (zh) 一种处理io请求的方法及装置
US7702857B2 (en) Adjusting parameters used to prefetch data from storage into cache
CN109977129A (zh) 多级数据缓存方法及设备
US20120173840A1 (en) Sas expander connection routing techniques
CN105677580A (zh) 访问缓存的方法和装置
US20150143045A1 (en) Cache control apparatus and method
CN108073527B (zh) 一种缓存替换的方法和设备
US11188256B2 (en) Enhanced read-ahead capability for storage devices
CN111737564B (zh) 一种信息查询方法、装置、设备及介质
US9465743B2 (en) Method for accessing cache and pseudo cache agent
US9971520B2 (en) Processing read and write requests
US8539135B2 (en) Route lookup method for reducing overall connection latencies in SAS expanders
US20110258424A1 (en) Distributive Cache Accessing Device and Method for Accelerating to Boot Remote Diskless Computers
CN110727612B (zh) 一种基于精确预取的计算缓存装置
CN110941565B (zh) 用于芯片存储访问的内存管理方法和装置
JPH07239808A (ja) 分散データ管理方式
US8850159B2 (en) Method and system for latency optimized ATS usage
CN116610262A (zh) 降低ssd顺序读延时的方法、装置、设备及介质
CN115934583A (zh) 分级缓存方法、装置及***
CN115982162A (zh) 一种报文转发表查询方法及电子设备
CN111694806B (zh) 一种事务日志的缓存方法、装置、设备和存储介质
US11449428B2 (en) Enhanced read-ahead capability for storage devices
CN112214178B (zh) 一种存储***、数据读取方法及数据写入方法
KR20220033976A (ko) 저장 디바이스들에 대한 강화된 선판독 능력
CN115794366A (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