CN107171980B - 网络交换机中的灵活的缓冲区分配 - Google Patents

网络交换机中的灵活的缓冲区分配 Download PDF

Info

Publication number
CN107171980B
CN107171980B CN201710107966.9A CN201710107966A CN107171980B CN 107171980 B CN107171980 B CN 107171980B CN 201710107966 A CN201710107966 A CN 201710107966A CN 107171980 B CN107171980 B CN 107171980B
Authority
CN
China
Prior art keywords
packet
types
packets
buffer
data packets
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
CN201710107966.9A
Other languages
English (en)
Other versions
CN107171980A (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.)
Mellanox Technologies Ltd
Original Assignee
Mellanox Technologies TLV 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 Mellanox Technologies TLV Ltd filed Critical Mellanox Technologies TLV Ltd
Publication of CN107171980A publication Critical patent/CN107171980A/zh
Application granted granted Critical
Publication of CN107171980B publication Critical patent/CN107171980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal

Abstract

本发明公开了网络交换机中的灵活的缓冲区分配。通信装置包括多个接口,其被配置为连接到包数据网络,以用于接收和转发多种类型的数据包。存储器耦合到接口并被配置为缓冲区,以容纳等待经由出接口传输到网络的同时通过入接口接收的包。包处理逻辑被配置为保持与出接口中的相应出接口相关联的多个传输队列,并被配置为将与第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在缓冲区中分配相应的空间,以对照被分别指派给第一类型和第二类型的数据包的单独的第一缓冲区分配和第二缓冲区分配来储存第一数据包和第二数据包。

Description

