CN111538603B - 机器学习和rdma加速的键值存储读访问方法及*** - Google Patents

机器学习和rdma加速的键值存储读访问方法及*** Download PDF

Info

Publication number
CN111538603B
CN111538603B CN202010311855.1A CN202010311855A CN111538603B CN 111538603 B CN111538603 B CN 111538603B CN 202010311855 A CN202010311855 A CN 202010311855A CN 111538603 B CN111538603 B CN 111538603B
Authority
CN
China
Prior art keywords
key
server
module
client
value
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
CN202010311855.1A
Other languages
English (en)
Other versions
CN111538603A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010311855.1A priority Critical patent/CN111538603B/zh
Publication of CN111538603A publication Critical patent/CN111538603A/zh
Application granted granted Critical
Publication of CN111538603B publication Critical patent/CN111538603B/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种机器学习和RDMA加速的键值存储读访问方法及***,包括:步骤S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;步骤S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA单向操作来读回请求的键所对应的值。本发明采用RDMA单向(one‑sided)操作来绕过服务器端CPU处理键值请求,有效的减少服务器端处理器的利用。

Description

机器学习和RDMA加速的键值存储读访问方法及***
技术领域
本发明涉及网络技术领域,具体地,涉及机器学习和RDMA加速的键值存储读访问方法及***。尤其地,涉及使用机器学习和RDMA来实现高吞吐,低延迟,低CPU利用率的基于网络的内存键值存储读访问的方法和***。
背景技术
基于网络的内存键值存储访问对现代网络应用非常重要,比如加速传统数据库的访问性能。由于针对键值存储的访问都在这些应用的关键路径上,因此对键值存储访问的性能十分重要。同时,这些键值存储***需要有低的处理器利用率;以降低***的能耗并减少其他应用对键值存储***的性能影响。
随着Remote Direct Memory Access(RDMA),一种新兴的网络技术在数据中心的普及,人们开始利用RDMA来实现低CPU利用率的键值存储***。特别的,RDMA提供了新的原语(one-sided),使得客户端可以利用单向(one-sided)操作绕过服务器端的CPU来读写服务器端的内存。这样,利用单向(one-sided)原语来实现键值存储访问,客户端便能够完全绕过服务器端的处理器,达到低CPU利用率。
然而,尽管RDMA具有高吞吐和低延迟的特性,利用RDMA的键值存储通常没有完全利用RDMA的高性能。这是由于RDMA单向(one-sided)操作只提供了有限的语义,使得基于RDMA单向(one-sided)的键值存储操作需要多个RDMA操作来完成。这是由于传统的键值存储的索引(Index)比如B+Tree的操作无法使用一次RDMA操作完成。这样,即使单个RDMA操作具有非常高的性能,使用多个RDMA请求来完成一个键值请求也有非常大的开销。
本发明基于一个观察:基于机器学习(machine learning)的模型可以根据键值对(key-value pair)的键(key)来预测值所存贮的位置。这样,我们可以利用机器学习模型来简化键值存储的的索引操作;这样使得我们可以用更少的RDMA操作来索引存储。
虽然有使用机器学习模型来加速单机的键值存储,如何高效的利用RDMA one-sided操作来加速基于网络的键值存储依旧是一个需要解决的问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种机器学习和RDMA加速的键值存储读访问方法及***。
根据本发明提供的一种机器学习和RDMA加速的键值存储读访问方法,包括:
步骤S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;
步骤S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA单向操作来读回请求的键所对应的值。
优选地,所述步骤S2包括:
步骤S201:客户端判断是否已接收到服务器端的的机器学习模型:如果没有接收到,则执行步骤S206;否则,则执行步骤S202;
步骤S202:令客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,执行步骤S203;
步骤S203:令客户端根据步骤S202预测的范围,使用一次RDMA单向读操作将对应范围的键以及其所对应的值的地址取回,执行步骤S204;
步骤S204:令客户端在取回的键中搜索用户请求所需要的键:如果找到需要的键,则执行步骤S205;否则执行步骤S207;
步骤S205:令客户端使用一次RDMA单向读操作将找到的键的值地址对应的值取回,并将这个值返回给用户;
步骤S206:令客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型;随后执行步骤S207;
步骤S207:令客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户。
优选地,所述的步骤S201中服务器端的机器学习模型为神经网络模型或线性回归模型。
优选地,所述步骤S202中通过将用户的键传入机器学习模型,将机器学习模型的输出作为预测结果。
优选地,所述步骤S202中服务器端使用有序数组来存储所有键值数据。
优选地,所述步骤S202中键和键对应的值的地址存储在有序数组中。
优选地,所述的步骤S202中的位置的范围指的是服务器端有序数组的下标范围。
优选地,所述步骤S204中所取回的键指的是服务器的有序数组在所述步骤S202中的下标范围中所对应的键。
优选地,所述的步骤S206中客户端使用远程过程调用向服务器发送请求。
优选地,所述的步骤S207中客户端使用远程过程调用向服务器发送请求。
根据本发明提供的一种利用机器学习和RDMA加速的键值存储读访问***,包括:
模块S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;
模块S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA单向操作来读回请求的键所对应的值;
所述模块S2包括:
模块S201:客户端判断是否已接收到服务器端的的机器学习模型:如果没有接收到,则执行模块S206;否则,则执行模块S202;
模块S202:令客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,调用模块S203;
模块S203:令客户端根据模块S202预测的范围,使用一次RDMA单向读操作将对应范围的键以及其所对应的值的地址取回,调用模块S204;
模块S204:令客户端在取回的键中搜索用户请求所需要的键:如果找到需要的键,则调用模块S205;否则调用模块S207;
模块S205:令客户端使用一次RDMA单向读操作将找到的键的值地址对应的值取回,并将这个值返回给用户;
模块S206:令客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型,随后调用模块S207;
模块S207:令客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户;
所述的模块S201中服务器端的机器学习模型为神经网络模型或线性回归模型;
所述模块S202中通过将用户的键传入机器学习模型,将机器学习模型的输出作为预测结果;
所述模块S202中服务器端使用有序数组来存储所有键值数据;
所述模块S202中键和键对应的值的地址存储在有序数组中;
所述的模块S202中的位置的范围指的是服务器端有序数组的下标范围;
所述模块S204中所取回的键指的是服务器的有序数组在所述模块S202中的下标范围中所对应的键;
所述的模块S206中客户端使用远程过程调用向服务器发送请求;
所述的模块S207中客户端使用远程过程调用向服务器发送请求。
与现有技术相比,本发明具有如下的有益效果:
1.本发明采用RDMA单向(one-sided)操作来绕过服务器端CPU处理键值请求,有效的减少服务器端处理器的利用。
2.本发明客户端只使用两次RDMA操作来执行一个键值请求,具有很好的性能。
3.本发明使用的机器学习模型在客户端占用的内存很少,因此***具有良好的扩展性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明提供的客户端使用机器学习模型和RDMA操作来执行一个键值操作的示例性步骤的流程图。
图2是本发明提供的***的硬件装置架构图。
图3是本发明提供的***的软件装置架构图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种机器学习和RDMA加速的键值存储读访问方法,包括:
步骤S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;
步骤S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA单向操作来读回请求的键所对应的值。
具体地,所述步骤S2包括:
步骤S201:客户端判断是否已接收到服务器端的的机器学习模型:如果没有接收到,则执行步骤S206;否则,则执行步骤S202;
步骤S202:令客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,执行步骤S203;
步骤S203:令客户端根据步骤S202预测的范围,使用一次RDMA单向读操作将对应范围的键以及其所对应的值的地址取回,执行步骤S204;
步骤S204:令客户端在取回的键中搜索用户请求所需要的键:如果找到需要的键,则执行步骤S205;否则执行步骤S207;
步骤S205:令客户端使用一次RDMA单向读操作将找到的键的值地址对应的值取回,并将这个值返回给用户;
步骤S206:令客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型;随后执行步骤S207;
步骤S207:令客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户。
具体地,所述的步骤S201中服务器端的机器学习模型为神经网络模型或线性回归模型。
具体地,所述步骤S202中通过将用户的键传入机器学习模型,将机器学习模型的输出作为预测结果。
具体地,所述步骤S202中服务器端使用有序数组来存储所有键值数据。
具体地,所述步骤S202中键和键对应的值的地址存储在有序数组中。
具体地,所述的步骤S202中的位置的范围指的是服务器端有序数组的下标范围。
具体地,所述步骤S204中所取回的键指的是服务器的有序数组在所述步骤S202中的下标范围中所对应的键。
具体地,所述的步骤S206中客户端使用远程过程调用向服务器发送请求。
具体地,所述的步骤S207中客户端使用远程过程调用向服务器发送请求。
根据本发明提供的一种利用机器学习和RDMA加速的键值存储读访问***,包括:
模块S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;
模块S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA单向操作来读回请求的键所对应的值;
所述模块S2包括:
模块S201:客户端判断是否已接收到服务器端的的机器学习模型:如果没有接收到,则执行模块S206;否则,则执行模块S202;
模块S202:令客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,调用模块S203;
模块S203:令客户端根据模块S202预测的范围,使用一次RDMA单向读操作将对应范围的键以及其所对应的值的地址取回,调用模块S204;
模块S204:令客户端在取回的键中搜索用户请求所需要的键:如果找到需要的键,则调用模块S205;否则调用模块S207;
模块S205:令客户端使用一次RDMA单向读操作将找到的键的值地址对应的值取回,并将这个值返回给用户;
模块S206:令客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型,随后调用模块S207;
模块S207:令客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户;
所述的模块S201中服务器端的机器学习模型为神经网络模型或线性回归模型;
所述模块S202中通过将用户的键传入机器学习模型,将机器学习模型的输出作为预测结果;
所述模块S202中服务器端使用有序数组来存储所有键值数据;
所述模块S202中键和键对应的值的地址存储在有序数组中;
所述的模块S202中的位置的范围指的是服务器端有序数组的下标范围;
所述模块S204中所取回的键指的是服务器的有序数组在所述模块S202中的下标范围中所对应的键;
所述的模块S206中客户端使用远程过程调用向服务器发送请求;
所述的模块S207中客户端使用远程过程调用向服务器发送请求。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
下面结合附图对本发明作进一步说明
如图1所示,为本发明客户端处理键值查找请求的的具体流程:
在步骤1中,客户端查询是否已从服务器端获取机器学习模型,如果未获取,则执行步骤8去服务器端获取机器学习模型,客户端使用远程过程调用(RPC)去向服务器端发起请求。如何已经获取,则执行步骤2。在执行步骤8的同时,客户端也执行步骤9,向服务器发起请求来执行一个键值请求的查找操作;步骤9也使用RPC来执行。步骤8和步骤9在客户端并发的发起请求。
在步骤9执行完后,客户端将服务器端返回的结果返回给用户,结束执行。
在步骤2中,如果客户端找到了服务器端发来的机器学习模型,则使用这个机器学习模型执行查找请求,执行步骤3;
在步骤3中,客户端将用户的键值请求中的键输入到机器学习模型中,机器学习模型会根据这个键返回服务器端有序数组中的一段范围;例如,如果这个范围是[0-1],则在图3的示例中,这个范围指的就是服务器端有序数组的第0个到第1个元素;
在步骤4中,客户端使用一个RDMA单向(one-sided)读操作将步骤3中预测的范围内存的(键,值地址)全部读回到客户端的内存中;例如在图3的示例中,如果这个范围是[0-1],则客户端将用RDMA单向(one-sided)读操作将(键0,值地址0),(键1,值地址1)读回客户端;
在步骤5中,客户端搜索读回来的所有的(键,值地址),如果在这些键中有用户请求的键(步骤6),则执行步骤7将用户请求的键所对应的值读回到本地;否则执行步骤9,退回到使用RPC的方式来执行这个键值请求;例如在图3的示例中,如果用户请求的键是键0,则客户端找到对应的(键0,值地址0);
在步骤7中,用户根据键所对应的值所在的地址,使用一次RDMA读操作将这个值里面的值的内容读回到客户端,并将这个值返回给用户,然后结束这次键值查找请求。在图3的示例中,如果用户请求的键是键0,则客户端根据步骤6找到的值地址0,读取值0并且返回给用户。
如图2所示,本发明基于传统的客户端/服务端(CS)架构:服务器端负责存储键值数据库,而客户端通过和服务器端交互来服务用户的键值请求。客户端和服务端为传统的计算机。客户端和服务端组成局域网络。和传统的CS不同的是,客户端通过RDMA网络和服务器端进行相连。
本发明在客户端存储额外的数据,同时在服务器端使用机器学习模型来预测键所对应的值的位置。如图3所示,客户端需要额外的存储从服务器端获取的机器学习模型。服务器端采用有序数组来存储所有的键值。在有序数组中,键值的存储方式为(键,值地址)的方式,其中值地址指向内存中存储值的地址。
优选例2:
本发明的目的可以通过以下技术方案来实现:
一种机器学习和RDMA加速的键值存储读访问方法,该方法首先采用机器学习模型来预测服务器端键值存储的位置,客户端通过远程过程调用获取服务器端的学习完的模型;在客户端处理用户的键值请求时,客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA单向(one-sided)操作来读回请求的键所对应的值;在客户端执行键值请求中,其特征在于,包括如下步骤:
(1)客户端判断是否已接收到服务器端的的机器学习模型,如果没有接收到,这执行步骤(6),否则执行步骤(2);
(2)客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,执行步骤(3);客户端使用机器学习模型和传统的机器学习模型预测一样,该机器学习模型可以抽象为数学函数(f),将键(key)输入到f得到f(key)即为预测的位置;
(3)客户端根据步骤(2)预测的范围,使用一次RDMA单向(one-sided)读操作将对应范围的键以及其所对应的值的地址取回,执行步骤(4);
(4)客户端在步骤(4)取回的键中搜索用户请求所需要的键;如果找到则执行步骤(5),否则执行步骤(7);
(5)客户端使用一次RDMA单向(one-sided)读操作将步骤(5)中的值地址对应的值取回,并将这个值返回给用户。
(6)客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型;随后执行步骤(7);
(7)客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户。
所述的步骤(1)中服务器端的机器学习模型可以为神经网络模型,或者是线性回归模型。
所述的步骤(2)中服务器端使用有序数组来存储所有键值数据。
所述的步骤(2)中键和键对应的值的地址也和键一起存在有序数组中。
所述的步骤(2)中的位置的范围指的是服务器端有序数组的下标范围。
所述的步骤(4)中所取回的键指的是服务器的有序数组在步骤(2)中的下标范围中所对应的键。
所述的步骤(6)中客户端使用远程过程调用向服务器发送请求。
所述的步骤(7)中客户端使用远程过程调用向服务器发送请求。
一种机器学习和RDMA加速的键值存储读访问方法,其特征在于,键值存储采用客户端/服务器(CS)模式,客户端和服务器所在的计算机采用RDMA网卡相连,互相组成局域网;客户端使用服务器端的机器学习模型。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (2)

