CN106063206B - 基于优先级和带宽分配的通信量类别仲裁 - Google Patents
基于优先级和带宽分配的通信量类别仲裁 Download PDFInfo
- Publication number
- CN106063206B CN106063206B CN201580009256.1A CN201580009256A CN106063206B CN 106063206 B CN106063206 B CN 106063206B CN 201580009256 A CN201580009256 A CN 201580009256A CN 106063206 B CN106063206 B CN 106063206B
- Authority
- CN
- China
- Prior art keywords
- priority
- bandwidth
- network
- packets
- packet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/358—Infiniband Switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/245—Traffic characterised by specific attributes, e.g. priority or QoS using preemption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本公开描述了用于增强型网络通信的系统、设备、方法和计算机可读介质以用于包括存储、高性能计算(HPC)以及基于以太网的结构互连的更高性能的应用。在一些实施例中,网络控制器可以包括被配置成用于在多条虚拟通道(VL)上发射分组的发射机电路,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联。所述网络控制器还可以包括:带宽监测器模块,所述带宽监测器模块被配置成用于对由所述分组消耗的带宽进行测量;以及仲裁器模块,所述仲裁器模块被配置成用于基于所述测量带宽与所述所分配的网络带宽份额的比较对所述VL优先级进行调整。所述发射机电路可以进一步被配置成用于基于所述经调整的VL优先级发射所述分组。
Description
技术领域
本公开涉及网络系统的增强,并且更具体地涉及基于优先级和带宽分配的通信量分类仲裁。
背景技术
高性能计算(HPC)应用常常采用HPC结构网络通信技术,诸如例如,无限带宽TM。这些HPC结构可以承载包括以下各项的不同类型的通信量:管理通信量、存储通信量、应用通信量等。还可以存在与不同水平的服务质量(QoS)以及不同优先级和等待时间要求相关联的不同类别的应用通信量。现有的网络结构交换机通常仅能够接近于对用户网络通信量的优先级、带宽份额和等待时间的用户配置请求。
附图说明
要求保护的主题的特征和优点将从与其一致的实施例的以下详细描述中变得显而易见,应参照附图考虑所附描述,在附图中:
图1展示了与本公开的各实施例一致的网络系统的顶层图;
图2展示了与本公开的各实施例一致的网络节点的框图;
图3展示了与本公开的各实施例一致的网络控制器的框图;
图4展示了与本公开的各实施例一致的包帧;
图5展示了与本公开的各实施例一致的虚拟通道组表;以及
图6展示了与本公开一致的一个示例实施例的操作的流程图。
尽管以下具体实施方式将通过参照说明性实施例来进行阐述,但是其许多替代方案、修改和变体将对本领域技术人员而言显而易见。
具体实施方式
一般地,本公开提供了用于增强型网络通信的系统、设备、方法和计算机可读介质以用于包括存储、高性能计算(HPC)以及基于以太网的结构互连在内的更高性能的应用。如以下将更详细描述的,网络控制器可以被配置为网络节点的一部分(例如,交换机)以便提供在可能与虚拟通道相关联的多种通信量类别之间的分组仲裁与抢占。可以通过基于将测量带宽(BW)消耗与针对虚拟通道的BW分配进行比较而调整优先级来执行仲裁。可以基于在虚拟通道上发射的分组的相对优先级和等待时间敏感度来执行抢占。因而,可以提供规则以便配置多个优先级等级并且指定可以由更高优先级通信量消耗的带宽量,从而使得更低优先级通信量不缺乏带宽。因此,通常可以具有更低带宽的更高优先级通信量可以被给予高于其他通信量的优先级,而不必担心如果更高优先级通信量超过其所分配带宽限值其会剥夺其他通信量的带宽。
图1展示了与本公开的各实施例一致的网络系统100。如所示的,网络系统100总体上包括至少一个网络节点元件102(在此也被称为“源节点102”或“发射方节点”)、至少一个中间节点元件122(在此也被称为“交换机节点”)以及端节点元件126(在此也被称为“接收节点”),每一个节点被配置成用于经由通信链路124a和124b彼此通信。源节点102、中间节点122以及端节点126可以作为链路伙伴被包括在网络结构(例如HPC结构)中。将理解的是,提供对图1的说明是为了易于描述,并且将理解的是,网络结构可以包括多个中间节点元件和/或端节点元件,每一个元件彼此和/或与源节点102串联和/或并联,以便形成例如,环形网络拓扑、环型拓扑、Clos拓扑、胖树拓扑等。源节点102、中间节点122和/或端节点126可以各自包括计算机节点元件(例如,主机服务器系统、膝上型计算机、平板计算机、工作站等)、交换机、路由器、桥接器、集线器、结构互连、网络存储设备、附接于网络的设备、非易失性存储器(NVM)存储设备等。
将认识到的是,术语“源节点”和“端节点”用于简化描述并且并不意味着暗示单向发射流程。虽然在此可能经常提及全双工连接的一侧,但是操作也适用于相反方向(例如,从端节点126至源节点102)。
用户或网络管理员140(或其他合适的实体)可以限定网络结构100的任何数量的通信量类别(TC),在该网络结构上可以例如以分组的形式发射不同类型的通信量。通信量类别可以被限定为服务质量(QoS)水平,该服务质量水平可以在节点元件之间先验地被限定。更一般地,通信量类别可以表示计算机网络通信量的分类。例如,某些应用(例如,语音/视频)可能需要一定水平的分组吞吐量以便恰当地操作,而其他应用(像通用的网络浏览和邮件)可能不需要语音和/或视频应用的吞吐量。因而,可以建立通信量类别,从而使得例如在一个通信量类别中的分组传送可以优先于从另一类别的传送。同样,特定通信量(例如,存储通信量)可以被指派单独的通信量类别,该通信量类别可能不需要分组丢失特性,同时其他通信量类别可能以最好的劳动方式被服务。在某些不需要分组丢失行为等的通信量类别中可以启用流控制或拥塞管理。
在一些实施例中,链路124a、124b可以被配置成包括任何数量的虚拟通道(VL)或虚拟通道(VLG)组,这些虚拟通道或虚拟通道组可以与不同的通信量类别(TC)相关联。例如,虚拟通道1可以被配置成用于承载TC 1至TC 3,并且虚拟通道2可以被配置成用于承载TC 4和TC 5。然而,在一些实施例中,可能施加限制从而使得VL仅与一个TC相关联。
另外,在一些实施例中,多个VL可以与一个TC相关联。因此,例如,VL 0至VL 1可以与TC 0至VL 4相关联,并且VL 2至VL 3可以与TC 5至VL 16相关联。
用户/管理员140还可以提供规范以便限定TC之间的相对优先级、以及有待为每一个TC提供的所分配的链路带宽份额。如以下将要描述的,结构管理器150可以被配置成用于将这些规范映射至设备级(例如,节点102、122、126)以供仲裁和抢占逻辑使用。因而,每一个VL或VLG可以具有所定义的优先级以及所分配的网络或链路带宽份额。
源节点102、中间节点122和端节点126可以使用例如以太网通信协议经由链路124a和124b彼此通信。以太网通信协议可能能够使用发射控制协议/互联网协议(TCP/IP)来提供通信。以太网协议可以遵守或兼容由电气与电子工程师协会(IEEE)于2002年3月发布的题为“IEEE 802.3标准”的以太网标准和/或此标准的后续版本(例如,2012年发布的以太网IEEE 802.3标准)。以太网协议还可以遵守或兼容于2005年发布的题为“IEEE 802.1Q标准”的媒体访问控制(MAC)和虚拟桥接局域网的IEEE标准或此标准的后续版本(例如,2011年发布的IEEE 802.1Q标准)。当然,在其他实施例中,源节点102、中间节点122和端节点126可以使用例如专有和/或自定义通信协议(可以类似于或可以不类似于前述以太网通信协议)彼此通信。
图2展示了与本公开的各实施例一致的网络节点200的框图。节点200(其可以表示图1的节点102、122和/或126)可以包括网络控制器204(例如,网络接口卡等)、系统处理器206(例如,多核通用处理器,诸如由英特尔公司提供的那些多核通用处理器等)以及系统存储器208。系统存储器208可以包括一个或多个缓冲器238,这些缓冲器中的每一个缓冲器可以至少部分地由网络控制器204和/或系统处理器206建立和/或控制。
网络控制器204包括通常被配置成用于经由通信链路124a、124b与节点接口连接的PHY电路210。PHY电路210可以遵守或兼容于前述IEEE 802.3以太网通信协议(可以包括例如,10GBASE-T、10GBASE-KR、40GBASE-KR4、40GBASE-CR4、100GBASE-CR10、100GBASE-CR4、100GBASE-KR4、和/或100GBASE-KP4)和/或遵守前述IEEE 802.3以太网通信协议和/或遵守任何后来开发的通信协议的其他PHY电路。PHY电路210包括被配置成用于经由链路124a、124b对数据包和/或帧进行发射的发射机电路(Tx)212、以及被配置成用于经由链路124a、124b接收数据包和/或帧的接收机电路(Rx)214。当然,PHY电路210还可以包括编码/解码电路(未示出),该编码/解码电路被配置成用于执行模数转换和数模转换、对数据的编码和解码、模拟寄生消除(例如串扰消除)以及对所接收数据的恢复。Rx电路214可以包括被配置成用于对数据接收的定时进行协调的锁相环电路(PLL,未示出)。
通信链路124a和/或124b可以各自包括例如媒体相关接口,该媒体相关接口可以包括例如铜双轴电缆、印刷电路板上的背板迹线、光纤电缆、铜双绞电缆等。在一些实施例中,通信链路124a和124b可以各自包括在例如节点102、122、126的Tx与Rx 212/214之间提供独立连接的多个逻辑和/或物理信道(例如,差分对信道)。在中间节点122的情况下(例如,交换机或路由器),在中间节点内可能没有显式网络控制器204,然而,针对网络控制器204所展示的功能块可以作为交换机或路由器逻辑或硅的一部分被包括。如在此使用的“链路水平”意指例如通过链路124a的源节点102与中间节点122之间的帧通信。因而,在此上下文中,“链路”包括在链路124a上进行的节点102与节点122之间的帧发射。例如,节点102的TX电路在链路124a上向节点122的RX电路发射帧。
如可以由前述以太网通信协议所定义,网络控制器204还包括媒体访问控制(MAC)模块220,该媒体访问控制模块被配置成用于提供寻址和访问控制协议以与中间节点122和/或端节点126进行通信(例如,MAC模块220可以是层2设备)。
网络控制器204还可以包括通常被配置成用于对由链路124a、124b上的虚拟通道230中的每一条虚拟通道消耗的带宽进行测量带宽监测器模块218。网络控制器204还可以包括通常被配置成用于基于所测量带宽与针对虚拟通道的所分配份额的带宽的比较对那个通道的优先级进行调整的优先级仲裁器模块216。网络控制器104还可以包括抢占和交织模块228,所述抢占和交织模块通常被配置成用于中断更低优先级的分组的发射以用于更高优先级的分组。将在以下模块对216、218和228中的每一个模块进行更详细的描述。应当理解的是,在一些实施例中,节点可以包括图2中所展示的模块的子集,并且因此并非所有展示的模块对于任何实施例都是必要的。在一些实施例中,网络节点102、122、126(包括网络控制器204、处理器206)的各部件、电路和模块和/或其他系统可以结合在片上系统(SoC)架构中。SoC可以作为服务器系统或CPU的一部分被包括。
图3展示了与本公开的各实施例一致的网络控制器204的部分的更详细的框图300。多个(K个)虚拟通道230(例如,VL 0到VL K-1)作为输入而被提供给网络控制器204。每一条虚拟通道可以与通信量分类相关联。带宽监测器模块218被示出为包括多个(N个)带宽计量器320,每一个带宽计量器被配置成用于对由所选择的虚拟通道组消耗的带宽进行测量。在一些实施例中,针对由VL组选择模块302进行的测量,可以选择高达N条虚拟通道组。虚拟通道组(VLG)可以包括被提供为输入的K条虚拟通道中的任一个。例如,第一VLG可以包括VL 0、VL 2和VL 3,而第二VLG可以包括VL 1、VL 5和VL K-1。当然,使用高达N个不同的分组且高达K个不同的VL,任何其他分组和组合都是可能的。因而,VL中的每一个VL都可以被指派给N个带宽计量器320之一,并且在一些实施例中,多个VL可以被指派给一个带宽计量器。但是,通常VL可以不被指派给多个带宽计量器302。在一些实施例中,带宽计量器302可以使用令牌桶、漏桶、滑动窗口或者被配置成用于对时期内所消耗的带宽使用进行测量的任何其他已知的机制来实现。
在此示例中,优先级仲裁器模块216被示出为包括4个仲裁器子模块216a、216b、216c、216d,每一个仲裁器子模块被配置成用于在以下4个优先级等级之一中分别进行仲裁:高优先级、中优先级、低优先级以及超带宽。将认识到的是,在其他实施例中,可以使用任何数量的仲裁器子模块和相关联的优先级等级。优先级仲裁器模块216还被示出为包括优先级组选择模块304,该优先级组选择模块被配置成用于基于带宽监测对由多个VL或VLG共享链路带宽的方式进行调整,具体地当一个或多个VL或VLG超过其所分配带宽限值时。在本公开中,超过其所分配带宽的VL或VLG被称为“非符合”,否则其被视为“符合”。例如,如果VL-0每秒被分配X位,但网络尝试以每秒超过X位的分组速率发射通信量,则VL-0将被归类为非符合。如或者符合或者非符合,VL/VLG的分类可以基于带宽监测的结果随时间发生改变。
当通信量为符合时,带宽监测可能不发挥作用。针对符合通信量的仲裁策略可以包括例如由模块304跨给定组(VLG)的优先级等级(例如,高优先级、中优先级、以及低优先级)应用预先指派的优先级。在优先级等级内,可以由每一个优先级仲裁器子模块216a、216b、216c采用轮询方案以用于选择被指派给那个优先级的VL。在一些实施例中,可以使用轮询方案的多个其他已知替代方案中的任一个,诸如例如最近最少使用的方案。然而,可以例如由模块304将超过带宽分配的组指派给最低可能的优先级等级。此最低等级(例如,超BW优先级等级)低于被指派给符合通信量(例如,216a、216b、216c)中的任一符合通信量的优先级等级。
在操作中,每一个VL可以被指派给与N个带宽计量器320之一相关联的N个带宽监测组之一。在第一示例实施例中,由VL被指派给其的带宽计量器对每一个VL执行带宽检查。检查用于判定VL是否已经超过了所分配带宽使用。如果尚未超过该使用(即,VL通过BW检查),则VL作为仲裁的候选项被提供给与针对那个VL的所指派的优先级等级(例如,高优先级、中优先级、以及低优先级)相关联的优先级仲裁器子模块。如果已经超过该使用(例如,VL未通过BW检查),则VL被指派给最低优先级等级(例如,超带宽水平)并且作为仲裁的候选项被提供给超BW优先级仲裁器子模块216d。仲裁器子模块216a、216b、216c和216d中每一个仲裁器子模块在与那个子模块相关联的优先级等级(例如,高优先级、中优先级、低优先级以及超带宽)处的所有其候选项中进行仲裁。
在第二示例实施例中,每一个VL被指派给与N个带宽计量器320之一相关联的N个带宽监测组之一,但是每一个带宽监测组在其所指派的VL中进行仲裁以便产生针对那组的一个候选VL。该组的所产生的候选项VL是被检查以用于判定VL是否已经超过了所分配带宽使用的带宽。如果尚未超过该使用,则VL作为仲裁的候选项被提供给与针对那个VL的所指派的优先级等级(例如,高优先级、中优先级、和低优先级)相关联的优先级仲裁器子模块。如果已经超过该使用,则VL被指派给最低优先级等级(例如,超带宽水平)并且作为仲裁的候选项被提供给超BW优先级仲裁器子模块216d。
以下说明可以用于突显以上所描述的第一与第二实施例示例之间的差异。为了此说明的目的,存在六个VL(VL 0至VL 5)以及两个带宽监测组(BW 0和BW 1)。VL 0至VL 3被指派给BW 0,并且VL 4至VL 5被指派给BW 1。进一步地,对于此展示,所有VL分配了可用带宽的10%,并且全部超过了那个限值。因而,在第一示例实施例中,VL 0至VL 5全部将未通过其BW检查并且行进至在其中它们将各自接收相同份额(1/6)的可用带宽的超BW优先级仲裁216d。然而,在第二示例实施例中,BW 0监测组将从VL 0至VL 3中挑选第一候选项,并且BW 1监测组将从VL 4至VL 5中挑选第二候选项。两个候选项将未通过其BW检查并且行进至超BW优先级仲裁216d,其中它们将以相等的速率(各自1/2)被选择,结果是VL 0至VL 3中的每一个接收可用带宽的1/8(四个VL共享半个带宽),同时VL 4至VL 5中的每一个接收可用带宽的1/4(两个VL共享另一半带宽)。
在一些实施例中,如果VL未通过带宽检查,其可能被取消进行发射的资格(例如,作为任何仲裁的候选项不可用),因而允许消除超BW优先级仲裁器子模块216d。
由每一个仲裁器子模块216a、216b、216c、216d执行的仲裁可以独立于由其他子模块执行的仲裁。例如,低优先级仲裁器子模块216c可做出选择而无需检查是否存在将使得那个选择不相关的高优先级候选项。此独立仲裁过程可以使用可由实现方式选择的多个已知仲裁方案中的任一个方案,包括轮询或最近最少使用。在优先级等级的每一个优先级等级中,所选择的由于仲裁产生的VL(例如,“赢得”仲裁的VL)然后可以基于其优先级等级经历仲裁的附加阶段。在此附加阶段中,最高优先级候选项优先于最低优先级候选项并且被选择308用于发射。
抢占和交织模块228可以被配置成用于在仲裁过程的另一阶段期间执行分组抢占和交织。可以采用分组抢占以便降低高优先级等待时间敏感通信量的等待时间。某些类型的数据和应用比其他类型的数据和应用对分组等待时间更敏感。例如,IP语音应用中的音频流对等待时间更敏感,因为音频发射中的等待时间通常将使得参与双向通话的用户分心或厌烦。在一些实施例中,等待时间敏感度可以被量化并且可以与通信量类型相关联。可以在例如可接受时延方面或作为重要性的相对度量来表示敏感度。
当在当前活跃分组中发生分段时,可以采用交织以便降低链路上的带宽浪费。分段可以发生在例如当由上游节点(例如,当前节点与源节点102之间的其他中间节点122)的抢占和交织模块施加抢占时。用户或网络管理员可以指定某些VL或VLG承载等待时间敏感通信量。抢占和交织模块228可以被配置成用于允许这些VLG中的分组通过中断更低优先级分组的发射来抢占其他VLG中的分组以便发射更高优先级分组。当更高优先级分组已经被发射时,恢复所抢占的分组的发射。在一些实施例中,可以允许任何优先级的分组交织到另一活跃分组中,如果那个活跃分组用完(例如,耗尽)流控制数位(FLIT)用于发射的话,其中,FLIT是经受流控制的可发射信息的最小单元。
因而,可以设置规则以便配置多个优先级等级并且指定可以由更高优先级通信量消耗的带宽量,从而控制更低优先级通信量的带宽缺乏。规则可以指定例如,需要相对较低等待时间以及相对较低带宽的通信量类别在最高优先级处被配置但具有小带宽保证,例如,向该分类保证可用带宽的10%。只要生成此通信量的节点符合此低带宽期望,则通信量分类将继续接收最高优先级。如果一个或多个节点开始发射异常量的这种通信量(或者由于编程错误或者具有恶意意图),通信量分类将超过其带宽保证,并且其优先级将下降。因此,被指定为更低带宽的更高优先级通信量可以优先于其他通信量,而不必担心其会使得其他带宽通信量缺乏(如果其变为非符合)。
在一些实施例中,非符合分组可以不由带宽监测器218统计,因为它们只有当没有其他待发射的符合分组时才被发射,并且因而带宽不是由这些分组取自其他符合通信量。只要分组未赢得仲裁,可以在分组边界处执行带宽检查,并且可以重复检查。非符合分组可以在其等待赢得仲裁的同时变为符合。在此情况下,分组从最低优先级切换回至其原本被指派的优先级。如果通过分组发射已经部分地超过带宽限值,则分组可以结束作为符合分组被发射并且不让步于具有相同或更低优先级的另一分组,以便减少链路中下游的分组分段。然而,在一些实施例中,还可以在FLIT边界处执行带宽检查。在这种情况下,分组可以通过分组部分地将优先级改变为超BW,并且其他分组(来自更低优先级等级)可进行抢占。
图4展示了与本公开的各实施例一致的包帧。帧400可由源节点102生成以便将一个或多个数据包转发至中间节点122和/或端节点126。因而,帧400可以被视为“发射方节点”帧格式。帧400总体上包括报头部分402、以及有效载荷部分404。报头部分402的长度可以是20字节,这可能是支持HPC网络结构特征的合适尺寸。所示的帧格式可以符合高达4K字节的有效载荷。源地址和目的地址或位置ID(SLID 406、DLID 408)各自是16位长以便提供超过48K位置ID的位置寻址能力。虚拟通道(VL)字段410可以被配置成用于指定与此分组的发射相关联的虚拟通道。在此说明中,VL字段410长度为允许16个可能通道的4位。
图5展示了与本公开的各实施例一致的虚拟通道组表500。VL组502可以各自例如由结构管理器指派带宽限值或分配,并且带宽监测器可以用于检测在每一个仲裁周期过程中每一组是否已经超过其所分配链路带宽。每一个实现方式可以决定待支持的组的数量。可以基于在不同组中共享的链路带宽使用的百分比指派带宽分布。表500展示了可以如何将带宽分配504指派给五个不同的VL组502的示例。此示例展示了允许跨所有组的带宽限值之和超过链路带宽的100%。这是允许的,因为结构管理器可以指定相对高的管理通信量限值(在此示例中,VL组4),期望其将会仅极少地消耗那么多带宽。因而,当需要时,允许管理通信量具有所需的带宽。假设管理通信量正常情况下是最小的并且因而可以跨其他通信量类型(VL组0-3)指定共计为100%的限值,则可以指派针对剩余通信量的带宽分配(在此示例中,VL组0-3)。
图6展示了与本公开一致的一个示例实施例的操作600的流程图。所述操作提供了一种用于提供增强型网络通信的方法。在操作620处,对由在多条虚拟通道中的每一条虚拟通道上发射的分组消耗的带宽进行测量。虚拟通道与所定义的VL优先级以及所分配的网络带宽份额相关联。在操作630处,基于所测量带宽与所分配的网络带宽份额的比较对VL优先级进行调整。调整可以包括:如果所测量带宽超过所分配的网络带宽份额,则将VL优先级降低至从优先级范围(其可以被预先限定)中所选择的最低值。在操作640处,基于经调整的VL优先级发射分组。
前述内容包括示例系统架构和方法。对本公开的修改是可能的。主机处理器206可以包括一个或多个处理器核,并且可以被配置成用于执行系统软件。系统软件可以包括例如,操作系统代码(例如,OS内核代码)以及局域网(LAN)驱动程序代码。LAN驱动程序代码可以被配置成用于至少部分地控制网络控制器204的操作。系统存储器可以包括I/O存储器缓冲器,所述I/O存储器缓冲器被配置成用于存储有待由网络控制器204发射或接收的一个或多个数据包。芯片集电路总体上可以包括用于控制处理器、网络控制器204与系统存储器208之间的通信的“北桥”电路(未示出)。
节点102和/或链路伙伴122或126可以进一步包括用于管理系统资源以及在例如节点102上运行的控制任务的操作系统(OS,未示出)。例如,OS可以是使用微软Windows、HP-UX、Linux或UNIX来实现的,尽管可以使用其他操作系统。在一些实施例中,OS可以被虚拟机监测器(或管理程序)取代,所述虚拟机监测器可以针对在一个或多个处理单元上运行的各操作系统(虚拟机)为底部硬件提供抽象层。操作系统和/或虚拟机可以实现一个或多个协议堆栈。协议堆栈可以执行用于处理分组的一个或多个程序。协议堆栈的示例是TCP/IP(发射控制协议/互联网协议)协议堆栈,所述协议堆栈包括用于处置(例如,处理或生成)分组以在网络之上进行发射和/或接收的一个或多个程序。协议堆栈可以替代地被包括在专用子系统中,诸如例如,TCP卸载引擎和/或网络控制器204。TCP卸载引擎电路可以被配置成用于提供例如,分组传送、分组分段、分组重组、错误检查、发射确认、发射重试等,而无需主机CPU和/或软件参与。
系统存储器208可以包括以下类型的存储器中的一个或多个:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪存、磁盘存储器和/或光盘存储器。附加地或者可替换地,系统存储器可以包括其他的和/或后来开发出的类型的计算机可读存储器。
在此描述的操作的实施例可以在系统中实现,所述系统包括具有单独地或组合地存储在其上的多条指令的一个或多个有形的计算机可读存储介质,当这些指令由一个或多个处理器执行时执行这些方法。处理器可以包括例如:网络控制器204中的处理单元和/或可编程电路、系统处理器206和/或其他的处理单元或可编程电路。因此,旨在使得根据在此描述的这些方法的操作可以跨多个物理设备(如在若干个不同的物理位置处的处理结构)分布。存储设备可以包括任何类型的有形的、非瞬态的存储设备,例如,包括以下各项的任何类型的磁盘:软盘、光盘、压缩盘-只读存储器(CD-ROM)、可复写致密盘(CD-RW)、和磁光盘、如只读存储器(ROM)的半导体器件、如动态和静态RAM的随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、磁卡或光卡、或者适合于存储电子指令的任何类型的存储设备。
如在本文中使用的“模块”可以包括(单独地或以任何组合地)电路和/或代码和/或指令集(例如,软件、硬件等)。如在本文任何实施例中使用的术语“电路(circuitry)”或“电路(circuit)”可以包括例如(单独地或以任何组合地)硬布线电路、可编程电路、状态机电路、和/或存储由可编程电路执行的指令的固件。该电路可以具体化为集成电路,诸如集成电路芯片。因而,网络控制器(或网络节点或网络交换机)可以具体化为独立的集成电路或者可以被结合为集成电路上的若干部件之一,该网络控制器还可以包括处理器或CPU。在一些实施例中,网络控制器的各部件、电路和模块或者其他系统可以结合在片上系统(SoC)架构中。SoC可以作为服务器系统或CPU的一部分被包括。
因而,本公开提供了系统、设备、方法以及用于使能增强型以太网网络通信的计算机可读介质。下面的示例涉及进一步的实施例。
根据示例1,提供了一种用于与一个或多个其他网络节点进行通信的网络控制器。所述网络控制器可以包括:发射机电路,所述发射机电路被配置成用于在多条虚拟通道(VL)上发射分组,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;监测器模块,所述监测器模块被配置成用于对由在所述多个VL上发射的分组消耗的带宽进行测量带宽;以及仲裁器模块,所述仲裁器模块被配置成用于基于所述测量带宽与所述所分配的网络带宽份额的比较对所述VL优先级进行调整,并且所述发射机电路基于所述经调整的VL优先级发射所述分组。
示例2可以包括示例1的主题,并且所述VL优先级调整包括:如果所述测量带宽超过所述所分配的网络带宽份额,则将所述VL优先级降低至从优先级范围中所选择的最低值。
示例3可以包括示例1和示例2的主题,并且所述VL优先级调整包括:如果所述测量带宽超过所述所分配的网络带宽份额,则取消所述VL被发射的资格。
示例4可以包括示例1至3的主题,进一步包括:抢占模块,所述抢占模块用于中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组,并且所述第二虚拟通道与指定的等待时间敏感度相关联。
示例5可以包括示例1至4的主题,并且来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
示例6可以包括示例1至5的主题,并且所述抢占模块进一步用于重启对所述中断的分组的剩余片段的发射。
示例7可以包括示例1至6的主题,进一步包括交织模块,所述交织模块用于如果所述第二分组耗尽流控制数位则将所述分组中的第一分组交织到所述分组中的第二分组中。
示例8可以包括示例1至7的主题,并且所述虚拟通道中的每条虚拟通道与通信量类别相关联。
示例9a可以包括示例1至8的主题,并且在网络结构交换机中采用所述控制器,并且所述控制器用于从所述网络结构的结构管理器中接收虚拟通道配置信息,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
示例9b可以包括示例1至8的主题,并且在进一步包括处理器的网络节点中采用所述网络控制器,并且所述网络节点结合在片上系统(SoC)中。
根据示例10,提供了一种用于增强型网络通信的方法。所述方法可以包括:对由在多条虚拟通道(VL)上发射的分组消耗的带宽进行测量,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;基于所述测量带宽与所述所分配的网络带宽份额的比较对所述VL优先级进行调整;以及基于所述经调整的VL优先级发射所述分组。
示例11可以包括示例10的主题,并且所述调整进一步包括:如果所述测量带宽超过所述所分配的网络带宽份额,则将所述VL优先级降低至从优先级范围中所选择的最低值。
示例12可以包括示例10和示例11的主题,并且所述调整进一步包括:如果所述测量带宽超过所述所分配的网络带宽份额,则取消所述VL被发射的资格。
示例13可以包括示例10至12的主题,进一步包括:中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组,并且所述第二虚拟通道与指定的等待时间敏感度相关联。
示例14可以包括示例10至13的主题,并且来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
示例15可以包括示例10至14的主题,进一步包括:重启对所述中断的分组的剩余片段的发射。
示例16可以包括示例10至15的主题,进一步包括:如果所述第二分组耗尽流控制数位,则将所述分组中的第一分组交织到所述分组中的第二分组中。
示例17可以包括示例10至16的主题,进一步包括:将所述虚拟通道中的每条虚拟通道与通信量类别相关联。
示例18可以包括示例10至17的主题,进一步包括:从所述网络的网络结构管理器中接收虚拟通道配置信息,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
根据示例19,提供了至少一种计算机可读存储介质,其上存储有指令,所述指令在由处理器执行时引起以下用于增强型网络通信的操作。所述操作可以包括:对由在多条虚拟通道(VL)上发射的分组消耗的带宽进行测量,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;基于所述测量带宽与所述所分配的网络带宽份额的比较对所述VL优先级进行调整;以及基于所述经调整的VL优先级发射所述分组。
示例20可以包括示例19的主题,并且所述调整进一步包括:如果所述测量带宽超过所述所分配的网络带宽份额,则将所述VL优先级降低至从优先级范围中所选择的最低值。
示例21可以包括示例19和示例20的主题,并且所述调整进一步包括:如果所述测量带宽超过所述所分配的网络带宽份额,则取消所述VL被发射的资格。
示例22可以包括示例19至21的主题,进一步包括:中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组,并且所述第二虚拟通道与指定的等待时间敏感度相关联。
示例23可以包括示例19至22的主题,并且来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
示例24可以包括示例19至23的主题,进一步包括:重启对所述中断的分组的剩余片段的发射。
示例25可以包括示例19至24的主题,进一步包括:如果所述第二分组耗尽流控制数位,则将所述分组中的第一分组交织到所述分组中的第二分组中。
示例26可以包括示例19至25的主题,进一步包括:将所述虚拟通道中的每条虚拟通道与通信量类别相关联。
示例27可以包括示例19至26的主题,进一步包括:从所述网络的网络结构管理器中接收虚拟通道配置信息,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
根据示例28,提供了一种用于增强型网络通信的系统。所述系统可以包括:用于对由在多条虚拟通道(VL)上发射的分组消耗的带宽进行测量的装置,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;用于基于所述测量带宽与所述所分配的网络带宽份额的比较对所述VL优先级进行调整的装置;以及用于基于所述经调整的VL优先级发射所述分组的装置。
示例29可以包括示例28的主题,并且所述用于进行调整的装置进一步包括:用于如果所述测量带宽超过所述所分配的网络带宽份额则将所述VL优先级降低至从优先级范围中所选择的最低值的装置。
示例30可以包括示例28和示例29的主题,并且所述用于进行调整的装置进一步包括:用于如果所述测量带宽超过所述所分配的网络带宽份额则取消所述VL被发射的资格的装置。
示例31可以包括示例28至30的主题,进一步包括:用于中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组的装置,并且所述第二虚拟通道与指定的等待时间敏感度相关联。
示例32可以包括示例28至31的主题,并且来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
示例33可以包括示例28至32的主题,进一步包括:用于重启对所述中断的分组的剩余片段的发射的装置。
示例34可以包括示例28至33的主题,进一步包括:用于如果所述第二分组耗尽流控制数位则将所述分组中的第一分组交织到所述分组中的第二分组中的装置。
示例35可以包括示例28至34的主题,进一步包括:用于将所述虚拟通道中的每条虚拟通道与通信量类别相关联的装置。
示例36可以包括示例28至35的主题,进一步包括:用于从所述网络的网络结构管理器中接收虚拟通道配置信息的装置,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
本文已采用的术语和表达用作描述术语且没有限制,并且在使用这种术语和表达时不旨在排除所示且所描述的特征(或其部分)的任何等效物,并且认识到在权利要求书范围内的各种修改是有可能的。在此已经描述了各种特征、方面和实施例。如将由本领域技术人员理解的,特征、方面和实施例易受与彼此的组合以及受变化和修改的影响。因此,本公开应被认为包含这种组合、变化和修改。
Claims (21)
1.一种用于与一个或多个其他网络节点进行通信的网络控制器,所述网络控制器包括:
发射机电路,所述发射机电路用于在多条虚拟通道VL上发射分组,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;
带宽监测器模块,所述带宽监测器模块用于对由在所述多条VL中的每条VL上发射的分组消耗的带宽进行测量;以及
仲裁器模块,所述仲裁器模块用于执行所测量的带宽与所述所分配的网络带宽份额的比较以响应于指示所述所测量的带宽超过所述所分配的网络带宽份额的比较对所述VL优先级进行调整,并用于基于经调整的VL优先级发射所述分组,其中,所述VL优先级调整包括:如果所测量的带宽超过所述所分配的网络带宽份额,则将所述VL优先级降低至从优先级范围中所选择的最低值或取消所述VL被发射的资格。
2.如权利要求1所述的网络控制器,进一步包括抢占模块,所述抢占模块用于中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组,其中,所述第二虚拟通道与指定的等待时间敏感度相关联。
3.如权利要求2所述的网络控制器,其中,来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
4.如权利要求2所述的网络控制器,其中,所述抢占模块进一步用于重启对所述中断的分组的剩余片段的发射。
5.如权利要求1所述的网络控制器,进一步包括交织模块,所述交织模块用于:如果所述分组中的第二分组耗尽流控制数位,则将所述分组中的第一分组交织到所述分组中的第二分组中。
6.如权利要求1所述的网络控制器,其中,所述虚拟通道中的每条虚拟通道与通信量类别相关联。
7.如权利要求2所述的网络控制器,其中,在网络结构交换机中采用所述控制器,并且所述控制器用于从所述网络结构的结构管理器中接收虚拟通道配置信息,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
8.如权利要求1所述的网络控制器,其中,在进一步包括处理器的网络节点中采用所述网络控制器,其中,所述网络节点结合在片上系统SoC中。
9.一种用于增强型网络通信的方法,所述方法包括:
对由在多条虚拟通道VL中的每条VL上发射的分组消耗的带宽进行测量,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;
执行所测量的带宽与所述所分配的网络带宽份额的比较;
响应于指示所述所测量的带宽超过所述所分配的网络带宽份额的比较对所述VL优先级进行调整,其中,所述VL优先级调整包括:如果所测量的带宽超过所述所分配的网络带宽份额,则将所述VL优先级降低至从优先级范围中所选择的最低值或取消所述VL被发射的资格;以及
基于经调整的VL优先级发射所述分组。
10.如权利要求9所述的方法,进一步包括:中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组,其中,所述第二虚拟通道与指定的等待时间敏感度相关联。
11.如权利要求10所述的方法,其中,来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
12.如权利要求10所述的方法,进一步包括:重启对所述中断的分组的剩余片段的发射。
13.如权利要求9所述的方法,进一步包括:如果所述分组中的第二分组耗尽流控制数位,则将所述分组中的第一分组交织到所述分组中的第二分组中。
14.如权利要求10所述的方法,进一步包括:从所述网络的网络结构管理器中接收虚拟通道配置信息,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
15.至少一种计算机可读存储介质,其上存储有指令,所述指令在由处理器执行时引起以下用于增强型网络通信的操作,包括:
对由在多条虚拟通道VL中的每条VL上发射的分组消耗的带宽进行测量,所述VL与所定义的VL优先级以及所分配的网络带宽份额相关联;
执行所测量的带宽与所述所分配的网络带宽份额的比较;
响应于指示所述所测量的带宽超过所述所分配的网络带宽份额的比较对所述VL优先级进行调整,其中,所述VL优先级调整包括:如果所测量的带宽超过所述所分配的网络带宽份额,则将所述VL优先级降低至从优先级范围中所选择的最低值或取消所述VL被发射的资格;以及
基于经调整的VL优先级发射所述分组。
16.如权利要求15所述的计算机可读存储介质,进一步包括:中断从第一虚拟通道发射所述分组以便从第二虚拟通道发射分组,其中,所述第二虚拟通道与指定的等待时间敏感度相关联。
17.如权利要求16所述的计算机可读存储介质,其中,来自所述第一虚拟通道的所述中断的分组的所述优先级低于来自所述第二虚拟通道的所述发射的分组的所述优先级。
18.如权利要求16所述的计算机可读存储介质,进一步包括:重启对所述中断的分组的剩余片段的发射。
19.如权利要求15所述的计算机可读存储介质,进一步包括:如果所述分组中的第二分组耗尽流控制数位,则将所述分组中的第一分组交织到所述分组中的第二分组中。
20.如权利要求16所述的计算机可读存储介质,进一步包括:从所述网络的网络结构管理器中接收虚拟通道配置信息,所述虚拟通道配置信息包括:所述所定义的VL优先级;所述所分配的网络带宽份额;以及所述等待时间敏感度。
21.一种用于增强型网络通信的系统,所述系统包括用于执行如权利要求9至14所述的方法中的任一种方法的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/016442 WO2016133508A1 (en) | 2015-02-18 | 2015-02-18 | Traffic class arbitration based on priority and bandwidth allocation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106063206A CN106063206A (zh) | 2016-10-26 |
CN106063206B true CN106063206B (zh) | 2020-09-22 |
Family
ID=56692419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580009256.1A Active CN106063206B (zh) | 2015-02-18 | 2015-02-18 | 基于优先级和带宽分配的通信量类别仲裁 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10237191B2 (zh) |
EP (1) | EP3097671B1 (zh) |
JP (1) | JP6420354B2 (zh) |
CN (1) | CN106063206B (zh) |
WO (1) | WO2016133508A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9998935B2 (en) | 2014-11-18 | 2018-06-12 | Duelight Llc | System and method for sharing data based on a combined bandwidth consumption |
US10009291B1 (en) * | 2015-12-21 | 2018-06-26 | Amazon Technologies, Inc. | Programmable switching fabric for dynamic path selection |
US10341259B1 (en) | 2016-05-31 | 2019-07-02 | Amazon Technologies, Inc. | Packet forwarding using programmable feature prioritization |
US10574664B2 (en) * | 2017-08-04 | 2020-02-25 | Dish Network L.L.C. | Device zoning in a network gateway device |
US10860358B2 (en) * | 2017-09-21 | 2020-12-08 | Microsoft Technology Licensing, Llc | Virtualizing datacenter bridging settings for virtual network adapters |
DE102017130547A1 (de) | 2017-12-19 | 2019-06-19 | Volkswagen Aktiengesellschaft | Verfahren zum Senden von Datenpaketen, Steuergerät und System mit Steuergerät |
US11095560B2 (en) * | 2017-12-30 | 2021-08-17 | Intel Corporation | Technologies for ethernet gateway congestion management in high-performance computing architectures |
US10809942B2 (en) * | 2018-03-21 | 2020-10-20 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
US10574755B2 (en) * | 2018-03-28 | 2020-02-25 | Wipro Limited | Method and high performance computing (HPC) switch for optimizing distribution of data packets |
DE102018206780B4 (de) | 2018-05-02 | 2024-08-14 | Volkswagen Aktiengesellschaft | Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit |
US11048552B2 (en) * | 2018-05-30 | 2021-06-29 | Texas Instruments Incorporated | High-speed broadside communications and control system |
US11258877B2 (en) | 2018-07-26 | 2022-02-22 | Netapp, Inc. | Methods for managing workloads in a storage system and devices thereof |
US11093425B2 (en) | 2018-08-20 | 2021-08-17 | Apple Inc. | Systems and methods for arbitrating traffic in a bus |
KR102588143B1 (ko) | 2018-11-07 | 2023-10-13 | 삼성전자주식회사 | 메모리 컨트롤러를 포함하는 스토리지 장치 및 메모리를 포함하는 전자 시스템을 동작시키는 방법 |
JP7206920B2 (ja) * | 2019-01-08 | 2023-01-18 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
US11310169B2 (en) * | 2019-07-22 | 2022-04-19 | Arm Limited | Network-on-chip topology generation |
US11283729B2 (en) * | 2019-07-22 | 2022-03-22 | Arm Limited | Network-on-chip element placement |
US12250145B2 (en) * | 2019-07-22 | 2025-03-11 | Arm Limited | Network-on-chip topology generation |
US11700206B2 (en) * | 2019-11-19 | 2023-07-11 | Oracle International Corporation | System and method for supporting RDMA bandwidth restrictions in a private fabric in a high performance computing environment |
US11789807B1 (en) | 2021-03-30 | 2023-10-17 | Amazon Technologies, Inc. | Autonomous management of communication links |
US20220400113A1 (en) * | 2021-06-15 | 2022-12-15 | Fortinet, Inc | Systems and methods for focused learning of application structure and ztna policy generation |
US11909850B1 (en) * | 2021-06-23 | 2024-02-20 | Amazon Technologies, Inc. | Dynamic improvement of a communication channel |
US12039169B2 (en) * | 2022-04-07 | 2024-07-16 | Apple Inc. | Bandwidth-aware fabric traffic shaping |
CN115473855B (zh) * | 2022-08-22 | 2024-04-09 | 阿里巴巴(中国)有限公司 | 网络系统、数据传输方法 |
US12101252B2 (en) * | 2022-08-25 | 2024-09-24 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for implementing routing path groups between emulated switches |
CN118748653B (zh) * | 2024-06-07 | 2025-03-04 | 北京开源芯片研究院 | 数据包发送方法、装置、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003005227A1 (en) * | 2001-07-05 | 2003-01-16 | Sandburst Corporation | Method and apparatus for allocating link bandwidth |
US7760752B2 (en) * | 2003-07-21 | 2010-07-20 | Qlogic, Corporation | Programmable pseudo virtual lanes for fibre channel systems |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60024228T2 (de) | 1999-01-08 | 2006-08-10 | Nortel Networks Ltd., St. Laurent | Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung |
US7010607B1 (en) | 1999-09-15 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Method for training a communication link between ports to correct for errors |
US7724760B2 (en) * | 2001-07-05 | 2010-05-25 | Broadcom Corporation | Method and apparatus for bandwidth guarantee and overload protection in a network switch |
US6950394B1 (en) * | 2001-09-07 | 2005-09-27 | Agilent Technologies, Inc. | Methods and systems to transfer information using an alternative routing associated with a communication network |
US7187688B2 (en) | 2002-06-28 | 2007-03-06 | International Business Machines Corporation | Priority arbitration mechanism |
US7076569B1 (en) * | 2002-10-18 | 2006-07-11 | Advanced Micro Devices, Inc. | Embedded channel adapter having transport layer configured for prioritizing selection of work descriptors based on respective virtual lane priorities |
US7525983B2 (en) * | 2003-07-21 | 2009-04-28 | Qlogic, Corporation | Method and system for selecting virtual lanes in fibre channel switches |
US7188198B2 (en) * | 2003-09-11 | 2007-03-06 | International Business Machines Corporation | Method for implementing dynamic virtual lane buffer reconfiguration |
US7436845B1 (en) * | 2004-06-08 | 2008-10-14 | Sun Microsystems, Inc. | Input and output buffering |
US7983299B1 (en) * | 2006-05-15 | 2011-07-19 | Juniper Networks, Inc. | Weight-based bandwidth allocation for network traffic |
US8447872B2 (en) | 2006-11-01 | 2013-05-21 | Intel Corporation | Load balancing in a storage system |
US8144582B2 (en) * | 2008-12-30 | 2012-03-27 | International Business Machines Corporation | Differentiating blade destination and traffic types in a multi-root PCIe environment |
US9158565B2 (en) * | 2011-02-22 | 2015-10-13 | Fts Computertechnik Gmbh | Predictable computing in virtualizated distributed computer systems based on partitioning of computation and communication resources |
US9716659B2 (en) * | 2011-03-23 | 2017-07-25 | Hughes Network Systems, Llc | System and method for providing improved quality of service over broadband networks |
US9094345B2 (en) * | 2012-01-31 | 2015-07-28 | International Business Machines Corporation | Reservation system for an ethernet network |
US9160678B2 (en) * | 2013-04-15 | 2015-10-13 | International Business Machines Corporation | Flow control credits for priority in lossless ethernet |
CN105579991A (zh) * | 2013-07-23 | 2016-05-11 | 慧与发展有限责任合伙企业 | 使用优先级进行工作保持的带宽保证 |
US9325641B2 (en) * | 2014-03-13 | 2016-04-26 | Mellanox Technologies Ltd. | Buffering schemes for communication over long haul links |
US9906454B2 (en) * | 2014-09-17 | 2018-02-27 | AppFormix, Inc. | System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted |
EP3213471B1 (en) * | 2014-10-31 | 2018-08-29 | Oracle International Corporation | System and method for supporting partition-aware routing in a multi-tenant cluster environment |
US11805065B2 (en) * | 2019-02-27 | 2023-10-31 | Intel Corporation | Scalable traffic management using one or more processor cores for multiple levels of quality of service |
-
2015
- 2015-02-18 CN CN201580009256.1A patent/CN106063206B/zh active Active
- 2015-02-18 EP EP15881424.4A patent/EP3097671B1/en active Active
- 2015-02-18 WO PCT/US2015/016442 patent/WO2016133508A1/en active Application Filing
- 2015-02-18 JP JP2016552987A patent/JP6420354B2/ja active Active
- 2015-02-18 US US15/120,038 patent/US10237191B2/en active Active
-
2019
- 2019-01-28 US US16/259,228 patent/US10715452B2/en active Active
-
2020
- 2020-07-14 US US16/929,064 patent/US11528229B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003005227A1 (en) * | 2001-07-05 | 2003-01-16 | Sandburst Corporation | Method and apparatus for allocating link bandwidth |
US7760752B2 (en) * | 2003-07-21 | 2010-07-20 | Qlogic, Corporation | Programmable pseudo virtual lanes for fibre channel systems |
Also Published As
Publication number | Publication date |
---|---|
US20210036959A1 (en) | 2021-02-04 |
EP3097671B1 (en) | 2021-05-19 |
CN106063206A (zh) | 2016-10-26 |
EP3097671A1 (en) | 2016-11-30 |
JP2017509240A (ja) | 2017-03-30 |
JP6420354B2 (ja) | 2018-11-07 |
US10715452B2 (en) | 2020-07-14 |
US20190230037A1 (en) | 2019-07-25 |
WO2016133508A1 (en) | 2016-08-25 |
US11528229B2 (en) | 2022-12-13 |
US10237191B2 (en) | 2019-03-19 |
US20160373362A1 (en) | 2016-12-22 |
EP3097671A4 (en) | 2017-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106063206B (zh) | 基于优先级和带宽分配的通信量类别仲裁 | |
US11575609B2 (en) | Techniques for congestion management in a network | |
US20240039836A1 (en) | Algorithms for use of load information from neighboring nodes in adaptive routing | |
US20240195740A1 (en) | Receiver-based precision congestion control | |
Birrittella et al. | Intel® omni-path architecture: Enabling scalable, high performance fabrics | |
US10346326B2 (en) | Adaptive interrupt moderation | |
US9172655B1 (en) | Systems and methods for quality of service in networks | |
US20080077724A1 (en) | Interrupt coalescing control scheme | |
CN107347198A (zh) | 一种限速方法、限速控制节点和限速设备 | |
US20220103484A1 (en) | Congestion control | |
US20230403233A1 (en) | Congestion notification in a multi-queue environment | |
CN116868553A (zh) | 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度 | |
US20190097935A1 (en) | Technologies for selecting non-minimal paths and throttling port speeds to increase throughput in a network | |
US9154569B1 (en) | Method and system for buffer management | |
CN112052075A (zh) | 云桌面虚拟机的热迁移方法、服务器及存储介质 | |
US20240267340A1 (en) | Time ordered switching | |
US20240205311A1 (en) | Ethernet auto-negotiation technology ability and forward error correction (fec) functions | |
US9046941B1 (en) | System and method for sharing logic in a network device | |
US8924764B1 (en) | Systems and methods for rate matching in networks utilizing a strobe counter | |
CN117891626A (zh) | 远程直接数据存取方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |