CN105978985A - 一种用户态RPC over RDMA的内存管理方法 - Google Patents

一种用户态RPC over RDMA的内存管理方法 Download PDF

Info

Publication number
CN105978985A
CN105978985A CN201610405779.4A CN201610405779A CN105978985A CN 105978985 A CN105978985 A CN 105978985A CN 201610405779 A CN201610405779 A CN 201610405779A CN 105978985 A CN105978985 A CN 105978985A
Authority
CN
China
Prior art keywords
memory
rpc
client
rdma
layer
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
CN201610405779.4A
Other languages
English (en)
Other versions
CN105978985B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and 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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610405779.4A priority Critical patent/CN105978985B/zh
Publication of CN105978985A publication Critical patent/CN105978985A/zh
Application granted granted Critical
Publication of CN105978985B publication Critical patent/CN105978985B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • 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/544Buffers; Shared memory; Pipes
    • 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/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种用户态RPC over RDMA的内存管理方法;通过在RPC层设置注册内存池,由注册内存池保存已经注册的内存块,在传输中反复使用这些内存块从而达到避免注册内存的目标;同时,增加内存管理接口,使得上层用户可以直接使用由RPC层管理的这些已注册内存块,从而避免了上层用户和RPC组件之间的内存拷贝;在注册内存池中所管理的内存块大小固定,块大小范围为可根据实际使用配置;本发明提供的这种用户态RPC over RDMA的内存管理方法可以有效减少RPC组件在使用RDMA方式传输时的内存注册次数,具有降低内存注册开销的效果。

Description