网络交换机中的灵活的缓冲区分配
发明领域
本发明大体上涉及包通信网络,特别是涉及被部署在这样的网络中的交换机中的缓冲区管理。
背景
用在诸如以太网和InfiniBand网络的高速包网络中的交换机通常包含缓冲存储器。由交换机通过其接口中的一个所接收的包在等待转移到适当的出接口或者在多播包的情况下可能被转移到多个出接口的同时被暂时储存在缓冲存储器中。虽然缓冲存储器可被静态分配到每个接口,但许多现代的包交换机使用共享存储器,其中缓冲区空间根据流量负载和存储器可用性以及在交换机中的处理之后所设置的包优先级和包入口优先级被灵活分配给不同的接口和队列。
作为一个示例,美国专利申请公开2013/0250762描述了一种用于实现对于共享缓冲池的多个端口的无损行为的方法。包被“着色”并被储存在共享的包缓冲区中,而不分配每端口固定的页面分配。
概述
下文中所描述的本发明的实施例提供了用于网络元件中的缓冲区管理的改进的方法和装置。
因此,根据本发明的实施例,提供了包括多个接口的通信装置,该多个接口被配置为连接到包数据网络,以便用作通过该装置从网络接收多种类型的数据包的入接口和将其转发到该网络的出接口,该多种类型包括至少第一类型和第二类型。存储器耦合到接口并被配置为缓冲区,以容纳在等待经由出接口传输到网络的同时通过入接口接收的包。包处理逻辑被配置为保持与出接口中的各自出接口相关联的多个传输队列,并被配置为将与第一和第二类型的第一和第二数据包对应的第一和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在缓冲区中分配各自的空间,以对照单独的第一和第二缓冲区分配储存第一和第二数据包,该第一和第二缓冲区分配被分别分配给第一类型和第二类型的数据包。
在一个实施例中,第一类型的数据包由单播包组成,而第二类型的数据包由多播包组成。另外地或可选地,第一类型和第二类型的数据包使用各自不同的第一传输协议和第二传输协议来传输。
通常,包处理逻辑被配置为,当给定的队列条目到达共同的传输队列的头部时,通过给定的出接口传输对应的数据包并释放第一缓冲区分配和第二缓冲区分配的相应一个缓冲区中的对应的空间。
在一些实施例中,第一缓冲区分配在与多个不同的出接口相关联的多个传输队列上共享,第一类型的数据包通过该多个不同的出接口被传输。
另外地或可选地,多个传输队列包括至少两个传输队列,该至少两个传输队列都与相同的给定的出接口相关联并具有各自不同的服务质量的水平,并且不同的第一类型和第二类型的第一数据包和第二数据包具有共同的服务质量的水平。
在所公开的实施例中,包处理逻辑被配置为,响应于第一缓冲区分配和第二缓冲区分配的各自的填充水平(fill level),分别将拥塞避免机制应用到第一类型和第二类型的数据包。
根据本发明的实施例,还提供了用于通信的方法,该方法包括通过网络元件的入接口接收包括至少第一类型和第二类型的多种类型的数据包。在网络元件中的缓冲区内的相应的空间被分配以对照单独的第一缓冲区分配和第二缓冲区分配来存储第一数据包和第二数据包,该单独的第一缓冲区分配和第二缓冲区分配被分别指派给第一类型和第二类型的数据包,同时该数据包等待经由网络元件的出接口传输到网络。在网络元件中,保持多个传输队列,该多个传输队列与出接口中的相应出接口相关联。分别与第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者被放置在共同的传输队列中,以用于通过给定的出接口传输。当对应的队列条目到达共同的传输队列的头部时,第一数据包和第二数据包中的每个通过给定的出接口来传输。
根据结合附图进行的本发明的实施例的以下详细描述,本发明将得到更完全地理解,其中:
附图简述
图1是根据本发明的实施例示意性图示具有共享缓冲区的交换机的框图;
图2是根据本发明的实施例示意性图示数据包通过交换机的流的框图;以及
图3是根据本发明的实施例示意性示出交换机中的包处理逻辑的细节的框图。
实施例的具体描述
在本领域中已知的诸如交换机的网络元件中,排队和缓冲通常紧密耦合在一起。换句话说,当包进入给定的传输队列以通过交换机的某出接口传输时,包占用与该队列相关联的缓冲区空间中的槽,直至该包被传输。因此,例如,当不同类型的包(诸如广播、多播包和单播包、或使用不同协议传输的包,例如TCP包和UDP包)共享相同的传输队列时,它们也必定共享相同的缓冲区分配。因此,当一种类型的高流量引起给定的传输队列上的拥塞时,所产生的拥塞避免措施(诸如丢弃或标记包或者在入端口上施加反压力)也将应用到共享传输队列的其他类型的包。
本文中所描述的本发明的实施例松开-并且可能完全解耦-队列指派和缓冲区占用之间的连接,从而在通信资源的分配和管理上提供了更大的灵活性。在所公开的实施例中,即使当不同的包类型共享共同的传输队列时,也可给这些不同的包类型在网络元件中指派缓冲区空间的单独的、相应的分配。网络元件中的包处理逻辑将与数据包对应的队列条目放置在共同的传输队列中,以用于通过适当的出接口传输,同时在共享缓冲区中分配相应的空间,以对照它们的单独的、相应的缓冲区分配储存不同类型的数据包。给定队列中的给定包类型可接收其自身的缓冲区分配,或者共同的缓冲区空间可针对跨多个传输队列的给定类型的包来分配,这意味着不同队列中的该类型的包共享相同的、共同的缓冲区分配。当给定的队列条目到达共同的传输队列的头部时,对应的数据包通过出接口被传输,并且相应的缓冲区分配中的空间被释放。
因此,通过适当分配相应的缓冲区空间,将网络资源的不同的、独立的共享分配给不同的包类型是可能的。对于任何给定的包类型的缓冲区分配可按传输队列或按出接口来分配,或者可在与多个不同的出接口相关联的多个传输队列上共享,给定类型的数据包通过该多个不同的出接口被传输。由于缓冲区分配和排队机制的这种解耦,包处理逻辑可响应于相应的缓冲区分配的填充水平将拥塞避免机制分别应用到不同类型的数据包。
现在参照图1和图2,其示意性地图示了根据本发明的实施例的、具有共享缓冲区的网络交换机20的操作。图1是示出了交换机20的物理组件和功能组件的框图,而图2图示了不同类型的数据包通过交换机的流。在所描绘的示例中,这些不同的类型包括多播包26和单播包32。可选地或另外地,包类型可通过使用不同的、相应的传输协议(诸如传输控制协议(TCP)和用户数据报协议(UDP),或者InfiniBand可靠连接(RC)的、不可靠连接(UC)的传输类型和其他传输类型)传输来区分。进一步可选地或另外地,交换机20中的包处理逻辑可基于例如各种头字段和/或深度包检测(DPI)将任何其他合适的标准应用于区分包类型。
另外,虽然为了具体性和清晰起见,本实施例指的是网络交换机,但加以必要的修正,本发明的原理可同样应用于缓冲和转发数据包的其他类的网络元件中,包括(但不限于)路由器、网桥和隧穿元件(tunneling element),以及应用于将主机连接到网络的先进的网络接口控制器中。
如图1所示,交换机20包括端口22形式的多个接口,该端口22连接到包数据网络24,并且通常用作入接口和出接口二者。(虽然出于简化的目的在图1中仅示出了八个端口22,但在实践中,交换机20通常可能具有实质上更多数量的端口或可能更少的端口。)耦合到端口22的存储器36被配置为共享缓冲区,以容纳不同类型的包,该不同类型的包被指派给多个传输队列46,以传输到网络。
在所描绘的实施例中,交换机20通过入接口22接收多播包26。包26包括承载多播地址的报头28和数据有效载荷30。报头28可包括例如具有多播MAC目的地址的层2报头或具有多播IP目的地址的层3报头。交换机20通过另一入接口22接收单播包32,其具有包含单播MAC目的地址的单播报头34。端口22将包26和32导向存储器36,包的副本被储存在该存储器中同时等待通过适当的出端口22重新传输。包处理逻辑(在该实施例中被称作决策和排队逻辑38)读取报头28和34并查找目的地址,以便识别通过其传输相应的包的出端口22。
同时,缓冲区控制逻辑40分配存储器36中的共享缓冲区中的空间,以储存等待传输的包的副本。(对于本说明书和权利要求书,缓冲区控制逻辑40被认为是包处理逻辑的一部分,但是在实践中,其可与决策和排队逻辑38分开实现。)缓冲区控制逻辑40为多播包类型和单播包类型在存储器36中指派单独的、相应的分配42和44,并对照这些分配储存包26和32同时等待传输。如图1中所图示的,虽然多播包26的多个副本可通过不同的出端口22来传输,但缓冲区控制逻辑40可被配置为仅储存包的单一副本,该包的单一副本随后被复制以用于传输,例如如于2015年12月8日提交的美国专利申请14/961,923所描述的,该美国专利申请的公开内容通过引用并入本文。
对于被接受到存储器36中的对应的分配42、44...中的每个包,决策和排队逻辑38将队列条目(下文中被称作描述符)放置在适当的传输队列46中(或者在多播包的情况下,可能放置在多个传输队列中)。虽然出于简化的目的,图1仅示出了每个出端口22的单一传输队列,但在实践中,多个传输队列可对应于不同的、相应的服务质量水平与每个出接口相关联。被指派相同的服务质量水平的不同类型的数据包(诸如多播包和单播包)随后将使它们的队列条目放置在相同传输队列46中。另外地或可选地,逻辑38可将(除了服务质量水平之外或将其代替的)其他考虑应用于向队列指派包。如先前所指出的,缓冲区分配42、44...可各自与特定的出端口或传输队列相关联,或者它们可在多个传输队列上共享,该多个传输队列可与多个不同的出端口相关联,给定类型的数据包通过该出端口被传输。
当给定的队列条目到达其中放置有条目的传输队列46的头部时,决策和排队逻辑38从存储器36读取(并且如有必要复制)对应的数据包,并通过适当的出接口传输包。随后,缓冲区控制逻辑40将释放缓冲区分配42或44中的对应的空间。
图3是根据本发明的实施例示意性示出交换机20中的决策和排队逻辑38的细节的框图。为了清晰和具体起见,该图示出了逻辑38的一个可能的实施方式,但其他实施方式在本领域的技术人员阅读本说明书之后对于他们来说将是明显的,并且被认为是在本发明的范围内。虽然逻辑38的元件在图3中示为单独的功能组件,但在实践中,这些组件可在单一芯片或芯片组内的自定义或可编程硬件逻辑中一起被实施。
在接收输入包时,不管包类型,入端口22A(诸如图1中的端口22中的一个)都将包放置在存储器36中的缓冲区中并通知决策控制逻辑52包准备好进行处理。如先前所解释的,用于储存给定类型的包的缓冲区中的空间对照被指派给存储器36中的该包类型的单独的缓冲区分配42、44...来分配。基于这些缓冲区分配的相应的填充水平,包处理逻辑38可将拥塞避免机制(诸如流控制机制50和/或包丢弃和标记机制)分别应用到不同的包类型。
响应于由决策控制逻辑52接收的新的包已经到达的通知,解析器54对包报头进行解析并生成一个或多个描述符,该描述符传递至描述符处理器56,以用于进一步处理和转发指令的生成。基于描述符,例如,处理器56通常选择通过其传输包的出端口或端口22B。该描述符也可指示待应用到包的服务质量(QoS),即,传输的优先级水平,并可指示对于包报头的修改的任何适用的指令。对于多播包,处理器56通常生成多个描述符,为传输包的副本的每个出端口22B生成一个描述符。所有这些描述符可具有相同的QoS(例如,通过QoS索引值指示),或者它们可被指派给两个或更多个不同的QoS水平以用于不同的出端口。
描述符处理器56将描述符放置在排队系统60中的适当的传输队列(如先前附图中的队列46所示)中,以等待经由指定的出端口22B传输。通常,排队系统60包含对于每个出端口22B的专用传输队列或每出端口多个传输队列,每个QoS水平一个传输队列。当在排队系统60中对描述符进行排队时,处理器56通知缓冲区控制逻辑40对应的包正在存储器36中消耗缓冲区空间,并且逻辑40对于讨论中的包类型对照适当的分配42、44...来记录缓冲区消耗。可选地,对缓冲区控制逻辑40的缓冲区消耗更新可来自排队系统60。
当描述符到达其传输队列的头部时,排队系统60将描述符传递给包修改器62来执行。包修改器62分别耦合到出端口22B并用作包传输单元。响应于描述符,包修改器62从存储器36读取适当的包数据的副本,并在包报头中做出所需的任何改变以用于通过出端口22B传输到网络24。在多播包的情况下,包修改器62可复制包数据,同时原始数据保留在存储器36中,直至所有的包副本被传输。
如图中所示,当通过对应的出端口22B传输包后(或在多播传输的情况下,当传输最后的包副本后),包修改器62给缓冲区控制逻辑40发信号,并且也可给决策控制逻辑52发信号。可选地,该包传输通知可来自排队系统60。响应于该通知,缓冲区控制逻辑40释放对应的分配42、44...中的缓冲区空间,使得存储器36中的位置可被重写,并且该分配可以自由地接收对应类型的其他包。该存储器核算和管理过程对于并行的多个不同的包通常发生在任何给定时间处。
将要理解的是,以上描述的实施例是通过示例的方式引用的,并且本发明不限于上文中已经具体示出和描述的那些实施例。相反,本发明的范围包括上文所描述的各种特征的组合和子组合以及本领域技术人员在阅读以上描述之后将想到的且未在现有技术中公开的其变型和修改。