1.一种机器学习和RDMA加速的键值存储读访问方法,其特征在于,包括:
步骤S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;
步骤S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA 单向操作来读回请求的键所对应的值;
所述步骤S2包括:
步骤S201:客户端判断是否已接收到服务器端的的机器学习模型:如果没有接收到,则执行步骤S206;否则,则执行步骤S202;
步骤S202:令客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,执行步骤S203;
步骤S203:令客户端根据步骤S202预测的范围,使用一次RDMA 单向读操作将对应范围的键以及其所对应的值的地址取回,执行步骤S204;
步骤S204:令客户端在取回的键中搜索用户请求所需要的键:如果找到需要的键,则执行步骤S205;否则执行步骤S207;
步骤S205:令客户端使用一次RDMA 单向读操作将找到的键的值地址对应的值取回,并将这个值返回给用户;
步骤S206:令客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型;随后执行步骤S207;
步骤S207:令客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户;
所述的步骤S201中服务器端的机器学习模型为神经网络模型或线性回归模型;
所述步骤S202中通过将用户的键传入机器学习模型,将机器学习模型的输出作为预测结果;
所述步骤S202中服务器端使用有序数组来存储所有键值数据;
所述步骤S202中键和键对应的值的地址存储在有序数组中;
所述的步骤S202中的位置的范围指的是服务器端有序数组的下标范围;
所述步骤S204中所取回的键指的是服务器的有序数组在所述步骤S202中的下标范围中所对应的键;
所述的步骤S206中客户端使用远程过程调用向服务器发送请求;
所述的步骤S207中客户端使用远程过程调用向服务器发送请求。
2.一种利用机器学习和RDMA加速的键值存储读访问***,其特征在于,包括:
模块S1:采用机器学习模型来预测服务器端键值存储的位置,令客户端通过远程过程调用获取服务器端的学习完的模型;
模块S2:在客户端处理用户的键值请求时,令客户端首先通过获取的机器学习模型来预测键值请求的键所对应的地址,最后通过RDMA 单向操作来读回请求的键所对应的值;
所述模块S2包括:
模块S201:客户端判断是否已接收到服务器端的的机器学习模型:如果没有接收到,则执行模块S206;否则,则执行模块S202;
模块S202:令客户端使用机器学习模型预测键值读请求的键所对应值在服务器端的位置的范围,调用模块S203;
模块S203:令客户端根据模块S202预测的范围,使用一次RDMA 单向读操作将对应范围的键以及其所对应的值的地址取回,调用模块S204;
模块S204:令客户端在取回的键中搜索用户请求所需要的键:如果找到需要的键,则调用模块S205;否则调用模块S207;
模块S205:令客户端使用一次RDMA 单向读操作将找到的键的值地址对应的值取回,并将这个值返回给用户;
模块S206:令客户端向服务器端发送请求获取其构建的用来预测键值位置的机器学习模型,随后调用模块S207;
模块S207:令客户端向服务器端发送请求执行用户的键值请求,并将服务器返回的值返回给用户;
所述的模块S201中服务器端的机器学习模型为神经网络模型或线性回归模型;
所述模块S202中通过将用户的键传入机器学习模型,将机器学习模型的输出作为预测结果;
所述模块S202中服务器端使用有序数组来存储所有键值数据;
所述模块S202中键和键对应的值的地址存储在有序数组中;
所述的模块S202中的位置的范围指的是服务器端有序数组的下标范围;
所述模块S204中所取回的键指的是服务器的有序数组在所述模块S202中的下标范围中所对应的键;
所述的模块S206中客户端使用远程过程调用向服务器发送请求;
所述的模块S207中客户端使用远程过程调用向服务器发送请求。
CN202010311855.1A 2020-04-20 2020-04-20 机器学习和rdma加速的键值存储读访问方法及*** Active CN111538603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010311855.1A CN111538603B (zh) 2020-04-20 2020-04-20 机器学习和rdma加速的键值存储读访问方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010311855.1A CN111538603B (zh) 2020-04-20 2020-04-20 机器学习和rdma加速的键值存储读访问方法及***

