可编程拥塞控制通信方案制造技术

技术编号:32354438 阅读:9 留言:0更新日期:2022-02-20 03:11
网络适配器包括接收(Rx)管道、发送(Tx)管道和拥塞管理电路。Rx管道被配置为接收对等网络适配器通过网络发送的分组,并处理接收到的分组。Tx管道被配置为通过网络将分组发送到对等网络适配器。拥塞管理电路被配置为从Tx管道和从Rx管道接收从与对等网络适配器交换的分组中的至少一些导出的拥塞控制(CC)事件,以与对等网络适配器交换用户可编程的拥塞控制分组,并响应于CC事件和用户可编程的拥塞控制分组减轻影响一个或多个分组的拥塞。组减轻影响一个或多个分组的拥塞。组减轻影响一个或多个分组的拥塞。

【技术实现步骤摘要】
可编程拥塞控制通信方案
相关申请的交叉引用
[0001]本申请要求于2019年11月14日提交的美国专利申请16/683,302的部分继续申请,其公开内容通过引用并入本文。


[0002]本专利技术一般地涉及分组通信网络,并且具体地涉及用于此类网络中的拥塞控制的方法和系统。

技术介绍

[0003]通信系统中分组流量的拥塞管理很重要,因为不佳的拥塞控制可能会显着影响系统性能。
[0004]行业中使用了一些拥塞控制技术,例如Almeida和Belo在1999年11月21日至24日举行的第10届IEEE局域网和城域网研讨会的“Explicit rate congestion control with binary notifications(使用二进制通知的显式速率拥塞控制)”描述了一种用于分组交换网络的基于速率的源自适应算法,其中向源发送二进制通知,反映源速率和估计公平速率之间的正或负差异,并且基于这些通知,源增加或减少发送速率。
[0005]互联网工程任务组(IETF)RFC 3168,名称为“The Addition of Explicit Congestion Notification(ECN)to IP(将显式拥塞通知(ECN)添加到IP)”,2001年9月,指定将显式拥塞通知(ECN)并入TCP和IP,包括ECN在IP报头中使用两位。

技术实现思路