Claims (12)

1.一种通信装置,包括:
多个接口,所述多个接口被配置为连接到包数据网络,以便用作通过所述装置从所述网络接收多种类型的数据包的入接口和将多种类型的数据包转发到所述网络的出接口,所述多种类型包括至少第一类型和第二类型;
存储器,所述存储器耦合到所述接口并被配置为缓冲区,以容纳在等待经由所述出接口传输到所述网络的同时通过所述入接口接收的包;以及
包处理逻辑,所述包处理逻辑被配置为保持与所述出接口中的相应出接口相关联的多个传输队列,并被配置为将与所述第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在所述缓冲区中分配相应的空间,以对照单独的第一缓冲区分配和第二缓冲区分配来储存所述第一数据包和第二数据包,所述第一缓冲区分配和第二缓冲区分配被分别指派给所述第一类型的和第二类型的数据包,
其中,所述多个传输队列包括至少两个传输队列,所述至少两个传输队列都与相同给定的出接口相关联并具有各自不同的服务质量的水平,以及其中,不同的第一类型和第二类型的第一数据包和第二数据包具有共同的服务质量的水平。
2.根据权利要求1所述的装置,其中,所述第一类型的数据包由单播包组成,而所述第二类型的数据包由多播包组成。
3.根据权利要求1所述的装置,其中,所述第一类型和第二类型的数据包使用各自不同的第一传输协议和第二传输协议来传输。
4.根据权利要求1所述的装置,其中,所述包处理逻辑被配置为,当给定的队列条目到达所述共同的传输队列的头部时,通过所述给定的出接口传输对应的数据包并释放所述第一缓冲区分配和第二缓冲区分配的相应一个中的对应的空间。
5.根据权利要求1所述的装置,其中,所述第一缓冲区分配在与多个不同的出接口相关联的多个传输队列上共享,所述第一类型的数据包通过所述多个不同的出接口来传输。
6.根据权利要求1所述的装置,其中,所述包处理逻辑被配置为,响应于所述第一缓冲区分配和第二缓冲区分配的各自的填充水平,将拥塞避免机制分别应用到所述第一类型的数据包和第二类型的数据包。
7.一种用于通信的方法,包括:
通过网络元件的入接口接收包括至少第一类型和第二类型的多种类型的数据包;
在所述网络元件中的缓冲区内分配相应的空间,以对照单独的第一缓冲区分配和第二缓冲区分配存储所述第一类型的数据包和第二类型数据包,所述单独的第一缓冲区分配和第二缓冲区分配被分别指派给所述第一类型的数据包和第二类型的数据包,同时所述第一类型的数据包和第二类型的数据包等待经由所述网络元件的出接口传输到所述网络;
在所述网络元件中保持多个传输队列,所述多个传输队列与所述出接口中的相应出接口相关联;
将与所述第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输;以及
当对应的队列条目到达所述共同的传输队列的头部时,通过所述给定的出接口传输所述第一数据包和第二数据包中的每一个,
其中,保持所述多个传输队列包括将具有各自不同的服务质量的水平的至少两个传输队列与相同给定的出接口相关联,以及其中,不同的第一类型和第二类型的第一数据包和第二数据包具有共同的服务质量的水平。
8.根据权利要求7所述的方法,其中,所述第一类型的数据包由单播包组成,而所述第二类型的数据包由多播包组成。
9.根据权利要求7所述的方法,其中,所述第一类型和第二类型的数据包使用各自不同的第一传输协议和第二传输协议来传输。
10.根据权利要求7所述的方法,其中,传输所述第一数据包和第二数据包中的每一个包括当通过所述给定的出接口传输对应的数据包后,释放所述第一缓冲区分配和第二缓冲区分配中的相应一个缓冲区分配中的对应的空间。
11.根据权利要求7所述的方法,其中,分配相应的空间包括在与多个不同的出接口相关联的多个传输队列上共享所述第一缓冲区分配,所述第一类型的数据包通过所述多个不同的出接口来传输。
12.根据权利要求7所述的方法,还包括响应于所述第一缓冲区分配和第二缓冲区分配的相应的填充水平,将拥塞避免机制分别应用到所述第一类型和第二类型的数据包。
CN201710107966.9A 2016-03-08 2017-02-27 网络交换机中的灵活的缓冲区分配 Active CN107171980B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/063,527 US10250530B2 (en) 2016-03-08 2016-03-08 Flexible buffer allocation in a network switch
US15/063,527 2016-03-08