一种用户态RPC over RDMA的内存管理方法
技术领域
本发明属于计算机网络通信技术领域,更具体地,涉及一种用户态RPC over RDMA的内存管理方法。
背景技术
远程直接数据访问(RDMA)通过网络进行内存区域的远程拷贝,将数据从一个系统快速传输到远端内存中,而不需要CPU的干预,解决了网络传输中服务器端数据处理的延迟。
IB(InfiniBand)是目前广泛应用在高性能计算集群中的系统域网络,IB Verbs是一套直接操作InfiniBand网卡的接口、充分利用InfiniBand网络支持的RDMA技术;基于IB Verbs的RPC组件具有高带宽、低延迟的性能,为上层提供通用的RPC接口,但使用IB Verbs接口进行传输,其涉及的内存需要显式地向网卡注册,而内存注册开销带来的性能损失较大。
传统的降低内存注册开销的方法包括应用在内核态的快速内存注册方法FMR(Fast Memory Registration),其中涉及到IB的主机通道适配器(HCA)具体的内存注册实现以及内核虚拟页地址到物理地址的映射,该方法在于减少内存注册操作本身的开销,只能在内核态实现。
由于基于IB Verbs实现RDMA传输需要进行内存注册,传统的RPC over RDMA函数库对于内存的管理方法为:传递给RPC层的内存由上层用户程序负责分配,RPC层负责释放,同时RPC层在进行远程内存访问前需要对这些内存进行注册操作,在释放之前需要对这些内存进行注销操作;返回给上层用户程序的内存由RPC层负责分配,用户程序负责释放,同时RPC层在进行远程内存访问前需要对这些内存进行注册操作,在返回给上 层用户程序之前需要对这些内存进行注销操作。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种用户态RPC over RDMA的内存管理方法,其目的在于减少RPC基于RDMA协议实现内存拷贝和注册带来的开销,并减少内存空间的消耗。
为实现上述目的,按照本发明的一个方面,提供了一种用户态RPC over RDMA的内存管理方法,具体包括如下步骤:
(1)RPC层向上层用户提供标准RPC接口和内存管理接口,使得上层用户可以申请和回收由RPC层管理的已注册内存;
(2)RPC层通过先入先出队列管理协议头部内存池;所述协议头部内存池用于存储RPC协议头部、RDMA协议头部以及所传输的RPC结构体的非指针字段;
(3)RPC层通过多链表管理数据内存池,所述数据内存池用于存储已注册内存块,上层用户通过内存管理接口申请和回收所述已注册内存;
(4)采用基于RDMA WRITE原语的传输方式,利用数据内存池实现服务器端向客户端的数据传输;
其中,RDMA WRITE是指InfiniBand网卡提供的一种RDMA传输方式。
优选地,上述用户态RPC over RDMA的内存管理方法,RPC层向上层用户提供的内存管理接口包括内存分配接口、内存回收接口;
其中,内存分配接口用于在上层用户与RPC层之间传递已注册的内存块地址;内存回收接口用于在上层用户与RPC层之间传递内存回收请求;
由于内存分配接口优先分配数据内存池所管理的已注册内存,因此,在数据传输的过程中,若数据内存池中存在空闲内存块,且该空闲内存块的容量满足传输需要,则内存分配接口将该空闲的已注册内存块的地址传递给上层用户;由上层用户将数据写入该已注册内存块,通过该已经注册 的内存块进行数据传输,不会产生内存注册的开销;
当数据内存池没有已注册内存块可供分配,则由内存分配接口向操作系统申请内存块并进行注册,并将该内存块地址传递给上层用户,由上层用户将数据写入该内存块,通过该内存块进行数据传输。
优选地,上述用户态RPC over RDMA的内存管理方法,其协议头部内存池存储的内存块大小固定,内存块数固定;
客户端的协议头部内存池对于不同的RPC连接是相互独立的,而服务端的协议头部内存池对于不同的RPC连接是共享的。
优选地,上述用户态RPC over RDMA的内存管理方法,其数据内存池所存储的内存块大小不固定,内存块数不固定,但其最大内存总量固定;
数据内存池包括源数据内存池和目的数据内存池;源数据内存池用于存放拟发送到远端内存区域的数据;目的数据内存池的内存区域则是预留给远端的内存空间,远端数据可存储至该内存区域;
数据内存池所管理的内存块通过内存分配接口分配给上层用户;当上层用户不再使用所分配的内存块时,则由内存回收接口通知数据内存池回收该内存块。
优选地,上述用户态RPC over RDMA的内存管理方法,其步骤(4)包括如下子步骤:
(4.1)在进行RPC通信前,对服务端拟反馈给客户端的RPC结构体进行预解码,对RPC结构体中的指针字段分配的已注册内存;其中,RPC结构体是远程过程调用的结果,可以理解为一次函数调用的返回值;对于这个结构体中的普通数据成员,如整型,字符型,浮点型成员,将它们追加写到RPC报文中;对于结构体中的指针数据成员,因为这表示一个内存块,对这个指针成员分配已注册内存,这些内存块是客户端在和服务端通信前进行预留的内存块;并将这些内存信息进行编码,封装到RDMA协议头部,并对所述已注册内存块的信息加上待写链表标识;
(4.2)当客户端将RPC报文发送到服务端,服务端通过解码RDMA协议头部获得待写链表标识,通过该标识获取客户端预留内存的信息;
(4.3)由服务端通过内存分配接口为拟反馈给客户端的RPC结构体中的指针字段分配已注册内存;
(4.4)当服务端接收到客户端请求,则对拟反馈给客户端的RPC结构体中的各成员字段进行赋值;其中成员字段包括基本数据类型(如整形、字符型、浮点型等)和指针;
(4.5)由服务端根据RPC头部、RDMA协议头部进行编码获得RPC报文;
(4.6)由服务端对拟反馈给客户端的RPC结构体进行编码;
(4.7)服务端将上述拟反馈给客户端的RPC报文通过RDMA SEND方式传输到客户端;其中,RDMA SEND方式是指InfiniBand网卡提供的一种类似TCP/UDP套接字的存储转发传输模式。
优选地,上述用户态RPC over RDMA的内存管理方法,其步骤(4.6)中,对所述RPC结构体中的指针字段,使用RDMA WRITE方式进行远程内存拷贝;对所述RPC结构体中的非指针字段,则对其进行编码,封装到RPC报文中;
本步骤中,对于RPC结构体中的指针字段,由于客户端已预留了内存空间,并且服务端在步骤(4.2)中通过解码RDMA协议头部获取到了客户端所预留内存的信息;因此,对于拟反馈给客户端的RPC结构体的指针字段,直接使用RDMA WRITE方式进行远程内存拷贝;
对于该RPC结构体中的非指针字段,则对其进行编码,封装到步骤(4.5)获得的RPC报文中;获得拟反馈给客户端的RPC报文。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的用户态RPC over RDMA的内存管理方法,由于在 RPC层维护已注册内存池,因此传输涉及的内存块均在很多情况下可以使用已注册内存池中的内存块,从而减少传输过程中的内存注册次数,进而减少传输过程中的内存注册开销。
(2)本发明提供的用户态RPC over RDMA的内存管理方法,由于减少了内存注册次数,因此提升了RPC over RDMA组件的传输性能;与现有技术相比,区别在于本发明的目标是减少内存注册次数,具有传输性能好,内存注册开销低的效果;
(3)本发明提供的用户态RPC over RDMA的内存管理方法,其步骤(4)在服务端向客户端返回数据时,使用RDMA WRITE方式进行数据传输,具有减少网络交互次数的效果;
使用RDMA方式进行数据传输时,必须对传输所涉及的内存块进行注册,注册开销影响到了传输性能;而本发明提供的这种在RPC over RDMA组件内管理已注册内存块的方法,可以在使用RDMA方式传输时反复使用已注册内存块,达到减少内存注册的目的;另一方面,由于增加了内存管理接口,使得上层用户可以直接使用这些已注册内存块,消除了上层用户程序于RPC over RDMA组件之间的内存拷贝。
附图说明
图1是实施例中注册内存池的结构示意图;
图2是实施例中注册内存池中分配器处理流程示意图;
图3是实施例中注册内存池中回收器处理流程示意图;
图4是实施例中基于内存管理接口使用RDMA WRITE方式进行数据传输的网络交互流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的 本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了降低RPC组件使用RDMA方式进行传输所带来的内存开销,提升传输性能,本发明实例提供的用户态RPC over RDMA的内存管理方法,具体如下:
(1)在用户态RPC over RDMA组件中创建内存管理接口,包括内存分配接口和内存回收接口;在上层用户在进行远程过程调用前,调用内存分配接口,为所传输的数据分配内存;在上层用户完成远程过程调用后,调用内存回收接口,将之前分配的内存回收给RPC组件;
(2)在RPC over RDMA组件内部创建一个内存池,该内存池中所有内存块是已经向InfiniBand网卡注册过的内存块;内存池中的内存块大小固定,内存块块大小范围为8KB至1MB,并以2倍关系递增,即存在8KB、16KB、32KB、64KB、128KB、256KB、512KB、1MB大小的内存块;相同大小的内存块构成一条队列;
(3)当上层用户程序需要分配内存时,通过内存分配接口调用分配器从内存池中找到适合的内存块,将内存地址返回给上层用户;当上层用户需要回收内存时,通过内存回收接口调用回收器,将内存块保存在内存池的合适队列中;实施例中,注册内存池的结构如图1所示。
注册内存池中的分配器的处理流程如图2所示;对于任何一次内存分配的请求,根据内存块大小的不同以及内存池中是否有合适的内存块,分配器会有以下三种处理情况:
(1)若需要分配的内存块大小不在8KB~1MB的范围内,则由分配器向操作系统申请内存块,申请的块大小为实际所需的块大小,然后向InfiniBand网卡注册此内存块,并将内存块地址反馈到上层用户;
(2)若需要分配的内存块大小在8KB~1MB的范围内,则找到不小于所需大小的内存块队列;若队列不为空,则从队列头部取出内存块,然 后将内存块地址返回给上层用户;
譬如,当需要31KB的内存块,由于内存池中只有在8kb、16KB、32KB…1MB的内存块,则选择32KB的内存块队列;
(3)若需要分配的内存块大小在8KB~1MB的范围内,找到不小于所需大小的内存块队列;若队列为空,则向操作系统申请内存块,申请的大小为不小于所需字节数大小的2的整数次幂;并向InfiniBand网卡注册申请到的内存块;
譬如,若需要31KB的内存块,则申请32KB的内存块。
其中,注册内存池中的回收器的处理流程如图3所示;对于任何一次内存回收的请求,根据内存块大小的不同有以下两种处理方式:
(1)若需要回收的内存块大小不在8KB~1MB的范围内,则将此内存块解注册,然后向操作系统释放内存。
(2)若需要回收的内存块大小在8KB~1MB的范围内,则找到对应的内存块队列,将此内存块的添加到队列尾部。
基于内存管理接口RDMA WRITE方式的进行数据传输的流程如图4所示,具体如下:
(1)在客户端发起远程过程调用前,对服务端拟反馈给客户端的RPC结构体进行预解码(该结构体即为远程过程调用的调用结果);即对于此结构体中的指针成员,通过内存分配接口分配已注册的内存块;并将这些内存块信息进行编码后封装到RDMA协议头部,并在RDMA协议头部加上“待写链表”标识;
(2)当客户端将RPC报文发送到服务端,服务端通过解码RDMA协议头部获得待写链表标识,通过该待写链表标识获取客户端预留的内存块的信息;
(3)服务端通过内存分配接口为拟反馈给客户端的RPC结构体中的指针字段分配已注册内存;
(4)当服务端接收到客户端请求,对拟反馈给客户端的RPC结构体中的各成员字段进行赋值;其中,成员字段包括基本数据类型(如整形、字符型、浮点型等)和指针;
(5)由服务端根据RPC头部、RDMA协议头部进行编码获得RPC报文;
(6)由服务端对拟反馈给客户端的RPC结构体进行编码;
本步骤中,对于RPC结构体中的指针字段,由于客户端已预留了内存空间,并且服务端在步骤(2)中通过解码RDMA协议头部获取到客户端所预留内存的信息,因此对于拟反馈给客户端的RPC结构体的指针字段,直接使用RDMA WRITE方式进行远程内存拷贝;
对于该RPC结构体中的非指针字段,则对其进行编码,封装到步骤(5)获得的RPC报文中;获得拟反馈给客户端的RPC报文;
(7)服务端将上述拟反馈给客户端的RPC报文通过RDMA SEND方式传输到客户端。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种用户态RPC over RDMA的内存管理方法,其特征在于,包括如下步骤:
(1)由RPC层向上层用户提供标准RPC接口和内存管理接口,使得上层用户可以申请和回收由RPC层管理的已注册内存;
(2)RPC层通过先入先出队列管理协议头部内存池;所述协议头部内存池用于存储RPC协议头部、RDMA协议头部以及待传输的RPC结构体的非指针字段;
(3)RPC层通过多链表管理数据内存池,所述数据内存池用于存储已注册内存块,上层用户通过内存管理接口申请和回收所述已注册内存;
(4)采用基于RDMA WRITE原语的传输方式,利用数据内存池实现服务器端向客户端的数据传输。
2.如权利要求1所述的内存管理方法,其特征在于,所述内存管理接口包括内存分配接口和内存回收接口;
所述内存分配接口用于在上层用户与RPC层之间传递已注册的内存块的地址;所述内存回收接口用于在上层用户与RPC层之间传递内存回收请求。
3.如权利要求1或2所述的内存管理方法,其特征在于,所述协议头部内存池存储的内存块大小固定,内存块数固定;
客户端的协议头部内存池对于不同的RPC连接是相互独立的,而服务端的协议头部内存池对于不同的RPC连接是共享的。
4.如权利要求1或2所述的内存管理方法,其特征在于,所述数据内存池所存储的内存块大小不固定,内存块数不固定,但所述数据内存池可存储的最大内存总量固定;
所述数据内存池包括源数据内存池和目的数据内存池;源数据内存池用于存放拟发送到远端内存区域的数据;目的数据内存池的内存区域则是预留给远端的内存空间。
5.如权利要求1或2所述的内存管理方法,其特征在于,所述步骤(4)包括如下子步骤:
(4.1)对服务端拟反馈给客户端的RPC结构体进行预解码,将RPC结构体中的普通数据成员追加写到RPC报文中,对RPC结构体中的指针字段分配已注册内存块,并分配的已注册内存块的信息进行编码,封装到RDMA协议头部,并对所述已注册内存块的信息加上待写链表标识;
(4.2)当服务端接收到客户端发送的RPC报文,服务端通过解码RDMA协议头部获得待写链表标识,通过所述待写链表标识获取客户端预留内存的信息;
(4.3)由服务端通过内存分配接口为拟反馈给客户端的RPC结构体中的指针字段分配已注册内存;
(4.4)当服务端接收到客户端请求,则对拟反馈给客户端的RPC结构体中的成员字段进行赋值;
(4.5)由服务端根据RPC头部、RDMA协议头部进行编码获得RPC报文;
(4.6)由服务端对拟反馈给客户端的RPC结构体进行编码,获得拟反馈给客户端的RPC报文;
(4.7)服务端将步骤(4.6)获得的所述RPC报文通过RDMA SEND方式传输到客户端。
6.如权利要求5所述的内存管理方法,其特征在于,所述步骤(4.6)中,对所述RPC结构体中的指针字段,使用RDMA WRITE方式进行远程内存拷贝;对所述RPC结构体中的非指针字段,则对其进行编码,封装到RPC报文中。
CN201610405779.4A 2016-06-07 2016-06-07 一种用户态RPC over RDMA的内存管理方法 Active CN105978985B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610405779.4A CN105978985B (zh) 2016-06-07 2016-06-07 一种用户态RPC over RDMA的内存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610405779.4A CN105978985B (zh) 2016-06-07 2016-06-07 一种用户态RPC over RDMA的内存管理方法