[0006]在此描述的本专利技术的实施方式提供了一种网络适配器,包括接收(Rx)管道、发送(Tx)管道和拥塞管理电路。Rx管道被配置为接收对等网络适配器通过网络发送的分组,并处理接收到的分组。Tx管道被配置为通过网络将分组发送到对等网络适配器。拥塞管理电路被配置为从Tx管道和从Rx管道接收源自与所述对等网络适配器交换的至少一些分组的拥塞控制(CC)事件,与所述对等网络适配器交换用户可编程的拥塞控制分组,并响应于所述CC事件和所述用户可编程的拥塞控制分组减轻影响一个或多个分组的拥塞。
[0007]在一些实施方式中,所述拥塞影响发送到所述对等网络适配器的分组,并且其中所述拥塞管理电路被配置为根据所述CC事件和所述用户可编程的拥塞控制分组来节流所述Tx管道发送的分组的传输速率。在其他实施方式中,所述拥塞影响从所述对等网络适配器接收的分组,并且其中所述拥塞管理电路被配置为基于所述CC事件和所述用户可编程的拥塞控制分组生成拥塞通知,并将所述拥塞通知发送到所述对等网络适配器。
[0008]在一个实施方式中,所述拥塞管理电路支持应用编程接口(API),用于接收用户定义的拥塞控制(CC)软件代码,并通过运行所述CC软件代码来减轻所述拥塞。在另一个实施方式中,所述可编程拥塞控制分组具有管理数据报(MAD)分组的格式。
[0009]在一些实施方式中,所述拥塞管理电路包括被配置为预处理所述CC事件的硬件拥
塞控制电路,以及被配置为响应于所述预处理的CC事件来减轻所述拥塞的用户可编程拥塞控制处理器。所述硬件拥塞控制电路被配置为合并两个或更多个CC事件,并将所合并的CC事件提供给所述拥塞控制处理器。
[0010]根据本专利技术的一个实施方式,还提供了一种通信方法。该方法包括使用网络适配器的接收(Rx)管道,接收对端网络适配器通过网络发送的分组,并对接收到的分组进行处理。使用所述网络适配器的发送(Tx)管道,通过所述网络向所述对等网络适配器发送分组。使用网络适配器中的拥塞管理电路,从Tx管道和Rx管道接收源自与对等网络适配器交换的至少一些分组的拥塞控制(CC)事件。用户可编程的拥塞控制分组与对等网络适配器交换。响应于CC事件和用户可编程的拥塞控制分组,缓解影响一个或多个分组的拥塞。
[0011]根据本专利技术的实施方式,还提供了一种网络适配器,包括接收(Rx)管道、发送(Tx)管道和管理电路。Rx管道被配置为接收对等网络适配器通过网络发送的分组,并处理接收到的分组。Tx管道被配置为通过所述网络向所述对等网络适配器发送分组。管理电路被配置为从所述Tx管道和所述Rx管道接收源自与所述对等网络适配器交换的至少一些分组的事件,与所述对等网络适配器交换用户可编程的控制分组,并响应于所述事件和所述用户可编程的控制分组执行控制操作。
[0012]根据本专利技术的一个实施方式,还提供了一种通信方法,包括使用网络适配器的接收(Rx)管道,接收对等网络适配器通过网络发送的分组,并对接收到的分组进行处理。使用所述网络适配器的发送(Tx)管道,通过所述网络向所述对等网络适配器发送分组。使用网络适配器中的管理电路,从Tx管道和Rx管道接收源自与对等网络适配器交换的至少一些分组的事件。用户可编程的控制分组与对等网络适配器交换。响应于事件和用户可编程的控制分组执行控制操作。
[0013]本专利技术将通过以下对其实施方式的详细描述并结合附图而得到更全面的理解,其中:
附图说明
[0014]图1是示意性地示出了根据本专利技术的实施方式的使用具有拥塞缓解的融合以太网(RoCE)上的远程直接存储器访问(RDMA)的系统的框图;
[0015]图2是示意性地示出了根据本专利技术实施方式的网络适配器的结构的框图;
[0016]图3是示意性地示出了根据本专利技术实施方式的拥塞控制管理数据报(CC

MAD)的结构的表格;
[0017]图4A是示意性地示出了根据本专利技术实施方式的被配置为反应点(RP)的网络适配器中的拥塞控制流程的流程图;以及
[0018]图4B是示意性地示出了根据本专利技术实施方式的被配置为通知点(NP)的网络适配器中的拥塞控制流程的流程图。
具体实施方式
[0019]概述
[0020]传输控制协议(TCP)于1974年推出,但其拥塞控制(CC)算法不断发展。CC算法响应于源接收的拥塞通知,更改来自发送分组的源(例如,源节点中的网络适配器)的分组发送
速率。拥塞通知通常添加到分组流中(作为单独的分组,或作为现有分组中的附加信息)。当分组到达它们的目的地(例如,目的地节点中的网络适配器)时,目的地将拥塞通知发送回源,这可能会降低响应通知的发送速率(如果没有接收到拥塞通知,则增加速率)。
[0021]已经(并且仍然)建议了许多CC算法,这些算法与响应于拥塞通知的发送速率设置有关(例如,参见美国专利7,000,025)。CC算法可以是例如面向流的,并且响应于关于相同流的分组的拥塞通知,可以独立地控制每个分组流的速率。
[0022]拥塞控制(CC)算法可由运行在主机处理器上的软件或专用硬件执行。在主机上实现软件有一些主要缺点。首先,主机软件实现通常表现出由处理拥塞通知所需的上下文切换引起的长延迟;其次,主机软件实现消耗大量CPU资源;最后,由主机软件执行的算法需要网络适配器和主机之间通过总线进行通信。另一方面,软件实现通常很灵活,允许轻松适应新的CC算法和改变网络配置,而硬件实现往往是僵化的,难以修改。
[0023]高效的拥塞控制算法可能需要测量网络的往返延迟,其从发送网络适本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络适配器,包括:接收(Rx)管道,所述接收(Rx)管道被配置为接收对等网络适配器通过网络发送的分组,并对接收到的分组进行处理;发送(Tx)管道,所述发送(Tx)管道被配置为通过所述网络向所述对等网络适配器发送分组;以及拥塞管理电路,所述拥塞管理电路被配置为从所述Tx管道和所述Rx管道接收源自与所述对等网络适配器交换的至少一些所述分组的拥塞控制(CC)事件,与所述对等网络适配器交换用户可编程的拥塞控制分组,并响应于所述CC事件和所述用户可编程的拥塞控制分组减轻影响一个或多个所述分组的拥塞。2.根据权利要求1所述的网络适配器,其中所述拥塞影响发送到所述对等网络适配器的所述分组,并且其中所述拥塞管理电路被配置为根据所述CC事件和所述用户可编程的拥塞控制分组来节流所述Tx管道发送的所述分组的传输速率。3.根据权利要求1所述的网络适配器,其中所述拥塞影响从所述对等网络适配器接收的所述分组,并且其中所述拥塞管理电路被配置为基于所述CC事件和所述用户可编程的拥塞控制分组生成拥塞通知,并将所述拥塞通知发送到所述对等网络适配器。4.根据权利要求1所述的网络适配器,其中所述拥塞管理电路支持应用编程接口(API),用于接收用户定义的拥塞控制(CC)软件代码,并通过运行所述CC软件代码来减轻所述拥塞。5.根据权利要求1所述的网络适配器,其中所述可编程拥塞控制分组具有管理数据报(MAD)分组的格式。6.根据权利要求1所述的网络适配器,其中所述拥塞管理电路包括被配置为预处理所述CC事件的硬件拥塞控制电路,以及被配置为响应于所述预处理的CC事件来减轻所述拥塞的用户可编程拥塞控制处理器。7.根据权利要求6所述的网络适配器,其中所述硬件拥塞控制电路被配置为合并两个或更多个所述CC事件,并将所合并的CC事件提供给所述拥塞控制处理器。8.一种通信方法,包括:使用网络适配器的接收(Rx)管道,接收对端网络适配器通过网络发送的分组,并对接收到的分组进行处理;使用所述网络适配器的发送(Tx)管道,通过所述网络向所述对等网络适配器发送分组;和使用所述网络适配器中的拥塞管理电路,从所述Tx管道和所述Rx管道接收源自与所述对等网络适配器交换的至少一些所述分组的拥塞控制(CC)事件,与所述对等网络适配器交换用户可编程的拥塞控制分组,并响应于所述CC事...

【专利技术属性】
技术研发人员:尤瓦尔
申请(专利权)人:迈络思科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1