Publications (2)

Publication Number Publication Date
CN107171980A CN107171980A (zh) 2017-09-15
CN107171980B true CN107171980B (zh) 2021-01-15

Family

ID=59787383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710107966.9A Active CN107171980B (zh) 2016-03-08 2017-02-27 网络交换机中的灵活的缓冲区分配

Country Status (2)

Country Link
US (1) US10250530B2 (zh)
CN (1) CN107171980B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
KR20180062247A (ko) * 2016-11-30 2018-06-08 삼성전자주식회사 효율적인 버퍼 할당을 수행하는 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
US10735331B1 (en) * 2016-12-09 2020-08-04 Barefoot Networks, Inc. Buffer space availability for different packet classes
US10708189B1 (en) 2016-12-09 2020-07-07 Barefoot Networks, Inc. Priority-based flow control
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
US10412018B1 (en) 2017-03-21 2019-09-10 Barefoot Networks, Inc. Hierarchical queue scheduler
US10218642B2 (en) * 2017-03-27 2019-02-26 Mellanox Technologies Tlv Ltd. Switch arbitration based on distinct-flow counts
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US11503141B1 (en) 2017-07-23 2022-11-15 Barefoot Networks, Inc. Stateful processing unit with min/max capability
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
US10601723B2 (en) * 2018-04-12 2020-03-24 Advanced Micro Devices, Inc. Bandwidth matched scheduler
CN110708255B (zh) * 2018-07-09 2021-11-19 华为技术有限公司 一种报文控制方法及节点设备
US10938709B2 (en) * 2018-12-18 2021-03-02 Advanced Micro Devices, Inc. Mechanism for dynamic latency-bandwidth trade-off for efficient broadcasts/multicasts
US10951527B2 (en) * 2018-12-28 2021-03-16 Juniper Networks, Inc. Switch fabric packet flow reordering
TWI703840B (zh) * 2019-01-16 2020-09-01 瑞昱半導體股份有限公司 設置在交換器內的電路以及管理交換器中記憶體的方法
CN111447154B (zh) * 2019-01-17 2023-06-23 瑞昱半导体股份有限公司 设置在交换器内的电路以及管理交换器中的存储器的方法
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
US11403247B2 (en) * 2019-09-10 2022-08-02 GigaIO Networks, Inc. Methods and apparatus for network interface fabric send/receive operations
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues
US20220045972A1 (en) 2020-08-10 2022-02-10 Mellanox Technologies Tlv Ltd. Flow-based management of shared buffer resources
CN111988244B (zh) * 2020-08-20 2022-10-18 珠海市一知安全科技有限公司 网络数据调度分配方法、计算机装置及计算机可读存储介质
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356831A (zh) * 2000-09-29 2002-07-03 扎尔林克半导体V.N.股份有限公司 用于支持服务质量保证的缓冲区管理和在数据交换中的数据流控制
CN1996271A (zh) * 2006-12-30 2007-07-11 华为技术有限公司 一种数据传输的方法及系统
CN103516622A (zh) * 2012-05-24 2014-01-15 马维尔国际贸易有限公司 网络交换机中的灵活队列
CN104508654A (zh) * 2012-07-31 2015-04-08 华为技术有限公司 分组传输优先级信道分配

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321553B2 (en) 2003-07-22 2008-01-22 Intel Corporation Methods and apparatus for asserting flow control at input ports of a shared-memory switch
SE506955C2 (sv) 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US6108713A (en) 1997-02-11 2000-08-22 Xaqti Corporation Media access control architectures and network management systems
US6178448B1 (en) 1997-06-18 2001-01-23 International Business Machines Corporation Optimal link scheduling for multiple links by obtaining and utilizing link quality information
US6590901B1 (en) * 1998-04-01 2003-07-08 Mosaid Technologies, Inc. Method and apparatus for providing a packet buffer random access memory
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
JP3892682B2 (ja) 2001-06-18 2007-03-14 株式会社エヌ・ティ・ティ・ドコモ パケット伝送方法、基地局及び移動局
KR100426535B1 (ko) 2001-12-11 2004-04-08 삼성전자주식회사 무선통신기기 및 그 무선통신방법
JP3925234B2 (ja) 2002-02-18 2007-06-06 ソニー株式会社 データ通信システム、データ通信管理装置、および方法、並びにコンピュータ・プログラム
US7430169B2 (en) 2002-06-03 2008-09-30 International Business Machines Corporation Retro flow control for arriving traffic in computer networks
US7706394B2 (en) 2003-07-23 2010-04-27 International Business Machines Corporation System and method for collapsing VOQ's of a packet switch fabric
US8473693B1 (en) 2003-07-29 2013-06-25 Netapp, Inc. Managing ownership of memory buffers (mbufs)
US7346059B1 (en) 2003-09-08 2008-03-18 Cisco Technology, Inc. Header range check hash circuit
US20080037420A1 (en) 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
TWI241807B (en) * 2004-03-02 2005-10-11 Hon Hai Prec Ind Co Ltd System and method for network quality of service
US7480730B2 (en) 2004-04-08 2009-01-20 Nortel Networks Limited Credit recovery in a credit based flow control system
US7499402B2 (en) 2004-04-13 2009-03-03 Radioframe Networks, Inc. Network delay control
US20060056308A1 (en) 2004-05-28 2006-03-16 International Business Machines Corporation Method of switching fabric for counteracting a saturation tree occurring in a network with nodes
US7724663B2 (en) 2004-09-08 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Counter based quality of service (QoS) class upgrade
US7830793B2 (en) 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency
EP1650905A1 (en) 2004-10-25 2006-04-26 Siemens Aktiengesellschaft Method for bandwidth profile management in a Metro Ethernet network
US7948880B2 (en) 2004-10-29 2011-05-24 Broadcom Corporation Adaptive dynamic thresholding mechanism for link level flow control scheme
US7593329B2 (en) 2004-10-29 2009-09-22 Broadcom Corporation Service aware flow control
FR2878106A1 (fr) 2004-11-15 2006-05-19 France Telecom Procede et dispositif d'ordonnancement de paquets pour leur routage dans un reseau avec determination implicite des paquets a traiter en priorite
US7802028B2 (en) 2005-05-02 2010-09-21 Broadcom Corporation Total dynamic sharing of a transaction queue
US8548048B2 (en) 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US8218546B2 (en) 2005-11-10 2012-07-10 Broadcom Corporation Interleaved processing of dropped packets in a network device
US7953002B2 (en) 2005-11-10 2011-05-31 Broadcom Corporation Buffer management and flow control mechanism including packet-based dynamic thresholding
US8078743B2 (en) 2006-02-17 2011-12-13 Intel-Ne, Inc. Pipelined processing of RDMA-type network transactions
US7724754B2 (en) 2006-02-24 2010-05-25 Texas Instruments Incorporated Device, system and/or method for managing packet congestion in a packet switching network
EP1873977B1 (en) 2006-06-30 2009-10-28 Alcatel Lucent Method of providing resource admission control
US7821939B2 (en) 2007-09-26 2010-10-26 International Business Machines Corporation Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
US8532117B2 (en) 2008-02-13 2013-09-10 Broadcom Corporation Flexible buffer allocation entities for traffic aggregate containment
WO2009107089A2 (en) 2008-02-26 2009-09-03 Nxp B.V. Apparatus and method for shared buffering between switch ports
US7738454B1 (en) 2008-09-30 2010-06-15 Juniper Networks, Inc. Methods and apparatus related to packet classification based on range values
US8576715B2 (en) 2009-10-26 2013-11-05 Mellanox Technologies Ltd. High-performance adaptive routing
US8498213B2 (en) 2010-09-14 2013-07-30 Brocade Communications Systems, Inc. Manageability tools for lossless networks
US9008113B2 (en) * 2010-12-20 2015-04-14 Solarflare Communications, Inc. Mapped FIFO buffering
US8630294B1 (en) 2011-05-11 2014-01-14 Juniper Networks, Inc. Dynamic bypass mechanism to alleviate bloom filter bank contention
US8938598B2 (en) 2011-07-06 2015-01-20 Nvidia Corporation Facilitating simultaneous submission to a multi-producer queue by multiple threads with inner and outer pointers
US8681616B2 (en) 2011-08-12 2014-03-25 Telefonaktiebolaget L M Ericsson (Publ) Scheduling under congestion with traffic load-based scaling
KR101515359B1 (ko) 2011-09-30 2015-04-29 인텔 코포레이션 시스템 코-프로세서에 대한 직접 i/o 액세스
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9325619B2 (en) 2011-11-15 2016-04-26 Oracle International Corporation System and method for using virtual lanes to alleviate congestion in a fat-tree topology
US8879396B2 (en) 2011-11-15 2014-11-04 Oracle International Corporation System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
US8995265B2 (en) 2012-01-28 2015-03-31 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Monitoring endpoint buffer occupancy to determine congestion in an ethernet network
ITRM20120094A1 (it) 2012-03-14 2013-09-14 Istituto Naz Di Fisica Nuclea Re Scheda di interfaccia di rete per nodo di rete di calcolo parallelo su gpu, e relativo metodo di comunicazione internodale
US8867360B2 (en) 2012-03-22 2014-10-21 Avaya Inc. Method and apparatus for lossless behavior for multiple ports sharing a buffer pool
US9166919B2 (en) 2012-03-23 2015-10-20 Broadcom Corporation Reducing headroom
KR20130126816A (ko) 2012-04-26 2013-11-21 한국전자통신연구원 트래픽 혼잡을 제어하는 트래픽 관리장치 및 그 방법
US9436504B2 (en) 2012-05-09 2016-09-06 Nvidia Corporation Techniques for managing the execution order of multiple nested tasks executing on a parallel processor
US9749413B2 (en) 2012-05-29 2017-08-29 Intel Corporation Peer-to-peer interrupt signaling between devices coupled via interconnects
US9282022B2 (en) 2012-11-14 2016-03-08 Broadcom Corporation Forensics for network switching diagnosis
US8989017B2 (en) 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9014006B2 (en) 2013-01-31 2015-04-21 Mellanox Technologies Ltd. Adaptive routing using inter-switch notifications
US9237093B2 (en) 2013-03-14 2016-01-12 Silicon Graphics International Corp. Bandwidth on-demand adaptive routing
US9237111B2 (en) 2013-03-14 2016-01-12 International Business Machines Corporation Credit-based flow control in lossless ethernet networks
US9467522B2 (en) 2013-07-19 2016-10-11 Broadcom Corporation Ingress based headroom buffering for switch architectures
US9356868B2 (en) 2013-08-23 2016-05-31 Broadcom Corporation Congestion detection and management at congestion-tree roots
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US10778584B2 (en) * 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9648148B2 (en) * 2013-12-24 2017-05-09 Intel Corporation Method, apparatus, and system for QoS within high performance fabrics
US9621471B2 (en) 2014-06-30 2017-04-11 Vmware, Inc. Framework for early congestion notification and recovery in a virtualized environment
CN107078967A (zh) 2014-09-16 2017-08-18 华为技术有限公司 调度器、发送器、接收器、网络节点及其方法
US9794825B2 (en) 2014-11-06 2017-10-17 Alcatel-Lucent Usa Inc. System and method for determining cell congestion level
WO2016105414A1 (en) 2014-12-24 2016-06-30 Intel Corporation Apparatus and method for buffering data in a switch
US20170118108A1 (en) 2015-10-27 2017-04-27 Futurewei Technologies, Inc. Real Time Priority Selection Engine for Improved Burst Tolerance
US10425344B2 (en) 2015-12-18 2019-09-24 Avago Technologies International Sales Pte. Limited Avoiding dropped data packets on a network transmission
US11088951B2 (en) 2017-01-16 2021-08-10 Intel Corporation Flow classification apparatus, methods, and systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356831A (zh) * 2000-09-29 2002-07-03 扎尔林克半导体V.N.股份有限公司 用于支持服务质量保证的缓冲区管理和在数据交换中的数据流控制
CN1996271A (zh) * 2006-12-30 2007-07-11 华为技术有限公司 一种数据传输的方法及系统
CN103516622A (zh) * 2012-05-24 2014-01-15 马维尔国际贸易有限公司 网络交换机中的灵活队列
CN103516622B (zh) * 2012-05-24 2019-04-02 马维尔国际贸易有限公司 网络交换机中的灵活队列
CN104508654A (zh) * 2012-07-31 2015-04-08 华为技术有限公司 分组传输优先级信道分配

