CN111274195B - Rdma网络流控方法、装置及计算机可读存储介质 - Google Patents

Rdma网络流控方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111274195B
CN111274195B CN202010059646.2A CN202010059646A CN111274195B CN 111274195 B CN111274195 B CN 111274195B CN 202010059646 A CN202010059646 A CN 202010059646A CN 111274195 B CN111274195 B CN 111274195B
Authority
CN
China
Prior art keywords
sending
receiving
memory unit
data packet
flow control
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
CN202010059646.2A
Other languages
English (en)
Other versions
CN111274195A (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.)
Orca Data Technology Xian Co Ltd
Original Assignee
Orca Data Technology Xian 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 Orca Data Technology Xian Co Ltd filed Critical Orca Data Technology Xian Co Ltd
Priority to CN202010059646.2A priority Critical patent/CN111274195B/zh
Publication of CN111274195A publication Critical patent/CN111274195A/zh
Application granted granted Critical
Publication of CN111274195B publication Critical patent/CN111274195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开了一种RDMA网络流控方法、装置及计算机可读存储介质,所述方法包括:当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在接收对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新的发送;当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新的接收。

Description

RDMA网络流控方法、装置及计算机可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种RDMA网络流控方法、装置及计算机可读存储介质。
背景技术
远程直接内存访问(Remote Direct Memory Access,简称为RDMA)可以通过网络在两个端点的应用软件之间实现内存数据的直接传递,无需操作系统、CPU、协议栈的介入,轻易实现端点间的低延迟高带宽,也不必再为网络数据的处理和搬移耗费过多其他资源。在面对高性能计算、大数据分析和输入输出(Input Output,简称为IO)高并发低延迟的应用时候,RDMA相比较传输控制协议(Transmission Control Protocol,简称为TCP)是个更好的选择。
对于RDMA的实现目前有无限带宽(InfiniBand)技术、互联网广域RDMA协议((RDMAover TCP/IP,简称为Iwarp)、聚合以太网RDMA协议(RDMA over Converged Ethernet,简称为RoCE),其中,InfiniBand采用快速转发(Cut-Through)模式,减少转发时延,硬件卸载,性能最好。iWARP利用成熟的IP网络,采用传统IP网络丢包对性能影响大。RoCE允许在以太网上执行RDMA,DCB特性保证无丢包,需要以太网网络支持数据中心桥接(Data CenterBridge,简称为DCB)特性,比InfiniBand延迟较高。
随着以太网的发展,也具备高带宽低延迟的能力,在延迟方面也能接近InfiniBand交换性能,所以RoCE会成为必然结果,且RoCE组网成本更低。对于RDMA网络中的数据丢包,其原因是在网络交换机中,当入口流量大于出口流量的带宽时会发生网络拥塞,拥塞太久就会丢弃掉新收到的数据包。为了解决这个丢包问题,InfiniBand在网卡中采用的信用(Credit)的流控机制;RoCE以太网卡就需要在网卡和交换机中实现DCB特性。但是,现有的RoCE的拥塞控制方法都是在网卡和交换机中通过硬件来实现流控,成本太高。
发明内容
本发明实施例提供一种RDMA网络流控方法、装置及计算机可读存储介质,用以解决现有技术中的上述问题。
本发明实施例提供一种RDMA网络流控方法,包括:
当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在接收对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送,其中,发送内存单元与对方节点的接收内存单元的大小和使用个数相同;
当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,并向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收,其中,接收内存单元与对方节点的发送内存单元的大小和使用个数相同。
本发明实施例还提供一种RDMA网络流控装置,包括:
发送模块,用于当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在通过接收模块接收到对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送;向对方节点发送流控数据包;其中,发送内存单元与对方节点的接收内存单元的大小和使用个数相同;
接收模块,用于当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,并通过发送模块向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收;接收对方节点发送的流控数据包;其中,接收内存单元与对方节点的发送内存单元的大小和使用个数相同。
本发明实施例还提供一种RDMA网络流控装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述RDMA网络流控方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有信息传递的实现程序,程序被处理器执行时实现上述RDMA网络流控方法的步骤。
采用本发明实施例,解决了RoCE网络中通信拥塞,防止数据包的丢失,提高了RDMA数据传输的可靠性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的RDMA网络流控方法的示意图;
图2是本发明实施例的RDMA网络流控方法的架构示意图;
图3是本发明实施例的RDMA网络流控方法的详细处理的流程图;
图4是本发明装置实施例一的RDMA网络流控装置的示意图;
图5是本发明装置实施例二的RDMA网络流控装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
方法实施例
根据本发明的实施例,提供了一种RDMA网络流控方法,适用于计算机RDMA网络通信,分布式系统中的RDMA网络传输、高性能计算,大数据分析等领域。图1是本发明实施例的RDMA网络流控方法的示意图,如图1所示,根据本发明实施例的RDMA网络流控方法具体包括:
步骤101,当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在接收对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送,其中,发送内存单元与对方节点的接收内存单元的大小和使用个数相同;在本发明实施例中,预定步长为1。
在本发明实施例中,在注册RDMA发送内存单元和接收内存单元时,需要将收发节点双方的发送内存单元和接收内存单元的大小和使用个数设置为相同。并且,在本发明实施例中,发送内存单元和接收内存单元的大小与数据包的大小一致。
步骤102,当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,并向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收,其中,接收内存单元与对方节点的发送内存单元的大小和使用个数相同。
以下结合附图,对本发明实施例的上述技术方案进行详细说明。
图2是本发明实施例的RDMA网络流控方法的架构示意图,如图2所示:存在网络中的每个节点包含两个模块:一个RDMA发送模块(Send),一个RDMA接收模块(Recv)。A节点的RDMA发送模块Send负责发送数据包到B节点的RDMA接收模块Recv。A节点的RDMA接收模块Recv负责接收来自B节点的RDMA发送模块Send发送的数据包。在注册RDMA发送和接收内存的时候,每个发送和接收内存单元(数据包)大小相等,例如,4KB。发送和接收的内存单元(数据包)数量相同,例如,均为128个。发送和接收的内存单元(数据包)都有使用计数,即为IncompleteSend和IncompleteRecv,其初始值都是发送和接收内存单元(数据包)的数量。
图3是本发明实施例的RDMA网络流控方法的详细处理的流程图,如图3所示,A节点的RDMA发送模块Send通过RDMA的应用程序编程接口(Application ProgrammingInterface,简称为API)发送数据包,每发送一个数据包,IncompleteSend都会自动减一,当IncompleteSend减到为0的时候,发送内存单元使用完了,暂停发送操作,启动发送流控机制。
在发送流控机制中,A节点的RDMA接收模块Recv会一直等待B节点RDMA发送模块Send发送过来的流控数据包,当收到这个流控数据包之后,说明A节点发送给B节点的数据包,B节点已经全部收到,重置IncompleteSend为内存单元的个数,开始新一轮的发送。
B节点的RDMA接收模块Recv通过RDMA API接口接收数据包,每接收一个数据包,IncompleteRecv都会自动减一,当IncompleteRecv减到为0的时候,接收内存单元使用完了。因为发送和接收的内存单元数量相同,这个时候B节点的已经全部收完A节点发过来的数据包。启动接收流控机制。
在接收流控机制中,B节点的RDMA发送模块Send就会给A节点的RDMA接收模块Recv发送一个流控数据包,重置IncompleteRecv为内存单元的个数,开心新一轮的接收。
综上所述,在本发明实施例中,RDMA发送和接收的内存单元需要大小相同,数量相同。此外,发送内存单元和接收内存单元使用计数用来记录发送和接收内存使用情况。此外,RDMA每发送数据包开始,都会检查发送内存单元使用计数是否为0;并且RDMA每发送一个数据包,发送内存单元使用计数减1。当发送内存单元使用计数为0的时候,停止发送操作。启动发送流控,通过本端RDMA接收模块,循环等待接收流控数据包,收到流控数据包之后,重置发送内存单元使用计数,开始RDMA发送数据包操作。RDMA每接收数据包开始,都会检查接收内存单元使用计数是否为0,此外,RDMA每接收一个数据包,接收内存单元使用计数减1。当接收内存单元使用计数为0的时候,停止接收操作。启动接收流控,通过本端RDMA发送模块,向对端发送一个流控数据包,重置接收内存单元使用计数,开始RDMA接收数据包操作。
从上述描述可以看出,在RDMA网络中,接收数据包的节点会根据接收内存单元使用情况,动态的向数据包的发送节点发送流控数据包,发送节点收到流控数据包后就限制发送节点的发送速率,起到拥塞控制的效果,保证数据在网络传输中的安全。
需要说明的是,本发明实施例的上述技术方案可以通过有流控功能的网卡和交换机来保证数据在网络传输中的安全性。
本发明实施例的技术方案通过软件实现RDMA的拥塞控制,保证数据在网络传输中的安全,比之硬件流控大大降低成本,性价比高且自主可控。
装置实施例一
根据本发明实施例,提供了一种RDMA网络流控装置,图4是本发明装置实施例一的RDMA网络流控装置的示意图,如图4所示,根据本发明实施例的RDMA网络流控装置具体包括:
发送模块40,用于当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在通过接收模块接收到对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送;向对方节点发送流控数据包;其中,发送内存单元与对方节点的接收内存单元的大小和使用个数相同;在本发明实施例中,预定步长为1。
此外,本发明实施例还包括:设置模块,用于在注册RDMA发送内存单元和接收内存单元时,将收发节点双方的发送内存单元和接收内存单元的大小和使用个数设置为相同。并且,在本发明实施例中,发送内存单元和接收内存单元的大小与数据包的大小一致。
接收模块42,用于当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,并通过发送模块向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收;接收对方节点发送的流控数据包;其中,接收内存单元与对方节点的发送内存单元的大小和使用个数相同。
以下结合附图,对本发明实施例的上述技术方案进行详细说明。
如图2所示:存在网络中的每个节点包含两个模块:一个RDMA发送模块(Send,即上述发送模块40),一个RDMA接收模块(Recv,即上述接收模块42)。A节点的RDMA发送模块Send负责发送数据包到B节点的RDMA接收模块Recv。A节点的RDMA接收模块Recv负责接收来自B节点的RDMA发送模块Send发送的数据包。在注册RDMA发送和接收内存的时候,每个发送和接收内存单元(数据包)大小相等,例如,4KB。发送和接收的内存单元(数据包)数量相同,例如,均为128个。发送和接收的内存单元(数据包)都有使用计数,即为IncompleteSend和IncompleteRecv,其初始值都是发送和接收内存单元(数据包)的数量。
如图3所示,A节点的RDMA发送模块Send通过RDMA的应用程序编程接口(Application Programming Interface,简称为API)发送数据包,每发送一个数据包,IncompleteSend都会自动减一,当IncompleteSend减到为0的时候,发送内存单元使用完了,暂停发送操作,启动发送流控机制。
在发送流控机制中,A节点的RDMA接收模块Recv会一直等待B节点RDMA发送模块Send发送过来的流控数据包,当收到这个流控数据包之后,说明A节点发送给B节点的数据包,B节点已经全部收到,重置IncompleteSend为内存单元的个数,开始新一轮的发送。
B节点的RDMA接收模块Recv通过RDMA API接口接收数据包,每接收一个数据包,IncompleteRecv都会自动减一,当IncompleteRecv减到为0的时候,接收内存单元使用完了。因为发送和接收的内存单元数量相同,这个时候B节点的已经全部收完A节点发过来的数据包。启动接收流控机制。
在接收流控机制中,B节点的RDMA发送模块Send就会给A节点的RDMA接收模块Recv发送一个流控数据包,重置IncompleteRecv为内存单元的个数,开心新一轮的接收。
综上所述,在本发明实施例中,RDMA发送和接收的内存单元需要大小相同,数量相同。此外,发送内存单元和接收内存单元使用计数用来记录发送和接收内存使用情况。此外,RDMA每发送数据包开始,都会检查发送内存单元使用计数是否为0;并且RDMA每发送一个数据包,发送内存单元使用计数减1。当发送内存单元使用计数为0的时候,停止发送操作。启动发送流控,通过本端RDMA接收模块,循环等待接收流控数据包,收到流控数据包之后,重置发送内存单元使用计数,开始RDMA发送数据包操作。RDMA每接收数据包开始,都会检查接收内存单元使用计数是否为0,此外,RDMA每接收一个数据包,接收内存单元使用计数减1。当接收内存单元使用计数为0的时候,停止接收操作。启动接收流控,通过本端RDMA发送模块,向对端发送一个流控数据包,重置接收内存单元使用计数,开始RDMA接收数据包操作。
从上述描述可以看出,在RDMA网络中,接收数据包的节点会根据接收内存单元使用情况,动态的向数据包的发送节点发送流控数据包,发送节点收到流控数据包后就限制发送节点的发送速率,起到拥塞控制的效果,保证数据在网络传输中的安全。
需要说明的是,本发明实施例的上述技术方案可以通过有流控功能的网卡和交换机来保证数据在网络传输中的安全性。
本发明实施例的技术方案实现了RDMA的拥塞控制,保证数据在网络传输中的安全,能够大大降低成本,性价比高且自主可控。
装置实施例二
本发明实施例提供一种RDMA网络流控装置,如图5所示,包括:存储器50、处理器52及存储在所述存储器50上并可在所述处理器52上运行的计算机程序,所述计算机程序被所述处理器52执行时实现如下方法步骤:
步骤101,当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在接收对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送,其中,发送内存单元与对方节点的接收内存单元的大小和使用个数相同;在本发明实施例中,预定步长为1。
在本发明实施例中,在注册RDMA发送内存单元和接收内存单元时,需要将收发节点双方的发送内存单元和接收内存单元的大小和使用个数设置为相同。并且,在本发明实施例中,发送内存单元和接收内存单元的大小与数据包的大小一致。
步骤102,当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,并向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收,其中,接收内存单元与对方节点的发送内存单元的大小和使用个数相同。
装置实施例三
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传输的实现程序,所述程序被处理器52执行时实现如下方法步骤:
步骤101,当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少发送内存单元使用计数器中的计数,当判断发送内存单元使用计数器为零时,停止发送数据包,在接收对方节点发送的流控数据包时,重置发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送,其中,发送内存单元与对方节点的接收内存单元的大小和使用个数相同;在本发明实施例中,预定步长为1。
在本发明实施例中,在注册RDMA发送内存单元和接收内存单元时,需要将收发节点双方的发送内存单元和接收内存单元的大小和使用个数设置为相同。并且,在本发明实施例中,发送内存单元和接收内存单元的大小与数据包的大小一致。
步骤102,当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以预定步长减少接收内存单元使用计数器中的计数,当判断接收内存单元使用计数器为零时,停止接收对方节点的数据包,并向对方节点发送流控数据包,重置接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收,其中,接收内存单元与对方节点的发送内存单元的大小和使用个数相同。
本实施例所述计算机可读存储介质包括但不限于为:ROM、RAM、磁盘或光盘等。
本发明实施例的技术方案通过软件实现RDMA的拥塞控制,保证数据在网络传输中的安全,比之硬件流控大大降低成本,性价比高且自主可控。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种远程直接内存访问RDMA网络流控方法,其特征在于,包括:
在注册RDMA发送内存单元和接收内存单元时,将收发节点双方的发送内存单元和接收内存单元的大小和使用个数设置为相同;
当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少所述发送内存单元使用计数器中的计数,当判断所述发送内存单元使用计数器为零时,停止发送数据包,在接收对方节点发送的流控数据包时,重置所述发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送,其中,所述发送内存单元与对方节点的接收内存单元的大小和使用个数相同;
当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以所述预定步长减少所述接收内存单元使用计数器中的计数,当判断所述接收内存单元使用计数器为零时,停止接收对方节点的数据包,并向对方节点发送流控数据包,重置所述接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收,其中,所述接收内存单元与对方节点的发送内存单元的大小和使用个数相同,所述发送内存单元和所述接收内存单元的大小与数据包的大小一致。
2.如权利要求1所述的方法,其特征在于,所述预定步长为1。
3.一种远程直接内存访问RDMA网络流控装置,其特征在于,
设置模块,用于在注册RDMA发送内存单元和接收内存单元时,将收发节点双方的发送内存单元和接收内存单元的大小和使用个数设置为相同;
发送模块,用于当判断发送内存单元使用计数器不为零时,向对方节点发送数据包,并以预定步长减少所述发送内存单元使用计数器中的计数,当判断所述发送内存单元使用计数器为零时,停止发送数据包,在通过接收模块接收到对方节点发送的流控数据包时,重置所述发送内存单元使用计数器为发送内存单元使用个数,开始新一轮的数据包发送;向对方节点发送流控数据包;其中,所述发送内存单元与对方节点的接收内存单元的大小和使用个数相同;
接收模块,用于当判断接收内存单元使用计数器不为零时,接收对方节点发送的数据包,并以所述预定步长减少所述接收内存单元使用计数器中的计数,当判断所述接收内存单元使用计数器为零时,停止接收对方节点的数据包,并通过发送模块向对方节点发送流控数据包,重置所述接收内存单元使用计数器为接收内存单元使用个数,开始新一轮的数据包接收;接收对方节点发送的流控数据包;其中,所述接收内存单元与对方节点的发送内存单元的大小和使用个数相同,所述发送内存单元和所述接收内存单元的大小与数据包的大小一致。
4.如权利要求3所述的装置,其特征在于,所述预定步长为1。
5.一种远程直接内存访问RDMA网络流控装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至2中任一项所述的远程直接内存访问RDMA网络流控方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至2中任一项所述的远程直接内存访问RDMA网络流控方法的步骤。
CN202010059646.2A 2020-01-19 2020-01-19 Rdma网络流控方法、装置及计算机可读存储介质 Active CN111274195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010059646.2A CN111274195B (zh) 2020-01-19 2020-01-19 Rdma网络流控方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010059646.2A CN111274195B (zh) 2020-01-19 2020-01-19 Rdma网络流控方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111274195A CN111274195A (zh) 2020-06-12
CN111274195B true CN111274195B (zh) 2023-06-23

Family

ID=70998880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010059646.2A Active CN111274195B (zh) 2020-01-19 2020-01-19 Rdma网络流控方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111274195B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653634A (zh) * 2020-12-10 2021-04-13 苏州浪潮智能科技有限公司 一种流量控制方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115053A (zh) * 2007-08-24 2008-01-30 中国科学院计算技术研究所 一种信誉流量控制方法
CN101534173A (zh) * 2009-04-20 2009-09-16 福建星网锐捷网络有限公司 一种数据流量控制方法和系统
CN109039900A (zh) * 2018-08-10 2018-12-18 北京邮电大学 一种发送credit包的停止信号的方法和装置
CN110460412A (zh) * 2019-07-11 2019-11-15 阿里巴巴集团控股有限公司 用于数据传输的方法和rdma网卡

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975593B2 (en) * 2001-04-03 2005-12-13 Sun Microsystems, Inc. Method for triggering flow control packets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115053A (zh) * 2007-08-24 2008-01-30 中国科学院计算技术研究所 一种信誉流量控制方法
CN101534173A (zh) * 2009-04-20 2009-09-16 福建星网锐捷网络有限公司 一种数据流量控制方法和系统
CN109039900A (zh) * 2018-08-10 2018-12-18 北京邮电大学 一种发送credit包的停止信号的方法和装置
CN110460412A (zh) * 2019-07-11 2019-11-15 阿里巴巴集团控股有限公司 用于数据传输的方法和rdma网卡

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Demonstration of dynamic congestion control in optical packet switching network employing rate-adaptive transmitter and receiver";N. Yoshikane等;《2015 International Conference on Photonics in Switching (PS)》;20121116;第282-284页 *
"网络背景流量的分类与识别研究综述";邹腾宽等;《计算机应用》;20190331;第39卷(第3期);第802-811页 *
移动Ad Hoc网络的跨层优化拥塞控制;徐伟强等;《软件学报》;20100715(第07期);全文 *

Also Published As

Publication number Publication date
CN111274195A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
US7239636B2 (en) Multiple virtual channels for use in network devices
US20170250914A1 (en) In-line network accelerator
US9025451B2 (en) Positive feedback ethernet link flow control for promoting lossless ethernet
WO2012066824A1 (ja) 通信装置および通信システム
US8953631B2 (en) Interruption, at least in part, of frame transmission
EP3298739B1 (en) Lightweight transport protocol
US11252099B2 (en) Data stream sending method and system, and device
EP3525406A1 (en) Method and apparatus for determining tcp congestion window
EP4156766A1 (en) Data packet sending method and apparatus
WO2017097201A1 (zh) 一种数据传输方法、发送装置及接收装置
WO2017114231A1 (zh) 一种报文发送方法、tcp代理以及tcp客户端
US7286483B2 (en) Electronic data transfer based on selective storage of incoming packets
CN111274195B (zh) Rdma网络流控方法、装置及计算机可读存储介质
Cisco LLC2 and SDLC Commands
CN113424578B (zh) 一种传输控制协议加速方法和装置
KR102184363B1 (ko) 네트워크 커넥터의 호스트 및 클라이언트와의 통신 방법, 그리고 동일 방법을 수행하는 네트워크 커넥터
CN117354253A (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