Publications (2)

Publication Number Publication Date
CN111538603A CN111538603A (zh) 2020-08-14
CN111538603B true CN111538603B (zh) 2022-03-22

Family

ID=71953633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010311855.1A Active CN111538603B (zh) 2020-04-20 2020-04-20 机器学习和rdma加速的键值存储读访问方法及***

Country Status (1)

Country Link
CN (1) CN111538603B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817232A (zh) * 2021-01-21 2022-07-29 华为技术有限公司 访问数据的方法及装置
CN115883458A (zh) * 2021-09-28 2023-03-31 阿里云计算有限公司 一种数据传输方法、***、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426321A (zh) * 2015-11-13 2016-03-23 上海交通大学 采用远程位置信息的rdma友好缓存方法
CN105446936A (zh) * 2015-11-16 2016-03-30 上海交通大学 基于htm和单向rdma操作的分布式哈希表方法
CN108351860A (zh) * 2015-11-20 2018-07-31 微软技术许可有限责任公司 低延迟的基于rdma的分布式存储装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083193B2 (en) * 2015-01-09 2018-09-25 International Business Machines Corporation Efficient remote pointer sharing for enhanced access to key-value stores

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426321A (zh) * 2015-11-13 2016-03-23 上海交通大学 采用远程位置信息的rdma友好缓存方法
CN105446936A (zh) * 2015-11-16 2016-03-30 上海交通大学 基于htm和单向rdma操作的分布式哈希表方法
CN108351860A (zh) * 2015-11-20 2018-07-31 微软技术许可有限责任公司 低延迟的基于rdma的分布式存储装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Fast Distributed Deep Learning on RDMA;Jilong xue,et al.;《arxiv》;20180522;全文 *
Fast In-Memory Transaction Processing Using RDMA and HTM;Haibo Chen. et al.;《ACM Transactions on Computer Systems》;20170713;全文 *
分布式数据处理若干关键技术研究;吴仁克;《中国博士学位论文全文数据库 信息科技辑》;20200115;全文 *
基于RDMA分布式key-value存储***的设计与实现;杨敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190115;全文 *