Publications (2)

Publication Number Publication Date
CN105978985A true CN105978985A (zh) 2016-09-28
CN105978985B CN105978985B (zh) 2019-03-05

Family

ID=57010901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610405779.4A Active CN105978985B (zh) 2016-06-07 2016-06-07 一种用户态RPC over RDMA的内存管理方法

Country Status (1)

Country Link
CN (1) CN105978985B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657365A (zh) * 2016-12-30 2017-05-10 清华大学 一种基于rdma的高并发数据传输方法
CN108173681A (zh) * 2017-12-22 2018-06-15 新华三技术有限公司 一种mtu信息的发送方法及装置
CN108268208A (zh) * 2016-12-30 2018-07-10 清华大学 一种基于rdma的分布式内存文件系统
CN108595270A (zh) * 2018-04-27 2018-09-28 新华三信息安全技术有限公司 一种内存资源的回收方法及装置
CN110198331A (zh) * 2018-03-28 2019-09-03 腾讯科技(上海)有限公司 一种同步数据的方法及系统
CN110298165A (zh) * 2018-03-22 2019-10-01 腾讯科技(深圳)有限公司 安全访问共享内存的方法、装置以及认证代理
CN113064846A (zh) * 2021-04-14 2021-07-02 中南大学 基于Rsockets协议的零拷贝数据传输方法
CN113238856A (zh) * 2021-03-09 2021-08-10 西安奥卡云数据科技有限公司 一种基于rdma的内存管理方法及装置
CN113326155A (zh) * 2021-06-28 2021-08-31 深信服科技股份有限公司 一种信息处理方法、装置、系统和存储介质
WO2021254330A1 (zh) * 2020-06-19 2021-12-23 中兴通讯股份有限公司 内存管理方法、系统、客户端、服务器及存储介质
CN114095550A (zh) * 2020-08-10 2022-02-25 北京瀚海云星科技有限公司 一种服务端直接读取引用参数的远程过程调用方法
CN114244857A (zh) * 2021-04-12 2022-03-25 无锡江南计算技术研究所 一种分布式存储系统的内存池管理方法
CN114996200A (zh) * 2022-05-26 2022-09-02 中国联合网络通信集团有限公司 基于rdma的数据传输方法、装置、设备及存储介质
CN115586980A (zh) * 2022-10-09 2023-01-10 维塔科技(北京)有限公司 远程过程调用装置及方法
CN115858184A (zh) * 2023-03-03 2023-03-28 浪潮电子信息产业股份有限公司 一种rdma内存管理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455974A (zh) * 2010-10-21 2012-05-16 上海宝信软件股份有限公司 一种内存消耗可控的高速内存申请释放管理系统及方法
CN102915276A (zh) * 2012-09-25 2013-02-06 武汉邮电科学研究院 一种用于嵌入式系统的内存控制方法
CN104317734A (zh) * 2014-11-28 2015-01-28 迈普通信技术股份有限公司 一种适用于slab的内存分配方法及装置
CN105141603A (zh) * 2015-08-18 2015-12-09 北京百度网讯科技有限公司 通信数据传输方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455974A (zh) * 2010-10-21 2012-05-16 上海宝信软件股份有限公司 一种内存消耗可控的高速内存申请释放管理系统及方法
CN102915276A (zh) * 2012-09-25 2013-02-06 武汉邮电科学研究院 一种用于嵌入式系统的内存控制方法
CN104317734A (zh) * 2014-11-28 2015-01-28 迈普通信技术股份有限公司 一种适用于slab的内存分配方法及装置
CN105141603A (zh) * 2015-08-18 2015-12-09 北京百度网讯科技有限公司 通信数据传输方法及系统

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657365A (zh) * 2016-12-30 2017-05-10 清华大学 一种基于rdma的高并发数据传输方法
CN108268208A (zh) * 2016-12-30 2018-07-10 清华大学 一种基于rdma的分布式内存文件系统
CN106657365B (zh) * 2016-12-30 2019-12-17 清华大学 一种基于rdma的高并发数据传输方法
CN108268208B (zh) * 2016-12-30 2020-01-17 清华大学 一种基于rdma的分布式内存文件系统
CN108173681A (zh) * 2017-12-22 2018-06-15 新华三技术有限公司 一种mtu信息的发送方法及装置
CN108173681B (zh) * 2017-12-22 2021-07-06 新华三技术有限公司 一种mtu信息的发送方法及装置
CN110298165A (zh) * 2018-03-22 2019-10-01 腾讯科技(深圳)有限公司 安全访问共享内存的方法、装置以及认证代理
CN110298165B (zh) * 2018-03-22 2023-05-23 腾讯科技(深圳)有限公司 安全访问共享内存的方法、装置以及认证代理
CN110198331A (zh) * 2018-03-28 2019-09-03 腾讯科技(上海)有限公司 一种同步数据的方法及系统
CN110198331B (zh) * 2018-03-28 2022-11-25 腾讯科技(上海)有限公司 一种同步数据的方法及系统
CN108595270A (zh) * 2018-04-27 2018-09-28 新华三信息安全技术有限公司 一种内存资源的回收方法及装置
WO2021254330A1 (zh) * 2020-06-19 2021-12-23 中兴通讯股份有限公司 内存管理方法、系统、客户端、服务器及存储介质
CN114095550A (zh) * 2020-08-10 2022-02-25 北京瀚海云星科技有限公司 一种服务端直接读取引用参数的远程过程调用方法
CN113238856B (zh) * 2021-03-09 2022-07-26 西安奥卡云数据科技有限公司 一种基于rdma的内存管理方法及装置
CN113238856A (zh) * 2021-03-09 2021-08-10 西安奥卡云数据科技有限公司 一种基于rdma的内存管理方法及装置
CN114244857A (zh) * 2021-04-12 2022-03-25 无锡江南计算技术研究所 一种分布式存储系统的内存池管理方法
CN113064846A (zh) * 2021-04-14 2021-07-02 中南大学 基于Rsockets协议的零拷贝数据传输方法
CN113326155A (zh) * 2021-06-28 2021-08-31 深信服科技股份有限公司 一种信息处理方法、装置、系统和存储介质
CN113326155B (zh) * 2021-06-28 2023-09-05 深信服科技股份有限公司 一种信息处理方法、装置、系统和存储介质
CN114996200A (zh) * 2022-05-26 2022-09-02 中国联合网络通信集团有限公司 基于rdma的数据传输方法、装置、设备及存储介质
CN114996200B (zh) * 2022-05-26 2024-05-07 中国联合网络通信集团有限公司 基于rdma的数据传输方法、装置、设备及存储介质
CN115586980A (zh) * 2022-10-09 2023-01-10 维塔科技(北京)有限公司 远程过程调用装置及方法
CN115858184A (zh) * 2023-03-03 2023-03-28 浪潮电子信息产业股份有限公司 一种rdma内存管理方法、装置、设备及介质
CN115858184B (zh) * 2023-03-03 2023-05-02 浪潮电子信息产业股份有限公司 一种rdma内存管理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN105978985B (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
CN105978985A (zh) 一种用户态RPC over RDMA的内存管理方法
CN100403739C (zh) 基于链表的进程间消息传递方法
KR101515359B1 (ko) 시스템 코-프로세서에 대한 직접 i/o 액세스
US20040117368A1 (en) Transmitting acknowledgements using direct memory access
JP6492083B2 (ja) インフィニバンド(IB)上で仮想ホストバスアダプタ(vHBA)を管理およびサポートするためのシステムおよび方法、ならびに単一の外部メモリインターフェイスを用いてバッファの効率的な使用をサポートするためのシステムおよび方法
US7469309B1 (en) Peer-to-peer data transfer method and apparatus with request limits
WO2010015142A1 (zh) 一种实现零拷贝发送流媒体数据的方法及系统
CN112948149A (zh) 一种远端内存共享方法、装置、电子设备及存储介质
CN108156172A (zh) 一种高速接收tcp数据的方法
CN105141603A (zh) 通信数据传输方法及系统
WO2023040464A1 (zh) 一种总线通信方法及相关设备
CN113127139A (zh) 一种基于数据面开发套件dpdk的内存分配方法和装置
WO2015055117A1 (zh) 一种内存访问的方法、设备和系统
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
US8898353B1 (en) System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface
CN109067752A (zh) 一种利用rdma消息实现兼容tcp/ip协议的方法
CN106325377B (zh) 外部设备扩展卡及输入输出外部设备的数据处理方法
US9104637B2 (en) System and method for managing host bus adaptor (HBA) over infiniband (IB) using a single external memory interface
CN112422244B (zh) 基于流量负载预测的rdma缓冲区动态分配方法
JP3644158B2 (ja) 並列計算機におけるデータ送受信方法
CN114253733B (zh) 一种内存管理方法、装置、计算机设备和存储介质
CN112579488B (zh) 一种支持动态缓冲区分配的消息存储电路及方法
US11966634B2 (en) Information processing system and memory system
CN118113638A (zh) Rdma数据传输方法及设备
CN115344192A (zh) 一种数据处理方法、装置及电子设备

Legal Events

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