一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多主机网络适配器中的拥塞控制度量的制作方法

2021-11-05 18:50:00 来源:中国专利 TAG:


1.本发明总体上涉及数据通信,尤其涉及用于避免多主机网络适配器中的入口拥塞的方法和系统。


背景技术:

2.多主机计算机包括多个主机处理器,其通常共享单个网络适配器(“多主机网络适配器”)的资源,以访问通信网络。美国专利10,148,746描述了一种多主机网络适配器,包括耦合到网络中的交换机的端口和耦合到网络节点的电路。
3.例如,如果目的地主机正在缓慢地从网络适配器读取分组,则多主机网络适配器接收到的目的地为共享网络适配器的多个主机之一的入口分组可能会经历拥塞。例如,在美国专利7,796,507中描述了用于入口分组的拥塞管理技术,该专利描述了一种在通信网络节点处进行拥塞控制的方法,包括在节点处监视入口数据的拥塞状况并响应于检测到入口数据拥塞来降低入口数据速率。


技术实现要素:

4.本文描述的本发明的实施方式提供了一种网络适配器,该网络适配器包括主机接口、网络接口、存储器和分组处理电路。主机接口被配置为连接到多个主机处理器。网络接口被配置为通过网络传送分组。存储器被配置为保持(i)共享缓冲器和(ii)分配给所述多个主机处理器的多个队列。分组处理电路耦合在所述主机接口和所述网络接口之间,并配置为从所述网络接口接收目的地为所述主机处理器的数据分组,将至少一些所述数据分组的净荷存储在所述共享缓冲器中,将至少一些所述数据分组的报头分配给所述队列,并且通过在所述队列之中应用调度,将所述数据分组提供给所述主机处理器,在所述主机处理器之中检测目的地为给定主机处理器的数据分组中的拥塞并响应于所检测到的拥塞,减轻目的地为所述给定主机处理器的数据分组中的拥塞,同时保留目的地为其他主机处理器的数据分组的不间断处理。
5.在一些实施方式中,所述分组处理电路被配置为基于所检测到的拥塞,通过拒绝接纳一个或多个数据分组进入所述共享缓冲器来减轻所述拥塞。在示例实施方式中,所述分组处理电路被配置为随机选择被拒绝接纳进入所述共享缓冲器的数据分组。
6.在一些实施方式中,所述分组处理电路被配置为通过使所述给定主机处理器向所述网络发送拥塞通知分组来减轻所述拥塞。在一个实施方式中,所述分组处理电路被配置为通过在目的地为所述主机处理器的至少一个数据分组的报头中设置显式拥塞通知(ecn)位来使所述给定主机处理器向所述网络发送所述拥塞通知分组。
7.在另一实施方式中,所述分组处理电路被配置为通过向所述网络发送拥塞通知分组来减轻所述拥塞。在又一实施方式中,所述分组处理电路还被配置为接收针对所述主机处理器中的至少一个主机处理器的一个或多个服务质量度量,以及响应于所述服务质量度量来减轻所述拥塞。在又一实施方式中,所述分组处理电路还被配置为接收针对至少两个
分组流的服务质量度量,并且响应于所述服务质量度量来减轻所述拥塞。
8.根据本发明的实施方式,还提供了一种网络适配器,其包括主机接口、网络接口、存储器和分组处理电路。主机接口被配置为连接到运行多个工作负载的主机。网络接口被配置为通过网络传送分组。存储器被配置为保持(i)共享缓冲器和(ii)分配给所述多个工作负载的多个队列。分组处理电路耦合在所述主机接口和所述网络接口之间,并配置为从所述网络接口接收目的地为所述工作负载的数据分组,将至少一些所述数据分组的净荷存储在所述共享缓冲器中,将至少一些所述数据分组的报头分配给所述队列,并且通过在所述队列之中应用调度,将所述数据分组提供给所述工作负载,在所述主机处理器之中检测目的地为给定工作负载的数据分组中的拥塞,并响应于所检测到的拥塞,减轻目的地为所述给定工作负载的数据分组中的拥塞,同时保留目的地为其他工作负载的数据分组的不间断处理。
9.根据本发明的实施方式,还提供了一种连接到多个主机处理器和网络的网络适配器中的方法。该方法包括在存储器中保持(i)共享缓冲器和(ii)分配给所述多个主机处理器的多个队列。从所述网络接口接收目的地为所述主机处理器的数据分组。将至少一些所述数据分组的净荷存储在所述共享缓冲器中。将至少一些所述数据分组的报头分配给所述队列。通过在所述队列之中应用调度,将所述数据分组提供给所述主机处理器。在所述主机处理器之中检测目的地为给定主机处理器的数据分组中的拥塞。响应于所检测到的拥塞,减轻目的地为所述给定主机处理器的数据分组中的拥塞,同时保留目的地为其他主机处理器的数据分组的不间断处理。
10.根据本发明的实施方式,还提供了一种连接到主机和网络的网络适配器中的方法。该方法包括在存储器中保持(i)共享缓冲器和(ii)分配给所述主机上运行的多个工作负载的多个队列。从所述网络接收目的地为所述工作负载的数据分组。将至少一些所述数据分组的净荷存储在所述共享缓冲器中。将至少一些所述数据分组的报头分配给所述队列。通过在所述队列之中应用调度,将所述数据分组提供给所述工作负载。在所述主机处理器之中检测目的地为给定工作负载的数据分组中的拥塞。响应于所检测到的拥塞,减轻目的地为所述给定工作负载的数据分组中的拥塞,同时保留目的地为其他工作负载的数据分组的不间断处理。
11.通过下面结合附图对实施方式的详细描述,可以更全面地理解本发明,其中:
附图说明
12.图1是示意性地示出了根据本发明实施方式的多主机计算机的框图;
13.图2是示意性地示出了根据本发明实施方式的多主机网络适配器中的入口处理电路的框图;
14.图3是示意性地示出了根据本发明实施方式的共享缓冲器的结构的框图;
15.图4是示意性地示出了根据本发明实施方式的三个流的丢弃/发送拥塞通知分组(cnp)概率的图;以及
16.图5是示意性地示出了根据本发明实施方式的用于在多主机网络适配器中减轻拥塞的方法流程图。
具体实施方式
17.概述
18.多主机网络适配器(mhna)有助于网络连接到多个主机,例如,多主机计算机中的主机处理器。每个主机可以独立于其他主机通过全局总线(例如,快速外围组件互连(pcie))访问mhna。mhna应该在主机之间强制执行服务质量(qos);应确保与网络通信的主机的等待时间和带宽受其他主机通信的影响最小;并且应允许主机有效利用mhna资源。
19.mhna应该解决的关键方面之一是智能拥塞管理。连接到mhna的主机可能不会相互了解,并且主机的性能不应影响其他主机的性能。具体地,应该避免队列头阻塞,其中目的地为繁忙主机的分组会阻止转发目的地为其他主机的其他分组。当发生拥塞时,mhna应该隔离拥塞的主机(可能隔离主机内部的拥塞流),以使未拥塞的主机或流继续进行网络通信而几乎没有影响或没有影响;此外,mhna应采取流量控制动作,以减轻受影响的主机或分组流的拥塞,而又不破坏其他主机或流。
20.在此公开的本发明的实施方式提供了一种mhna,该mhna有效地促进了对彼此独立的多个主机的网络访问;mhna通过控制分组流来减轻拥塞,从而使未拥塞的主机几乎不受影响。在实施方式中,mhna支持针对各种主机以及针对目的地为主机的分组流的qos设置。
21.在一些实施方式中,mhna的入口路径包括共享缓冲器,该共享缓冲器被动态地划分为随机存取存储器(ram)中的缓冲器,其中每个缓冲器存储目的地为各个主机的各个分组流的分组。mhna管理共享缓冲器,并跟踪每个缓冲器的已用缓冲器空间量。如果任何缓冲器拥塞(例如,已占用空间接近缓冲器的容量),则mhna可以采取拥塞减轻动作,而不会影响其他缓冲器(因此也不会影响其他主机或流)。
22.在实施方式中,共享缓冲器包括被静态分配给分组流和/或主机的缓冲器,以及被动态分配给从所分配的缓冲器溢出的分组的公共缓冲器,或者没有缓冲器被分配到的分组的公共缓冲器。在实施方式中,缓冲器控制电路被配置为管理共享缓冲器和公共缓冲器,并且将分组的读取和写入引导到ram中的相应地址。在一些实施方式中,共享缓冲器被配置为监视缓冲器的占用,并发送针对共享缓冲器以及与每个分组流相对应的缓冲器的拥塞指示。
23.在一些实施方式中,入口分组首先进入净空缓冲器,其中存储分组,直到队列允许电路决定分组是否将被丢弃或被允许接纳进入共享缓冲器(净空缓冲器可以仅存储分组的一部分)。如果分组被接纳,则分组报头(或分组报头的表示)分别根据分组流进入多个队列之一。
24.mhna内的仲裁器被配置为从队列之一中选择报头(或报头的表示),并控制共享缓冲器将相应的分组输出到目的地主机。
25.在实施方式中,在拥塞的情况下,mhna可以采取任何或全部以下拥塞减轻动作:
26.a)将拥塞指示添加到入口分组。例如,在数据报头中设置显式拥塞通知(ecn)位。这可能导致目的地主机在响应分组中回显拥塞通知,或者向发送入口分组的对等网络源发送拥塞通知分组(cnp);
27.b)直接向对等网络源发送cnp;
28.c)丢弃入口分组(对等网络源可能会间接检测到目的地处的拥塞,并降低传输速率)。
29.在一些实施方式中,响应于拥塞度量来确定采取哪种拥塞减轻动作的决定。例如,如果拥塞度量高于第一阈值并且低于较高的第二阈值,则mhna可以采取动作a);如果拥塞度量在第二阈值和高于第二阈值的第三阈值之间,则mhna可以采取动作b);以及如果拥塞度量高于第三阈值,则mhna可以采取以上动作c)(如果拥塞度量低于第一阈值,则mhna将不采取拥塞减轻动作)。
30.在实施方式中,采取上述拥塞减轻动作的决定还取决于随机选择测试。例如,如果拥塞度量高于第三阈值,则mhna将运行随机选择测试,并仅在决定通过随机选择测试时才决定丢弃分组。
31.在实施方式中,对随机选择测试进行加权,其中与高qos流或高qos主机相对应的分组比与低qos流/主机相对应的分组具有更低的被选择的概率。
32.在一些实施方式中,所公开的技术被应用在单主机环境中。在这样的实施方式中,网络适配器服务于具有多个工作负荷的主机,例如,多个虚拟机(vm),多个进程和/或多个分组流。网络适配器管理分配给多个工作负载的多个队列。所公开的拥塞控制方案被应用于多个队列。
33.参考示例实施方式,将在下文的系统描述中公开更多细节。
34.系统描述
35.图1是示意性地示出了根据本发明实施方式的多主机计算机100的框图。多主机计算机100包括多个主机处理器102,其通过共享的多主机网络适配器(mhna)104与诸如以太网或infiniband
tm
的通信网络进行通信。
36.mhna 104包括网络接口106,其被配置为通过网络传送分组,并且包括入口和出口端口(未示出);以及主机接口108,其被配置为与主机处理器102通信;入口处理电路110,其被配置为管理mhna经由网络接口从网络接收的入口分组;出口电路112,其被配置为管理mhna经由网络接口发送给网络的出口分组。(出口电路112的结构和功能在下文的公开中没有描述;多主机出口电路的配置对于本领域技术人员来说应该是已知的。)
37.入口处理电路110包括分组处理器114,其被配置为响应于分组报头来处理入口分组;以及共享缓冲器116,其被配置为临时存储入口分组;以及净空缓冲器118,其被配置为将入口分组转发到共享缓冲器。
38.如果分组处理器在共享缓冲器116中存储新的入口分组的速率高于分组处理器从共享缓冲器向对应的主机102发送分组的速率,则共享缓冲器可能被拥塞,并且当在共享缓冲器中没有更多空间时,分组可能被丢弃。
39.在根据本发明的实施方式中,分组处理器监视共享缓冲器的拥塞度量(例如,所占用的缓冲器空间除以总缓冲器空间的比率),并且可以响应于该拥塞度量来减轻该拥塞。在一些实施方式中,为了减轻拥塞,分组处理器可以通过请求出口电路112发送cnp或者通过向目的地主机指示入口分组流被拥塞(例如,通过在分组中设置显式拥塞通知(ecn)位)来发起向源网络元件发送拥塞通知分组(cnp),从而使主机发送cnp。
40.在实施方式中,mhna接收到的分组可以基于诸如源和目的地(后者通常包括目的地为主机102的分组流的分组)的分组报头的字段而被分类为分组流。可以向分组流分配不同的服务质量(qos)速率,因此,分组处理器被配置为向不同的分组流分配不同的优先级。
41.分组处理器可以将共享缓冲器116中的更多存储区域分配给优先级较高的分组流
的分组。另外,如果共享缓冲器中发生拥塞,则分组处理器可以响应于分组流的优先级来减轻拥塞。例如,分组处理器可以向高优先级分组流的发送方发送较少的cnp分组。
42.由于将来自多个分组队列的,目的地为一个以上主机的分组路由到共享缓冲器,并且彼此独立地进行处理,因此避免了队列头阻塞(例如,被拥塞的单个队列阻塞所有队列)。这种解决队列头阻塞的解决方案称为虚拟输出队列或voq。
43.总之,根据本发明的mhna允许多个主机通过网络进行通信。超出本公开范围的出口电路管理出口分组。入口数据分组临时存储在共享缓冲器中,并且mhna响应于分组流的qos管理拥塞。
44.如将意识到的,通过示例的方式引用了图1中示出并在上文中描述的多主机计算机100和mhna 104。在替代实施方式中,可以使用各种合适的结构。例如,主机接口108可以是快速外围组件互连(pcie)接口,其中主机102经由pcie总线耦合到mhna;其他组件(例如,存储器)可以连接到主机102和/或mhna104。在某些实施方式中,mhna 104可以被配置为通过网络和/或主机102发送镜像和/或其他诊断消息。
45.在实施方式中,主机102通常包括可编程处理器,该可编程处理器以软件编程以执行本文描述的功能。该软件可以例如通过网络以电子形式下载到处理器,或者可以替代地或附加地被提供和/或存储在诸如磁性,光学或电子存储器的非暂时性有形介质上。
46.图2是示意性地示出根据本发明实施方式的mhna中的入口处理电路110的框图。入口处理电路包括分组处理器114,净空缓冲器118和共享缓冲器116(它们全部也在图1中示出)。分组处理器114包括队列接纳电路202,其被配置为批准或拒绝分组的接纳;输出队列204(其包括多个队列206);以及仲裁器208。
47.分组处理器从网络接口106(图1)接收分组,并将分组存储在净空缓冲器118中,净空缓冲器118被配置为临时存储分组(或其一部分),直到队列接纳电路响应于分组报头的一个或多个字段决定批准还是拒绝接纳分组(分别称为接纳分组或丢弃分组)。如果队列接纳电路决定丢弃分组,则将忽略存储在净空缓冲器中的分组(如果仅部分分组存储在净空缓冲器中,则将忽略尚未从网络接口接收到的该分组的该部分和其余部分)。如果队列接纳电路202决定接纳分组,则分组处理器将把分组存储在共享缓冲器116中,并将分组报头(或其表示)存储在输出队列204的队列206之一中。响应于分组报头的一个或多个字段,由队列接纳电路选择队列。在多播分组的情况下,可以选择多于一个的队列。
48.仲裁器208被配置为从队列206之一中选择分组报头(或分组报头表示),并且对应于该选择,控制共享缓冲器116将对应的分组发送到目的地主机处理器102(图1)。在一些实施方式中,仲裁器208是循环(例如,赤字

循环(drr))选择器;在其他实施方式中,仲裁器208基于优先级来选择队列204,该仲裁器分别计算相应分组流的qos,相应分组流的拥塞度量,队列206的长度和随机性因素中的一个或多个。
49.共享缓冲器116还被配置为监视拥塞并将拥塞度量发送到分组处理器。在实施方式中,拥塞度量可以是占用的缓冲器空间的大小;在另一实施方式中,该度量可以是对应于占用的缓冲器空间的大小的任何值,例如,占用的缓冲器空间与总缓冲器空间之间的比率。在一些实施方式中,拥塞度量可以包括与共享缓冲器的部分的占用的缓冲器空间相对应的多个值,其可以被分配给分组流和/或目的地主机处理器。
50.响应于拥塞度量,分组流的qos和随机选择电路,分组处理器可以丢弃传入的分
组,或者通过请求出口电路112发送cnp或通过向目的地主机指示拥塞(例如,通过在分组报头中设置显式拥塞通知(ecn)位)从而使主机发送cnp来向源网络元件发起发送拥塞通知分组(cnp)。
51.在一些实施方式中,分组处理器丢弃分组或发起与随机选择电路相对应的cnp,类似于随机早期检测(red)或加权早期检测(wred)(例如,参见cisco ios服务质量解决方案配置指南,2014年1月30日更新的版本12.2,避免拥塞章节)。换句话说,分组处理器基于拥塞度量,分组流的qos和随机测试来决定采取拥塞减轻度量,例如丢弃分组或发送cnp。随机测试可以是加权随机的,其中对于高qos流的分组采取拥塞减轻动作的概率较低。
52.如将意识到的,通过示例的方式引用了图2中示出并且在上文中描述的分组处理器114。在替代实施方式中,可以使用各种合适的结构。例如,在一些实施方式中,分组处理器114可以响应于高qos流中的拥塞,控制共享缓冲器116以增加分配给高qos流的缓冲器空间。
53.图3是示意性地示出根据本发明的实施方式的共享缓冲器116(图2)的结构的框图。共享缓冲器包括ram 302,例如静态随机存取存储器(sram)或动态随机存取存储器(dram),其被划分为公共缓冲器304和分配给不同分组流的多个缓冲器306。ram 302对缓冲器的划分,包括缓冲器的数目和分配给每个缓冲器的大小,可以偶尔通过软件或通过硬件控制来改变。在任何时间段,ram 302还可以包括未分配给任何缓冲器的空间和/或分配给其他目的的空间,这超出了本公开的范围。
54.公共缓冲器304可以增加缓冲器分配的灵活性;例如,如果分配给分组流的缓冲器已满,则多余的分组可能存储在公共缓冲器中。在一些实施方式中,mhna静态地分配缓冲器306(例如,在系统重启时),并且动态地将公共缓冲器304的部分分配给缓冲器306的拥塞缓冲器。在其他实施方式中,可以使用其他合适的算法来决定何时将分组存储在共享缓冲器中。
55.缓冲器控制电路308监视并控制缓冲器。缓冲器控制可以为每个缓冲器306存储指向写地址,读地址,缓冲器空间的开始和缓冲器空间的结束的指针。因此,当共享缓冲器116接收到将被存储在缓冲器306之一中的分组时,缓冲器控制将从对应缓冲器中的下一个空闲位置开始,环绕缓冲器边界,为输入分组生成写地址,并且相应地前进写指针。类似地,当从共享缓冲器读取分组流的分组时,缓冲器控制308将生成读地址,并更新读指针。
56.缓冲器控制308还针对完整共享缓冲器和/或每个缓冲器306计算与写和读指针相对应的拥塞度量;共享缓冲器将拥塞度量发送到分组处理器114(图1)。
57.可以类似于对缓冲器306的控制和监视来完成对公共缓冲器304的控制和监视(即,

公共缓冲器304可以包括分配给来自缓冲器306的溢出的子缓冲器;子缓冲器由缓冲器控制308控制)。对于部分存储在缓冲器306中并且部分存储在公共缓冲器304中的分组流,缓冲器控制308可以生成拥塞控制,其将公共缓冲器304和分配的缓冲器306中的相应拥塞进行聚合。
58.如将意识到的,通过示例的方式引用了图3中示出并且在上文中描述的共享缓冲器116。在替代实施方式中,可以使用各种合适的结构。例如,在一些实施方式中,ram 302可以包括多个存储器;在实施方式中,ram 302包括较慢的大ram和存储频繁访问的条目的高速缓冲存储器;在一些实施方式中,ram 302被划分为段,并且可变数量的段可以被分配给
每个分组流。在实施方式中,没有公共缓冲器。在一些实施方式中,如果同时服务的分组流的数量大于缓冲器306的数量,则两个或更多个分组流可以共享相同的缓冲器302。
59.图4是示意性地示出了根据本发明的实施方式的三个流的丢弃/发送cnp概率的图表400。该图表绘制了针对三种不同的分组流(a,b和c)采取拥塞减轻动作(例如,丢弃数据分组或发送cnp)的概率。
60.垂直轴402表示从0到1的概率。水平轴404表示相应队列的平均大小(以分组或字节为单位)。曲线图406绘制了针对分组流a采取拥塞减轻动作的概率,曲线图408绘制了分组流b的概率,而曲线图410绘制了分组流c的概率。对于三个流中的每一个,定义了三个参数