Also Published As

Publication number Publication date
CN107171980A (zh) 2017-09-15
US20170264571A1 (en) 2017-09-14
US10250530B2 (en) 2019-04-02

Similar Documents

Publication Publication Date Title
CN107171980B (zh) 网络交换机中的灵活的缓冲区分配
US10015112B2 (en) Memory-efficient handling of multicast traffic
US8064344B2 (en) Flow-based queuing of network traffic
US10084716B2 (en) Flexible application of congestion control measures
US9007902B1 (en) Method and apparatus for preventing head of line blocking in an Ethernet system
US8917740B2 (en) Channel service manager
US7936770B1 (en) Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
US9608926B2 (en) Flexible recirculation bandwidth management
US10387074B2 (en) Efficient use of buffer space in a network switch
CN102132535B (zh) 在通信网中传输数据分组的方法和交换装置
US8782307B1 (en) Systems and methods for dynamic buffer allocation
KR100875739B1 (ko) Ip 네트워크 시스템에서의 패킷 버퍼 관리 장치 및 방법
US7327749B1 (en) Combined buffering of infiniband virtual lanes and queue pairs
US7602809B2 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
US7809007B2 (en) Low cost implementation for a device utilizing look ahead congestion management
US7486689B1 (en) System and method for mapping InfiniBand communications to an external port, with combined buffering of virtual lanes and queue pairs
EP3264698A1 (en) Adaptive flow prioritization
WO2015038949A1 (en) High payload data packet transmission system and relay to lower latency
US20030169690A1 (en) System and method for separating communication traffic
US20090213857A1 (en) Method, system, computer program product, and hardware product for ethernet virtualization using an elastic fifo memory to facilitate flow of broadcast traffic to virtual hosts
US11171884B2 (en) Efficient memory utilization and egress queue fairness
US7230918B1 (en) System for using special links in multi-link bundles
US7751400B2 (en) Method, system, and computer program product for ethernet virtualization using an elastic FIFO memory to facilitate flow of unknown traffic to virtual hosts
US7751443B2 (en) Intra-chassis packet arbitration scheme
US20060050733A1 (en) Virtual channel arbitration in switched fabric networks

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211227

Address after: Israel Yuekeni Mourinho

Patentee after: Mellanox Technologies, Ltd.

Address before: Israel Lai Ananna

Patentee before: Mellanox Technologies TLV Ltd.