Also Published As

Publication number Publication date
CN111538603A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
US9092491B2 (en) Searching documentation across interconnected nodes in a distributed network
CN111459418B (zh) 一种基于rdma的键值存储***传输方法
CN111538603B (zh) 机器学习和rdma加速的键值存储读访问方法及***
US20070150450A1 (en) Apparatus and method for quick retrieval of search data
CN107153643B (zh) 数据表连接方法及装置
JP2021089704A (ja) データ照会方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム
CN117312394B (zh) 一种数据访问方法、装置、存储介质及电子设备
Chen et al. Fpga-accelerated samplesort for large data sets
US9672231B2 (en) Concurrent access for hierarchical data storage
CN114969441A (zh) 基于图数据库的知识挖掘引擎***
CN110162395B (zh) 一种内存分配的方法及装置
US20240012812A1 (en) Non-SQL Document Store Storing Table Metadata for Selecting Data Access Mode of Tables
CN109992526A (zh) 一种读写管理方法以及相关装置
CN113157609A (zh) 存储***、数据处理方法、装置、电子设备及存储介质
US7296013B2 (en) Replacing an unavailable element in a query
CN115617859A (zh) 基于知识图谱集群的数据查询方法和装置
CN114490727A (zh) 目标数据库的高维向量搜索方法及相关设备
US11055266B2 (en) Efficient key data store entry traversal and result generation
EP2990960A1 (en) Data retrieval via a telecommunication network
CN111382179A (zh) 数据处理方法、装置及电子设备
CN111949687B (zh) 基于共享内存和多进程的分布式数据库架构及其实现方法
US11875151B1 (en) Inter-process serving of machine learning features from mapped memory for machine learning models
CN111737298B (zh) 基于分布式存储的缓存数据管控方法及装置
JP7330229B2 (ja) 情報検索方法、装置、電子機器及びコンピュータ可読記憶媒体
WO2022041143A1 (en) Smart procedure routing in partitioned database management systems

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