最小阈值,最大阈值和最大概率。根据图4所示的示例实施方式,采取拥塞减轻动作的概率为:
61.p=(qs<minth)?0:(qs>maxth)?1:(qs

minth)*斜率
62.其中qs是队列大小,minth是最小阈值,maxth是最大阈值,maxpr是最大概率,并且斜率=maxpr/(maxth

minth)。
63.可以将不同的minth,maxth和maxpr分配给各种分组流(并因此分配给每个主机102)。可以响应于流的qos来设置参数,并且可以针对新的流或者响应于网络适配器可以运行的性能监视而动态地改变参数。可以分别设置用于不同拥塞减轻动作的参数(例如,分组丢弃,向出口电路发送cnp的指示以及向目的地主机发送cnp的指示)以及不同的分组流。
64.如将意识到的,通过示例的方式引用了图4所示的图表。可以使用表示采取拥塞减轻度量的概率的其他合适的图表。例如,在一些实施方式中,概率可以是队列大小的非线性函数,而在另一个实施方式中,概率可以是非线性函数的分段线性近似。
65.图5是示意性地示出了根据本发明的实施方式的用于在多主机网络适配器中减轻拥塞的方法的流程图500。该流程图由分组处理器114(图1)执行,并且在确定阈值步骤502开始,其中分组处理器针对各种分组流确定拥塞减轻的阈值。
66.接下来,数据分组处理器在接收分组步骤504,从网络接口106(图1)接收下一个数据分组,并进入提取参数步骤506。
67.在步骤506中,分组处理器从分组报头提取包括目的地主机和分组流的流特性,并且提取全局拥塞度量(例如,共享缓冲器116的总占用空间)。
68.图5中所示的方法使用了三个阈值

