CN102404212A - 一种基于InfiniBand网络的跨平台RDMA通信方法 - Google Patents
一种基于InfiniBand网络的跨平台RDMA通信方法 Download PDFInfo
- Publication number
- CN102404212A CN102404212A CN2011103645692A CN201110364569A CN102404212A CN 102404212 A CN102404212 A CN 102404212A CN 2011103645692 A CN2011103645692 A CN 2011103645692A CN 201110364569 A CN201110364569 A CN 201110364569A CN 102404212 A CN102404212 A CN 102404212A
- Authority
- CN
- China
- Prior art keywords
- client
- rdma
- data
- buffering area
- server end
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于InfiniBand网络的跨平台RDMA通信方法,服务器端初始化本地环境,成功后创建监听线程等待客户端连接,客户端初始化本地环境,成功后通过socket与服务器端建立连接,通过建立的socket连接交换RDMA通信环境;用等待发送的数据计算出一个中间值,并将此中间值序列化后与真正的数据合并到一起,通过RDMA写入到客户端的缓冲区中;传输完成后,服务器端关闭监听线程、释放缓冲区、清理RDMA环境,客户端释放缓冲区和清理RDMA环境。
Description
技术领域
本发明涉及通信技术,具体来说,涉及在Linux操作系统和Windows操作系统之间通过高速的InfiniBand网络来进行RDMA通信技术。
背景技术
InfiniBand网络是一种支持多并发链接的“转换线缆”技术,该技术的主要特点是高带宽(单条链路的SDR带宽为2.5Gbps,DDR为5Gbps,QDR为10Gbps,如果需要更大的带宽,只需要增加链路数量即可,比如4x的QDR带宽可以达到40Gbps)、低时延(交换机延时140ns、应用程序延时3μs、新的网卡技术将使应用程序延时降低到1μs水平)、系统扩展性好(可轻松实现完全无拥塞的数万端设备的InfiniBand网络)。另外,InfiniBand标准支持RDMA(RemoteDirect Memory Access),使得在使用InfiniBand构筑服务器、存储器网络时比万兆以太网以及Fibre Channel具有更高的性能、效率和灵活性。目前,基于InfiniBand的编程方式主要有如表1所示的三种:IB Verbs、SDP和IPoIB,其中IB Verbs性能最好,但是开发难度最高,需要用户很高的编程技巧;而IPoIB则完全兼容普通的TCP/IP协议,不需要用户关注InfiniBand带来的不同,但是其性能也较差,并不能完全发挥InfiniBand网络的优势;而SDP则介于两者之间。
表1InfiniBand网络编程模式对照表
Infiniband发展的初衷是把服务器中的总线给网络化,所以InfiniBand除了具有很强的网络性能以外还直接继承了总线的高带宽和低时延。大家熟知的在总线技术中采用的DMA技术在InfiniBand中以RDMA的形式得到了继承。这也使InfiniBand在与CPU、内存及存储设备的交流方面天然地优于万兆以太网以及Fibre Channel。可以想象在用Infiniband构筑的服务器和存储器网络中任意一个服务器上的CPU可以轻松地通过RDMA去高速搬动其他服务器中的内存或存储器中的数据块,而这是Fibre Channel和万兆以太网所不可能做到的。
传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽。所产生严重的延迟来自系统庞大的开销以及数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动。而在RDMA中数据的处理不需要经过操作系统和其他软件层,它使得网卡可以直接与应用内存相互传输数据,从而消除了在应用内存与内核内存之间复制数据的需要,整个传输过程如图1所示。主机1中缓冲区1里面的数据可以直接经网卡写入主机2的缓冲区2中,整个过程不需要处理器和操作系统的参与。
如何高效简单地使用InfiniBand网络带来的性能上的优势是一个巨大的挑战,采用IPoIB是最简单的实现方式,但如果希望将InfiniBand网络的性能发挥到极致,则需要采取IB Verbs的方法。该方法的弊端是需要用户直接操作底层资源,带来编程的不便,这种不便在跨平台交互过程中变得更加困难。
发明内容
本发明旨在提供一种封装,可以使用户通过简单的方法在Windows和Linux系统之间通过InfiniBand网络进行高速通信,这里采用IB Verbs方法和RDMA技术实现。
一种基于InfiniBand网络的跨平台RDMA通信方法,
服务器端初始化本地环境,成功后创建监听线程等待客户端连接,客户端初始化本地环境,成功后通过socket与服务器端建立连接,通过建立的socket连接交换RDMA通信环境;
用等待发送的数据计算出一个中间值,并将此中间值序列化后与真正的数据合并到一起,通过RDMA写入到客户端的缓冲区中;
传输完成后,服务器端关闭监听线程、释放缓冲区、清理RDMA环境,客户端释放缓冲区和清理RDMA环境。
优选的,所述服务器端和客户端连接建立后,关闭socket通路,数据传输通过InfiniBand的RDMA机制进行。
优选的,述客户端可以在任意时刻查看缓存是否有数据到达,如果有数据则将数据头解析并读出真正的数据来处理。
优选的,所述数据从RDMA缓冲区中被读出后,此缓冲区被标识为可用状态,服务器端的数据可以写入此缓冲区;如果客户端的所有缓冲区均被写满,则服务器发送失败,系统向上层应用汇报此消息,等待处理。
优选的,所述服务器端使用Linux操作系统,客户端使用Windows操作系统,且数据仅从服务器端发往客户端。
优选的,所述缓冲区包括私有内存区,对用户是不可见的,用于存储本地管理、双方协调的信息;帧缓冲区,留给用户使用。
优选的,所述缓冲区包括一个当前引用计数,当用户申请此缓冲区时加1,向每个客户端发送时分别加1,轮询结束时分别减1;此计数初始化为0,且只有为0的时候,用户才可以申请成功。
优选的,所述交换RDMA通信环境的信息时,服务器需要告诉客户端的信息包括:传输缓冲区的大小,私有缓冲区的大小,缓冲区个数,建立QP连接所需要的QP连接数,RDMA通信所需要的内存地址;客户端告诉服务器的信息包括:建立QP连接所需要的QP连接数,RDMA通信所需要的内存地址。
优选的,所述服务器端的错误包括三类:内部尝试修复的内部错误、直接反馈给用户的外部错误和传播至客户端的远程。
优选的,所述服务器端在每个帧前附加一个私有区,在服务器和客户端间一同传输,私有区中存放一个64位的整数序列号,服务器端对每一帧数据以递增1的方式编号,客户端端检测序列号不连续的错误,反馈给客户端代码。
附图说明
图1是RDMA的传输过程
图2是本发明的传输过程
具体实施方式
本发明将传输双方分别称为服务器端和客户端,服务器端使用Linux操作系统,客户端使用Windows操作系统,且数据仅从服务器端发往客户端,系统的运行流程包括三个部分:建立连接、传输数据和断开连接。
建立连接过程:首先,服务器端初始化本地环境,成功后创建监听线程等待客户端连接;其次,客户端初始化本地环境,成功后通过socket与服务器端建立连接;最后,通过建立的socket连接交换必须的RDMA通信环境,如缓冲区地址、数量等信息。这样整个传输链路即创建完毕,用于前期建立连接的socket通路可以关闭,之后的数据传输通过InfiniBand的RDMA机制进行。
传输数据过程:传输过程如图2所示,首先用等待发送的数据计算出一个中间值,并将此中间值序列化后与真正的数据合并到一起通过RDMA写入到客户端的缓存中,此过程不需要客户端主动参与;客户端可以在任意时刻查看是否有数据到达,如果有数据则将数据头解析并读出真正的数据来处理。一旦数据从RDMA缓冲区中被读出,则此缓冲区被标识为可用状态,服务器端的数据可以写入此缓冲区。如果客户端的所有缓冲区均被写满,则服务器发送失败,系统向上层应用汇报此消息,等待处理。
断开连接过程:此过程在服务器端表现为关闭监听线程、释放缓冲区、清理RDMA环境等;在客户端主要是释放缓冲区和清理RDMA环境。
建立连接过程
首先需要进行服务器端的初始化操作,要指定的参数主要包括:
1)监听线程的监听端口(tcp_port);
2)一帧数据的大小(buf_size);
3)帧缓冲区个数(buf_num);
初始化过程不会失败,系统不对所设置的参数作任何检查,不合适的参数可能导致的错误由后续操作来处理。
然后分配资源,这一步只分配帧缓冲池,InfiniBand资源的分配推迟到服务器端与客户端信息交换部分,避免socket通信错误时,InfiniBand分配和释放成为多余的操作。分配帧缓冲池,本质上是分配buf_num个大小为(buf_size+PAGE_SIZE)的缓冲区,其中PAGE_SIZE是服务器端操作系统虚拟内存页面的大小。此缓冲区前面的PAGE_SIZE部分作为私有内存区,对用户是不可见的,主要用来存储一些本地管理、双方协调所需要的信息;除去前面PAGE_SIZE以外的部分则为帧缓冲区,留给用户使用。本地管理信息包括一个当前引用计数,当用户申请此缓冲区时加1,向每个客户端发送时分别加1,poll_completion时分别减1;此计数初始化为0,且只有为0的时候,用户才可以申请成功。
双方协调信息,典型地,包括一个序列号,用来标志当前缓冲区传送的帧编号,方便检测丢帧情况。此编号是由系统控制并解释的,与用户代码中的协议无关。
信息交换,服务器需要告诉客户端的信息包括:
1)传输缓冲区(私有+帧缓冲)的大小,私有缓冲区的大小,缓冲区个数
2)建立QP连接所需要的qp_num,lid
3)RDMA通信所需要的memory addr和rkey
客户端告诉服务器的信息包括:
1)建立QP连接所需要的qp_num,lid
2)RDMA通信所需要的memory addr和rkey
说明:
1)MTU两边要一样,这个可以前期协商,也可以程序中直接指定;
2)memory addr和rkey在双边通信(SEND/RECV)中并不需要,但是为了兼容以后可能的修改,这些信息依然交换;
传输数据过程
1)获取buffer(get_next_buffer),要求不能失败
a)对所有completion queue执行poll_completion,试图释放一些buffer资源。
b)由mem pool的当前index获得buffer,通过其私有区找到引用计数,并对引用计数执行原子操作cmp_and_swap(0,1),即若为0则置为1
c)若原来的值为0,表明可用,将mem pool的当前index增1(可能要回绕),然后返回帧缓冲区的地址;否则继续如下操作
d)此时没有获得预分配的缓冲区,则malloc一个缓冲区,同样为PAGE_SIZE+buf_size大小,若失败则重复malloc直至成功,并将私有区的index置为-1
e)返回buffer首地址+PAGE_SIZE
2)用这个buffer去采集数据,并将处理后的数据放在buffer中原始数据之后
3)发送buffer中数据到客户端(send_data)
a)序列号原子加1
b)buffer-PAGE_SIZE得到私有区地址,检查其中的index值,若为-1则为临时malloc出来的缓冲区,执行如下额外操作:
i.get_next_buffer获得注册过的缓冲区
ii.若获取成功,则memcpy临时buffer中的内容memcpy至注册过的buffer里,释放临时buffer
iii.若获取不成功,则退出函数,返回错误码
c)持读锁(专用于保护链表的读写锁)
d)list_for_each_entry得到RDMA通信上下文ctx,在此循环体中执行如下操作:
i.执行poll_completion(ctx),尝试释放一些可用的IB和mempool资源
ii.读取对方RDMA WRITE过来的recv_cnt,即到当前时刻对方已经递交的recv请求数目;若大于本地维护的send_cnt,执行后续操作,否则continue
iii.对私有区记录的引用计数执行原子加1
iv.post_send,
1.若失败则对私有区记录的index原子减1,然后修改qp状态到INIT->RTR->RTS,本ctx的失败记录加1,若超过某个特定值,在局部变量中记录下这个ctx,并continue
2.若成功则增加本地post_cnt计数
v.此时post_send成功,到下一轮循环
e)释放读锁
f)检查之前是否记录了失败次数过多的ctx,若有,通常意味着客户端或者连接本身出了问题,可以考虑删除这个客户端(持写锁)
4)归还buffer(put_buffer),本质上是引用计数减1
5)检查停止条件,若需要退出,则取消其它传输线程和监听线程;否则跳至1)
6)退出
poll_completion(ctx)操作:
1)对ctx中的cq执行ibv_poll_cq操作,只poll一个
2)如果返回值大于0,表明有completion,执行如下操作:
a)从wr_id得到mem pool中第wr_id个缓冲区,将私有区中的引用计数原子减1
b)检查wc的status,若不是SUCCESS则转3),否则转1)
3)到此处有两种可能:一是poll_completion的返回值<=0,或者大于0时wc.status为错误状态。若poll_completion返回值为0,则return
4)到此处表明poll操作出现错误,检查qp状态,若处于ERROR状态,则修改为INIT->RTR->RTS
断开连接
服务器端:
1)尝试将所有数据发送完毕;
2)关闭监听线程,释放相关资源;
3)释放分配的InfiniBand资源;
4)释放缓冲区;
客户端:
1)处理完毕所有缓冲区中已经接收的数据;
2)释放分配的InfiniBand资源;
3)释放缓冲区;
出错处理
服务器端要注意的一个问题是,InfiniBand或者其它资源使用出现error,绝大多数是在系统中尝试修复或者简单忽略(错误传播至客户端,如序列问题),不向用户呈现。但是也有一些错误必须呈现给用户,比如明显的内存分配失败,设备初始化失败。这里将错误分为三种:内部、外部、远程,分别指内部尝试修复的,直接反馈给用户的,以及传播至客户端的。
实时性
服务器端始终只发送实时数据。任何发送操作都是非阻塞的,若失败一般不作重新尝试。为了检测由此导致的丢帧现象,在每个帧前附加一个私有区,在服务器和客户端间一同传输,私有区中存放一个64位的整数序列号,服务器端对每一帧数据以递增1的方式编号,即使对所有客户端发送失败,也要维持序列号的递增。客户端端检测序列号不连续的错误,反馈给客户端代码。
Claims (10)
1.一种基于InfiniBand网络的跨平台RDMA通信方法,其特征在于:
服务器端初始化本地环境,成功后创建监听线程等待客户端连接,客户端初始化本地环境,成功后通过socket与服务器端建立连接,通过建立的socket连接交换RDMA通信环境;
用等待发送的数据计算出一个中间值,并将此中间值序列化后与真正的数据合并到一起,通过RDMA写入到客户端的缓冲区中;
传输完成后,服务器端关闭监听线程、释放缓冲区、清理RDMA环境,客户端释放缓冲区和清理RDMA环境。
2.如权利要求1所述的方法,其特征在于:所述服务器端和客户端连接建立后,关闭socket通路,数据传输通过InfiniBand的RDMA机制进行。
3.如权利要求1所述的方法,其特征在于:所述客户端可以在任意时刻查看缓存是否有数据到达,如果有数据则将数据头解析并读出真正的数据来处理。
4.如权利要求3所述的方法,其特征在于:所述数据从RDMA缓冲区中被读出后,此缓冲区被标识为可用状态,服务器端的数据可以写入此缓冲区;如果客户端的所有缓冲区均被写满,则服务器发送失败,系统向上层应用汇报此消息,等待处理。
5.如权利要求1所述的方法,其特征在于:所述服务器端使用Linux操作系统,客户端使用Windows操作系统,且数据仅从服务器端发往客户端。
6.如权利要求1所述的方法,其特征在于:所述缓冲区包括私有内存区,对用户是不可见的,用于存储本地管理、双方协调的信息;帧缓冲区,留给用户使用。
7.如权利要求1所述的方法,其特征在于:所述缓冲区包括一个当前引用计数,当用户申请此缓冲区时加1,向每个客户端发送时分别加1,轮询结束时分别减1;此计数初始化为0,且只有为0的时候,用户才可以申请成功。
8.如权利要求1所述的方法,其特征在于:所述交换RDMA通信环境的信息时,服务器需要告诉客户端的信息包括:传输缓冲区的大小,私有缓冲区的大小,缓冲区个数,建立QP连接所需要的QP连接数,RDMA通信所需要的内存地址;客户端告诉服务器的信息包括:建立QP连接所需要的QP连接数,RDMA通信所需要的内存地址。
9.如权利要求1所述的方法,其特征在于:所述服务器端的错误包括三类:内部尝试修复的内部错误、直接反馈给用户的外部错误和传播至客户端的远程。
10.如权利要求1所述的方法,其特征在于:所述服务器端在每个帧前附加一个私有区,在服务器和客户端间一同传输,私有区中存放一个64位的整数序列号,服务器端对每一帧数据以递增1的方式编号,客户端端检测序列号不连续的错误,反馈给客户端代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103645692A CN102404212A (zh) | 2011-11-17 | 2011-11-17 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103645692A CN102404212A (zh) | 2011-11-17 | 2011-11-17 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102404212A true CN102404212A (zh) | 2012-04-04 |
Family
ID=45886015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103645692A Pending CN102404212A (zh) | 2011-11-17 | 2011-11-17 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102404212A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002046A (zh) * | 2012-12-18 | 2013-03-27 | 无锡众志和达存储技术股份有限公司 | 多系统数据拷贝的rdma架构 |
CN103227778A (zh) * | 2013-03-26 | 2013-07-31 | 华为技术有限公司 | 内存访问方法、设备和系统 |
CN103645994A (zh) * | 2013-11-05 | 2014-03-19 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN104079398A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种数据通信方法、装置及系统 |
CN105141603A (zh) * | 2015-08-18 | 2015-12-09 | 北京百度网讯科技有限公司 | 通信数据传输方法及系统 |
CN105159929A (zh) * | 2015-08-05 | 2015-12-16 | 北京思特奇信息技术股份有限公司 | 一种内存数据库通信方法及系统 |
CN105487815A (zh) * | 2015-11-24 | 2016-04-13 | 无锡江南计算技术研究所 | 一种基于rdma机制的并行输入输出方法 |
CN105808477A (zh) * | 2014-12-29 | 2016-07-27 | 杭州华为数字技术有限公司 | 一种数据访问方法以及相关装置 |
CN106487896A (zh) * | 2016-10-14 | 2017-03-08 | 北京百度网讯科技有限公司 | 用于处理远程直接内存访问请求的方法和装置 |
CN106663033A (zh) * | 2014-04-28 | 2017-05-10 | 甲骨文国际公司 | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的系统和方法 |
CN107147722A (zh) * | 2017-05-19 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于rdma通信机制的ib‑rti方法 |
CN107451092A (zh) * | 2017-08-09 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于ib网络的数据传输系统 |
WO2018077284A1 (zh) * | 2016-10-28 | 2018-05-03 | 北京市商汤科技开发有限公司 | 通信方法和系统、电子设备和计算机集群 |
CN109067752A (zh) * | 2018-08-15 | 2018-12-21 | 无锡江南计算技术研究所 | 一种利用rdma消息实现兼容tcp/ip协议的方法 |
CN109189815A (zh) * | 2018-09-14 | 2019-01-11 | 南威软件股份有限公司 | 一种基于NiFi的二级缓存数据处理方法及系统 |
CN109861967A (zh) * | 2018-12-10 | 2019-06-07 | 中国人民银行清算总中心 | 基于Spark Shuffle的远程直接内存访问系统 |
CN110083468A (zh) * | 2019-05-05 | 2019-08-02 | Oppo广东移动通信有限公司 | 一种数据传输方法、电子装置和存储介质 |
CN110177118A (zh) * | 2019-06-13 | 2019-08-27 | 上海海事大学 | 一种基于rdma的rpc通信方法 |
CN111352578A (zh) * | 2018-12-24 | 2020-06-30 | 深圳先进技术研究院 | 一种全新服务器之间的内存借用策略 |
CN111459418A (zh) * | 2020-05-15 | 2020-07-28 | 南京大学 | 一种基于rdma的键值存储系统传输方法 |
CN111858418A (zh) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | 一种基于远程直接内存访问rdma的内存通信方法及装置 |
CN113886295A (zh) * | 2020-07-02 | 2022-01-04 | 北京瀚海云星科技有限公司 | 一种标签数据高效且低延时的传输方法及相关装置、系统 |
CN114710515A (zh) * | 2022-06-06 | 2022-07-05 | 浪潮电子信息产业股份有限公司 | 一种通信方法及相关组件 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722732A (zh) * | 2004-07-16 | 2006-01-18 | 国际商业机器公司 | 节点之间进行通信的方法及系统 |
CN101194250A (zh) * | 2005-05-13 | 2008-06-04 | 微软公司 | 用于关闭rdma连接的方法和系统 |
CN101303656A (zh) * | 2008-06-06 | 2008-11-12 | 中国科学院计算技术研究所 | 一种Java应用程序远程直接内存访问方法 |
CN101409715A (zh) * | 2008-10-22 | 2009-04-15 | 中国科学院计算技术研究所 | 一种利用InfiniBand网络进行通信的方法及系统 |
US20100023626A1 (en) * | 2004-09-10 | 2010-01-28 | Cavium Networks, Inc. | Method and apparatus for reducing host overhead in a socket server implementation |
-
2011
- 2011-11-17 CN CN2011103645692A patent/CN102404212A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722732A (zh) * | 2004-07-16 | 2006-01-18 | 国际商业机器公司 | 节点之间进行通信的方法及系统 |
US20100023626A1 (en) * | 2004-09-10 | 2010-01-28 | Cavium Networks, Inc. | Method and apparatus for reducing host overhead in a socket server implementation |
CN101194250A (zh) * | 2005-05-13 | 2008-06-04 | 微软公司 | 用于关闭rdma连接的方法和系统 |
CN101303656A (zh) * | 2008-06-06 | 2008-11-12 | 中国科学院计算技术研究所 | 一种Java应用程序远程直接内存访问方法 |
CN101409715A (zh) * | 2008-10-22 | 2009-04-15 | 中国科学院计算技术研究所 | 一种利用InfiniBand网络进行通信的方法及系统 |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002046B (zh) * | 2012-12-18 | 2015-07-08 | 无锡众志和达数据计算股份有限公司 | 多系统数据拷贝的rdma装置 |
CN103002046A (zh) * | 2012-12-18 | 2013-03-27 | 无锡众志和达存储技术股份有限公司 | 多系统数据拷贝的rdma架构 |
CN103227778A (zh) * | 2013-03-26 | 2013-07-31 | 华为技术有限公司 | 内存访问方法、设备和系统 |
CN103227778B (zh) * | 2013-03-26 | 2016-09-14 | 华为技术有限公司 | 内存访问方法、设备和系统 |
CN104079398A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种数据通信方法、装置及系统 |
CN104079398B (zh) * | 2013-03-28 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种数据通信方法、装置及系统 |
CN103645994A (zh) * | 2013-11-05 | 2014-03-19 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN106663033A (zh) * | 2014-04-28 | 2017-05-10 | 甲骨文国际公司 | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的系统和方法 |
CN106663033B (zh) * | 2014-04-28 | 2021-04-06 | 甲骨文国际公司 | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的系统和方法 |
CN105808477A (zh) * | 2014-12-29 | 2016-07-27 | 杭州华为数字技术有限公司 | 一种数据访问方法以及相关装置 |
CN105159929A (zh) * | 2015-08-05 | 2015-12-16 | 北京思特奇信息技术股份有限公司 | 一种内存数据库通信方法及系统 |
CN105141603A (zh) * | 2015-08-18 | 2015-12-09 | 北京百度网讯科技有限公司 | 通信数据传输方法及系统 |
CN105141603B (zh) * | 2015-08-18 | 2018-10-19 | 北京百度网讯科技有限公司 | 通信数据传输方法及系统 |
CN105487815A (zh) * | 2015-11-24 | 2016-04-13 | 无锡江南计算技术研究所 | 一种基于rdma机制的并行输入输出方法 |
CN105487815B (zh) * | 2015-11-24 | 2018-04-10 | 无锡江南计算技术研究所 | 一种基于rdma机制的并行输入输出方法 |
CN106487896A (zh) * | 2016-10-14 | 2017-03-08 | 北京百度网讯科技有限公司 | 用于处理远程直接内存访问请求的方法和装置 |
CN106487896B (zh) * | 2016-10-14 | 2019-10-08 | 北京百度网讯科技有限公司 | 用于处理远程直接内存访问请求的方法和装置 |
CN108011909A (zh) * | 2016-10-28 | 2018-05-08 | 北京市商汤科技开发有限公司 | 通信方法和系统、电子设备和计算机集群 |
WO2018077284A1 (zh) * | 2016-10-28 | 2018-05-03 | 北京市商汤科技开发有限公司 | 通信方法和系统、电子设备和计算机集群 |
CN108011909B (zh) * | 2016-10-28 | 2020-09-01 | 北京市商汤科技开发有限公司 | 通信方法和系统、电子设备和计算机集群 |
US10693816B2 (en) | 2016-10-28 | 2020-06-23 | Beijing Sensetime Technology Development Co., Ltd | Communication methods and systems, electronic devices, and computer clusters |
CN107147722A (zh) * | 2017-05-19 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于rdma通信机制的ib‑rti方法 |
CN107451092A (zh) * | 2017-08-09 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于ib网络的数据传输系统 |
CN109067752A (zh) * | 2018-08-15 | 2018-12-21 | 无锡江南计算技术研究所 | 一种利用rdma消息实现兼容tcp/ip协议的方法 |
CN109067752B (zh) * | 2018-08-15 | 2021-03-26 | 无锡江南计算技术研究所 | 一种利用rdma消息实现兼容tcp/ip协议的方法 |
CN109189815A (zh) * | 2018-09-14 | 2019-01-11 | 南威软件股份有限公司 | 一种基于NiFi的二级缓存数据处理方法及系统 |
CN109189815B (zh) * | 2018-09-14 | 2022-03-04 | 南威软件股份有限公司 | 一种基于NiFi的二级缓存数据处理方法及系统 |
CN109861967A (zh) * | 2018-12-10 | 2019-06-07 | 中国人民银行清算总中心 | 基于Spark Shuffle的远程直接内存访问系统 |
CN111352578A (zh) * | 2018-12-24 | 2020-06-30 | 深圳先进技术研究院 | 一种全新服务器之间的内存借用策略 |
CN111858418A (zh) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | 一种基于远程直接内存访问rdma的内存通信方法及装置 |
CN111858418B (zh) * | 2019-04-30 | 2023-04-07 | 华为技术有限公司 | 一种基于远程直接内存访问rdma的内存通信方法及装置 |
CN110083468A (zh) * | 2019-05-05 | 2019-08-02 | Oppo广东移动通信有限公司 | 一种数据传输方法、电子装置和存储介质 |
CN110177118A (zh) * | 2019-06-13 | 2019-08-27 | 上海海事大学 | 一种基于rdma的rpc通信方法 |
CN111459418A (zh) * | 2020-05-15 | 2020-07-28 | 南京大学 | 一种基于rdma的键值存储系统传输方法 |
CN113886295A (zh) * | 2020-07-02 | 2022-01-04 | 北京瀚海云星科技有限公司 | 一种标签数据高效且低延时的传输方法及相关装置、系统 |
CN114710515A (zh) * | 2022-06-06 | 2022-07-05 | 浪潮电子信息产业股份有限公司 | 一种通信方法及相关组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102404212A (zh) | 一种基于InfiniBand网络的跨平台RDMA通信方法 | |
US8244826B2 (en) | Providing a memory region or memory window access notification on a system area network | |
EP3706394A1 (en) | Writes to multiple memory destinations | |
EP1565826B1 (en) | Network interface and protocol supporting mappings of virtual memory locations at different processing devices | |
US20170286363A1 (en) | Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access | |
US10521283B2 (en) | In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives | |
US8023520B2 (en) | Signaling packet | |
CN111078607B (zh) | 面向rdma与非易失性内存的网络访问编程框架部署方法及系统 | |
CN109491809A (zh) | 一种降低高速总线延迟的通信方法 | |
TW200404430A (en) | ISCSI driver to adapter interface protocol | |
CN111459417B (zh) | 一种面向NVMeoF存储网络的无锁传输方法及系统 | |
CN111966446B (zh) | 一种容器环境下rdma虚拟化方法 | |
EP3077914B1 (en) | System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface | |
US11995017B2 (en) | Multi-plane, multi-protocol memory switch fabric with configurable transport | |
WO2023236589A1 (zh) | 一种通信方法及相关组件 | |
CN102375789B (zh) | 一种通用网卡非缓存的零拷贝方法及零拷贝系统 | |
CN102404398A (zh) | 一种支持多客户端的rdma消息发送方法 | |
Wang et al. | StaR: Breaking the scalability limit for RDMA | |
DE112022002377T5 (de) | Paketformatanpassungstechnologien | |
CN105933325A (zh) | 一种基于NFSoRDMA的内核态RPC通信加速方法 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 | |
US20040193811A1 (en) | Shared receive queues | |
DE112021000196T5 (de) | Paketverarbeitung durch eine programmierbare Netzwerkschnittstelle | |
Riddoch et al. | Distributed computing with the CLAN network | |
US9542356B2 (en) | Determining, at least in part, one or more respective amounts of buffer memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120404 |