th1、th2和th3,其中th1>th2>th3。在检查第一阈值步骤508,分组处理器检查全局拥塞度量是否大于th1。如果是,则分组处理器进入随机选择步骤510,并在丢弃分组步骤512中随机确定是丢弃分组,还是绕过步骤512。th1指示高度拥塞,这意味着共享缓冲器中的空白空间快要用尽。为了防止高qos流分组的丢弃,与高qos流的分组相比,随机选择步骤510更可能丢弃低qos流的分组。这是通过设置当前分组流的minth、maxth和maxpr(图4)来实现的。
69.如果在步骤508中拥塞度量不高于th1,则分组处理器进入检查第二阈值步骤514,并且检查拥塞度量是否高于th2。如果是,则分组处理器将进入随机选择步骤516,其与步骤510类似,但是具有不同的随机选择参数,然后,与随机选择相对应,进入或跳过发送cnp步骤518。在步骤518中,处理器然后将发送

cnp指示(例如,在分组报头中设置ecn位)发送到出口电路112(图1)。
70.如果在步骤514中拥塞度量不高于th2,则分组处理器进入检查第三阈值步骤520,
并且检查拥塞度量是否高于th3。如果是,则分组处理器将进入随机选择步骤522,其类似于步骤510和步骤516,但是具有不同的随机选择参数,然后,与随机选择相对应,进入或跳过发送拥塞通知步骤524。在步骤524中,处理器向目的地主机发送拥塞通知(例如,标记接收到的分组的报头);当目的地主机接收到该指示时,可以将cnp分组发送到源网络单元。
71.在以下情况下,分组处理器将重新进入步骤504以接收下一个分组:
72.i)在步骤520中,如果拥塞度量不大于th3;
73.ii)遵循步骤512、518、524;
74.iii)如果在步骤510、516、522中没有选择分组。
75.在步骤510、512、522中的任何一个或全部中使用的随机选择算法可以类似于wred,并且具有取决于以下例如图4的曲线图的拥塞度量的丢弃概率。
76.应该注意的是,主机并非总是能够发送cnp(例如,不支持tcp)。在那些情况下,步骤520应该始终在执行重新输入步骤504之后。例如,可以通过设置th3<th2来完成。
77.总之,根据图5所示的示例实施方式,分组处理器根据拥塞的严重性和分组流的qos采取拥塞减轻动作;对于最严重的拥塞,数据分组将被随机丢弃;对于中等严重程度的拥塞,数据分组处理器会随机控制出口电路发送cnp,对于最不严重的拥塞,数据分组处理器会向目的地主机随机指示拥塞,而主机又会将cnp发送到源网络元件。在这两种情况下,都将对应于分组流的qos确定采取拥塞减轻动作的可能性

高qos分组的丢弃频率降低,导致出口电路发送cnp的频率降低,并且向目的地主机指示拥塞的频率降低(发送cnp的频率降低)。
78.可以理解,通过示例的方式引用在图5的示例实施方式中示出并在上面描述的流程图。在替代实施方式中可以使用其他合适的流程图。例如,可以同时进行步骤508、514和520,其中将拥塞度量与三个阈值进行比较,随后是随机选择步骤以及根据阈值比较结果的丢弃,发送cnp或发送拥塞通知步骤之一。在一些实施方式中,在步骤508、514、520、510、516和522中的一个或全部中,可以使用相应流的拥塞度量而不是全局拥塞。
79.单主机系统中的拥塞控制
80.在本发明的其他实施方式中,可以在主机运行多个工作负载的单主机系统中使用上述技术。工作负载的非限制性示例包括虚拟机(vm)、进程和分组流。例如,所公开的拥塞控制方案还可以用于目的地为网络的发夹流量中(在网络适配器中重新路由之后)。
81.在一些实施方式中,网络适配器服务于单个主机,并且管理分配给各种工作负载的入口流量的多个队列。例如,在多vm系统中,每个vm可以具有专用队列,并且所公开的拥塞控制技术可以应用于vm队列而不是主机队列。在其他实施方式中,该技术可以应用于具有vm进程的应用队列,并且在其他实施方式中,例如,所公开的技术可以应用于分配给不同流类型的队列(例如,将单独的队列分配给视频分组)。
82.如图1至图5所示的mhna的配置(包括其单元和子单元,流程图和概率图是示例配置和图表,其纯粹出于概念清楚的目的而进行了描述。在替代实施方式中,可以使用任何其他合适的配置和图表。可以使用适当的硬件(例如,在一个或多个专用集成电路(asic)或现场可编程门阵列(fpga)中),使用软件或使用硬件和软件元件的组合来实现不同的mhna元件。
83.将理解的是,上述实施方式是作为示例引用的,并且本发明不限于以上已经具体
示出和描述的内容。相反,本发明的范围包括上述各种特征的组合和子组合,以及本领域技术人员在阅读前述说明后将想到的并且在现有技术中未公开的其变型和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献