CN107431666B - 用于在数据中心环境中实现低时延的方法、装置和介质 - Google Patents
用于在数据中心环境中实现低时延的方法、装置和介质 Download PDFInfo
- Publication number
- CN107431666B CN107431666B CN201680007477.XA CN201680007477A CN107431666B CN 107431666 B CN107431666 B CN 107431666B CN 201680007477 A CN201680007477 A CN 201680007477A CN 107431666 B CN107431666 B CN 107431666B
- Authority
- CN
- China
- Prior art keywords
- flows
- flow
- flow table
- data
- active
- 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/215—Flow control; Congestion control using token-bucket
-
- 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/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- 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/21—Flow control; Congestion control using leaky-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Abstract
提供了示例性的方法,并且包括在网络元件处维护流表,其中,流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个,并且在活跃流中的一个流的数据分组的网络元件处接收之后,使用包含在对应于活跃流中的一个流的流表条目中的值,来将活跃流中的该流表征为大量流或少量流。该方法还包括根据表征来处理接收到的分组。
Description
技术领域
本公开总地涉及数据中心网络环境,更具体地,涉及用于在这种网络环境中实现低时延的技术。
背景技术
近期出现了各种各样的应用和平台,在实现这些应用和平台的数据中心中需要非常低的时延。一个这样的应用是“MapReduce”,它遵循请求-响应(或请求-回复)模型。请求-响应是计算设备所用来彼此通信的基本技术之一,并且涉及向第二计算设备发送针对数据的请求的第一计算设备,以及对该请求做出响应的第二设备。通常,将存在一系列交换直到完整的消息从第二计算设备发送到第一计算设备。在MapReduce应用程序中,请求被分成多个较小的子请求,其每一个可以被发送到数据中心的多个不同的服务器中的一个服务器。一旦从服务器收到对所有的子请求的响应,则事务就被视为完成。因为接收到的最后一个响应确定事务的完成,所以一旦从所有的服务器接收到对每个子请求的响应,则事务被完成。因为接收到的最后一个响应确定了事务的完成,所以各个子请求的尾部时延很重要,并且被要求尽可能的小。
发明内容
本发明的一个实施例提供了一种用于在数据中心环境中实现低时延的方法,包括:在网络元件处维护流表,其中所述流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个;在网络元件处接收所述活跃流中的一个的数据分组之后,使用包含在对应于所述活跃流中的一个流的流表条目中的值,将所述活跃流中的一个流表征为大量流或少量流;并且根据表征来处理接收到的数据分组,其中,根据表征来处理所述接收到的分组包括:如果流中的一个流被表征为大量流,则使用令牌桶对所述流中的一个流的分组进行测步传输,以控制所述流中的一个流的分组被传输的速率,其中等待传输的分组在缓冲器中排队。
根据本公开的另一实施例,提供了一种具有编码在其上的逻辑的非暂态有形介质,所述逻辑包括用于执行的指令,并且当由处理器执行时,所述指令可操作以执行包括以下的操作:在网络元件处维护流表,其中所述流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个;在网络元件处接收所述活跃流中的一个的数据分组之后,使用包含在对应于所述活跃流中的一个流的流表条目中的值,将所述活跃流中的一个流表征为大量流或少量流;并且根据表征来处理接收到的数据分组,其中,根据表征处理所述接收到的分组包括:如果流中的一个流被表征为大量流,则使用令牌桶对所述流中的一个流的分组进行测步传输,以控制所述流中的一个流的分组被传输的速率,其中等待传输的分组在一个缓冲区内排队。
根据本公开的又一实施例,提供了一种用于在数据中心环境中实现低时延的装置,包括:存储器,用于存储数据;以及处理器,可操作以执行与所述数据相关联的指令,其中所述处理器和所述存储器协作,使得所述装置被配置为:在网络元件处维护流表,其中所述流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个;在网络元件处接收所述活跃流中的一个的数据分组之后,使用包含在对应于所述活跃流中的一个流的流表条目中的值,将所述活跃流中的一个流表征为大量流或少量流;并且根据表征来处理接收到的数据分组,其中,根据所述表征处理所述接收到的分组包括:如果所述流中的一个流被表征为大量流,则使用令牌桶对所述流中的一个流的分组进行测步传输,以控制传输所述流中的一个流的分组的速率,其中等待传输的分组在缓冲区内排队。
附图说明
为了提供对于本公开及其特征和优点的更全面理解,结合附图做出以下说明书的参考,其中相似的附图标记表示相似的部分,其中:
图1是根据本公开的实施例的用于减少数据中心环境中的数据分组传输时延的系统的简化框图;
图2是根据本公开的实施例的示出了用来将流表征为少量流或大量流的技术的流程图;
图3是根据本公开的实施例示出了用于实现动态测步策略(pacing strategy)的技术的流程图;
图4是根据本公开的实施例示出了用于实现基于流的中断合并(Flow-BasedInterrupt Coalescence)(“FIC”)的技术的流程图;以及
图5是根据本公开的实施例的用于在数据中心环境中实现数据分组传输时延减少技术的网络元件(诸如虚拟接口卡)的简化框图。
具体实施方式
概述
提供了示例性的方法,并且包括在网络元件处维护流表,其中流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个,并且在活跃流中的一个活跃流的数据分组的网络元件处接收之后,使用包含在对应于活跃流中的一个流的流表条目中的值将活跃流中的该流表征为大量流或少量流。该方法还包括根据表征处理接收到的分组。在一些实施例中,根据表征来处理接收到的分组包括:如果流中的一个被表征为大量流,则使用令牌桶对该流中的一个流的分组进行测步传输,以控制传输该流中的一个流的分组的速率,其中,等待传输的分组在缓冲器中排队。在某些实施例中,使用动态测步策略来部署测步,其中根据在预定时间段期间接收到的流中的一个流的数据量来修改桶填充速率。
在一些实施例中,根据表征来处理接收到的分组包括,如果流中的一个流是少量流则减少中断合并(“IC”),如果流中的一个流是大量流,则增加IC。表征过程可以包括确定流中的一个流是否具有近期的开始时间,确定流中的一个流是否频繁地发生,和/或确定流中的一个流的流速是否低。
示例的实施例
下面的讨论参考各种实施例。然而,应当理解,本公开不限于具体描述的实施例。而是,无论是否与不同实施例相关,以下特征和元件的任何组合都被考虑以实现和实践本公开。此外,尽管实施例可以实现优于其他可能的解决方案和/或有用现有技术的优点,无论特定优点是否由给定实施例实现,并不作为对本公开的限制。因此,以下方面、特征、实施例和优点仅仅是说明性的,并且不被认为是所附权利要求的元件或限制,除非在(一个或多个)权利要求中明确地指出。同样,对于“本公开”的参考不应理解为对本文公开的任何主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在(一个或多个)权利要求中明确地指出。
如将理解的,本公开的方面可以体现为系统、方法、或计算机程序产品。因此,本公开的方面可以具有完全是硬件实施例、完全是软件的实施例(包括固件、驻留软件、微代码等),或者可以将软件和硬件方面组合的实施例的形式,其可以通常在本文被称为“电路”、“模块”或“系统”。此外,本公开的方面可以具有体现在一个或多个计算机可读介质中的计算机程序产品的形式,该介质具体现在其上的计算机可读程序代码。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外、或半导体系统、装置或设备,或前述的任何合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)将包括以下内容:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或任何上述的合适组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用的或与其连接的程序的任何有形介质。
用于对本公开的方面执行操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,包括诸如JavaTM、SmalltalkTM、C++之类的面向对象的编程语言,和诸如“C”编程语言之类的常规程序编程语言或类似的编程语言。
下面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的各方面。应当理解,流程图和/或框图的每个块以及在流程图和/或框图中的块的组合,可以由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器,以产生机器,使得通过计算机的处理器或其他可编程数据处理装置执行的指令能够创建用于实现在流程图和/或框图块或多个块中指定的功能/动作的装置。
这些计算机程序指令还可以被存储在计算机可读介质中,该计算机可读介质可以引导计算机、其他可编程数据处理装置、或其他设备以特定方式工作,使得储存在计算机可读介质中的指令产生包括执行在流程图和/或框图块或多个块中指定的功能/动作的制品。
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,使得一系列操作步骤能够在计算机、其他可编程装置或其他设备上执行,以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令能够提供用于实现在流程图和/或框图块或多个块中指定的功能/动作的过程。
附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法、和计算机程序产品的可能的实现方式的架构、功能、和操作。在这方面,流程图或框图中的每个块可以表示代码的模块、段、或部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。还应该注意的是,在一些替代的实现方式中,块中记载的功能可能不按照图中记载的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可能大体上同时执行,或者块有时可能以不同的顺序执行。还应当注意,框图和/或流程图说明中的每个块,以及框图和/或流程图说明中的块的组合可以由执行指定的功能或动作的专用基于硬件的系统或专用硬件和计算机指令的组合来实现。
现参考图1,其中示出了其中用于实现低时延的技术可以被实现的10的简化框图。如图1所示,系统10包括用于将服务器14连接到数据中心结构16的一对交换设备12A、12B。交换设备12A,12B可以被实现为结构互连,其如以下更详细地描述地支持FC和以太网协议两者。此外,尽管无需系统10的操作,还可以提供一个或多个结构扩展器15A、15B。结构扩展器15A、15B的主要功能是增加系统10中可用的物理端口的数量,从而增加可能连接到系统的服务器(例如服务器14)的数量。包括服务器14的服务器可以直接地或通过结构扩展器15A、15B连接到开关设备12A、12B。在一些实施例中,服务器14可以被实现为思科UCS B系列刀片服务器(Cisco UCS B-Series Blade Server)。
在一个实施例中,根据由Cisco Systems,Inc.,San Jose,California开发的思科联合计算系统(Cisco Unified Computing System)(“UCS”)架构来实现系统10。通常,UCS是将计算、网络存储访问、和虚拟化整合到被设计以降低实现成本和提高敏捷性的单独的聚合系统的数据中心平台。UCS可以支持计算机或服务器及其组件(包括FC存储适配器)的自动带内发现。此外,UCS可以维护所发现的服务器的清单,监控所发现的服务器的健康状况。这些过程发生在用户无需输入任何设备凭据的情况下。此外,UCS可以向用户提供清单报告并且提供基于角色的访问控制(“RBAC”)系统,使得配置任务能够在例如服务器管理员和存储管理员之间被分开。完全冗余UCS系统包括两个独立的结构平面:结构A(Fabric A)和结构B(Fabric B)。每个平面包括在每个刀片服务器机箱中的连接到输入/输出(“I/O”)模块的互连的中央结构,该输入/输出模块作为结构扩展器。从数据平面的角度,两个结构互连完全独立。如果其他架构脱机或未配置,Cisco UCS可以以单个机构互连进行。
UCS本身是无状态的,逻辑配置规范被称为用于指示服务器配置的每个方面(包括I/O配置、固件版本、和设置)的服务简档,从而加速虚拟基础架构配置。一旦得以创建,服务简档就可以在支持逻辑配置要求的任何物理服务器上部署。服务简档还可以指定是否使用在服务器硬件中刻录的全球名称(“WWN”)地址,或置换其虚拟WWN地址。即使没有连接的物理服务器,也可以定义逻辑服务器。以这种方式,UCS使逻辑服务器能够被部署在物理服务器上,这使得如服务简档(包括存储适配器的WWN地址)中指定的一样配置物理服务器。UCS针对所有流量、通信和存储使用基于标准的低时延高带宽的10Gigabit(千兆比特)以太网和以太网光纤通道(“FCoE”)网络。因此,UCS通过将UCS服务器作为单个系统进行互连并且将该系统直接链接到以太网和FC聚合层,来简化与存储阵列的连接。
在一个实施例中,UCS的计算组件包括供电服务器机箱和多个全或半槽口(slot)服务器。UCS支持各种管理程序,包括VMware ESX和ESXi,仅举几例:两者都可以从VMware,Inc.,of Palo Alto,California,Hyper-V获得,可以从Microsoft Corporation ofRedmond,Washington,and XenServer获得,可以从Citrix Systems,Inc.,of FortLauderdale,Florida获得,以上仅举几例。VMware ESX和ESXi是“裸机”管理程序,可以直接在服务器硬件上运行而无需任何其他软件,并且提供必要的功能以在物理服务器上托管多个访问者OSe(操作系统)。此外,虚拟网络接口卡(“vNIC”)可以采用提供VM直接访问服务器硬件的技术用于经改善的性能和网络可见性。
如前所述,可以使用可以从Cisco Systems,Inc.获得的Nexus 6100或6200系列交换机所实现的结构互连12A、12B,通过10Gigabit(千兆比特)和以太网光纤通道(“FCoE”)为连接到其的服务器提供网络连接。每个结构互连还可以连接到多个结构扩展器,这可以使用包含端口扩展器的Nexus 2100系列结构互连来实现,该端扩展器允许至多160个服务器由单个结构互连进行管理。在一个实施例中,每个结构互连包括可以连接至多20个服务器机箱的物理端口,该服务器机箱可以使用Cisco 5100系列刀片服务机箱来实现。每个机箱最多可以容纳八个1/2宽度刀片服务器或四个全刀片服务器;因此,最多总共160个(1/2刀片)服务器可以连接到每个交换机。
如前所述,UCS是一种无状态计算系统。特别地,每个计算节点没有设置配置。例如,MAC地址、UUID、固件和BIOS设置都通过UCS管理器模块通过应用于服务器(如服务器14)的服务简档来配置。由于新的服务简档可以以几分钟的方式应用于服务器,这可以实现一致的配置并且辅助服务器的重新使用。
再次参考图1,根据一个实施例的特征,服务器14包括虚拟接口卡(“VIC”)22和用于管理在服务器14上被实例化的多个VM的管理程序23,该虚拟接口卡22通过动态地实例化服务器上的PCI设备来执行PCI虚拟化的物理适配器。VIC 22可以被设计用于单个OS和基于VM的部署两者,支持网络接口虚拟化和VM-链路管理程序集成。特别地,VIC 22可以用于配置多于100个虚拟PCI适配器,如图1的适配器24A-24G所示,其可以包括虚拟网络接口卡(“vNIC”)和虚拟主机总线适配器(“vHBAs”),每个适配器都有其自己的特征并且可用于联网或存储。在所示的实施例中,几个适配器(例如,适配器24A-24D)包括vNIC以提供到在服务器14上实例化的VM 26A-26B的连接。在一个实施例中,VIC 22被实现为可以从CiscoSystem,Inc获得的Cisco UCS 1280虚拟接口卡(“VIC”)。出于以下将要详细说明的目的,适配器固件30嵌入VIC 22并且由VIC 22执行。如前所述,在一个实施例中,VIC 22能够从单个物理适配器(即,VIC 22)实例化多个FC vHBA(例如,适配器24E、24F)和/或多个以太网vNIC(例如,适配器24A-24D)。暴露给管理程序23的vHBA被用于发送和接收FC流量。类似地,暴露给管理程序23的vNIC用于发送和接收以太网流量。
在诸如图1所示的现代数据中心中,全尺寸分组可以以微秒(即,1.2μs 1500字节,以每秒10Gigabit(“Gbps”))进行转发,并且交换时延大约为几百纳秒。相比之下,端到端的时延可以达到至多几微秒用于分组传送,这主要是由于队列建立和沿传送路径的排队时延。诸如零-缓冲区拷贝和内核旁路之类的技术目的为改善时延;然而,他们主要仅避免轻微延迟,并且无法解决重大的延迟,诸如排队等候的那些延迟。
可能导致或增加排队延迟的两个因素是(1)大量发送卸载(“LSO”)和(2)中断合并(“IC”)。LSO是部署在计算机网络中的技术,用于通过减少CPU开销来增加高带宽网络连接的出站吞吐量。应当认识到,当计算机系统需要通过计算机网络发送大数据块时,首先这些块需要分解成较小的段,这些段可以由源计算机和目标计算机之间的各种网络元件(例如交换机和路由器)进行管理。使用LSO,源计算机的主CPU可以在单个发送-请求中将大的数据单元(例如,64kB)移交给NIC。数据单元在NIC处排队,最终将数据分解成更小的数据段,添加各种协议头部,并且通过网络发送结果帧。这显著减少了CPU执行的工作,并且使数据速率达到10Gbps甚至更高,因为CPU不必执行分段和打包(因此节省宝贵的CPU周期);然而它必然导致在NIC处的临时队列累积,因此增加了时延。
IC是当前NIC用于延迟中断CPU以及等待将在一个中断中处理的较多批次的分组的标准特征。使用了IC,则通常会触发硬件中断的事件(例如,待处理的数据分组的到达)被阻止,直到一定量的工作待决或超时定时器触发。恰当地使用时IC可以将中断负载减少一个数量级;然而聚合程度越大则分组在等待CPU处理时经历的时延越大。IC还会导致TCP-ACK时钟机制的破坏。因此,许多数据的MTU值由TCP在一个突发中释放,从而导致附加的时延。
再次参考图1,根据本文描述的实施例的特征,出于将在下面更详细描述的目的,VIC 22包括硬件流表32。在一个实施例中,流表32包括每个具有128k流记录的16个流表,向流表赋予储存多于一百万个不同流量条目的能力。在某些实施例中,UCS特征(例如基于适配器的网络流(Netflow))利用流表来报告和分析流。流表中的每个条目由对应于流的一组键进行索引。密钥通常是5-元组,包括VLAN标识(“vlan”)、源IP地址(“src ip”)、目的IP地址(“dest ip”)、源端口(“src port”)和目的地端口(“dest port”)。与密钥集合一起的是非键,它们是聚合的值。例如,网络流使用包括分组计数(“pkt cnt”)、字节计数(“bytecnt”)、流开始时间(“flow_start_time”)和流结束时间(“flow_end_time”)的非键。如前所述,非键是聚合的值,因此相同流的多个分组被聚合为单个流表条目。根据本文描述的实施例的特征,密钥和非键可以被设置在硬件中,使得分类和更新非常快速而不会不利地影响性能。
本文描述的实施例使用“基于流表的测步”和“基于流程表的IC”技术来减少数据中心网络环境中的时延。以下将更详细地描述每种技术。将首先解决基于流表的测步,并且将结合图2所示的简化框图来描述。如前所述,现代NIC(包括vNIC)采用诸如LSO之类的方案来降低CPU利用率并且增加链路速度。随着链路速度提高到10Gbps及以上,这种硬件卸载是不可避免的。为了减少由于处理突然的大量数据突发(例如64K)引起的队列建立而导致的排队延迟,引入了基于流表的测步。如本文所述,用于实现本文描述的动态测步策略的测步器模块采用了速率限制器机制,其在一些实施例中可以使用令牌桶来实现。应当认识到,在数据中心中,流可以分为包括“少量流”和“大量流”的两种类型中的一种。少量流是对时延敏感的流。大量流主要对吞吐量敏感但不特别对时延敏感。根据本文所描述的实施例的特征,如以下将描述的,大量流是“被测步”的;由于少量流的时延敏感性,少量流不被测步。
根据本文描述的实施例的特征,对于每个活跃流,流表(诸如流表52)中的相应条目的非键字段用于累积统计,该统计诸如分组计数、字节计数、流开始时间和流结束时间。
图2是示出了根据本文描述的实施例的将流分类为少量流或大量流的步骤的流程图。参考图2,在步骤40中,做出流开始时间是否是近期的确定。如果针对流的流记录中指示从流开始时间以来过去了不足10ms,则认为流开始时间是“近期的”。如果在步骤40中确定流开始时间不是近期的,则执行进行到步骤42。在步骤42中,做出流是否不频繁的确定。如果从流开始时间以来收集的分组数(“packet_cnt”)小于数K,则认为流是“不频繁的”。如果在步骤42中确定该流不频繁,则执行进行到步骤44。在步骤44中,做出发送速率是否低的确定。如果针对流接收到的最后n分组随时间被充分扩散,则认为发送的流速率“低”。换言之,如果分组速率小于速率R。如果在步骤44中确定发送的流速率不低,则执行进行到步骤46。在步骤46中,流被认为是大量流,并且如以下将详细描述的,动态测步策略被应用于该流。如果在步骤40、42或44任何一项中做出肯定的确定,则执行进行到步骤48,其中流被认为是“少量流”并且接收正常的(即,非测步)处理。应当认识到,如果流表条目在T秒内保持不活跃(即,没有接收到与相关联流有关联的分组),则该流表条目将从流表中被清除。
根据本文描述的实施例的特征,采用动态测步策略,在该策略中令牌生成速率被设置为初始速率,并且此后受到针对流的进入的分组速率的影响。在一个实施例中,令牌生成速率(“TGR”)(或桶填充速率)由以下公式定义:
TGR=(1-α)×current_rate+α(Bl/T1)
其中α是0到1范围内的常数,current_rate是当前令牌生成速率,以及B1是在时间T1内接收的字节数量。因此,测步器记录了在时间段T1内接收到的字节,并且使用上述公式的滞后修改令牌生成的测步器速率。
如前所述,测步器是速率限制器机制,其在当前示例的实施例中被实现为令牌桶。因此,对于引入到测步器模块的流,根据上述TGR,仅当令牌可用时,该流的分组才从测步器被发送;否则,分组被保持在测步器模块的队列中。例如,参考图3,在步骤60中,对于引入到测步器的每个分组,做出该测步器维护的分组队列是否为空的确定。如果在步骤60中做出肯定的确定,则执行进行到步骤61,其中做出令牌桶中是否存在令牌的确定。如果在步骤61中做出肯定的确定,则执行进行到步骤62,其中将接收到的分组转发到下一跳,并且将令牌从令牌桶中移除。如果在步骤60中做出肯定的确定,则执行进行到步骤64,其中分组被排队以等待下一个令牌。类似地,如果在步骤61中确定令牌桶中没有令牌,则执行也进行到步骤64。在完成步骤64之后,执行进行到步骤66,其中做出令牌桶中是否存在令牌的确定。如果在步骤66中做出否定的确定,则执行停留在步骤66,直到桶被重新填充。一旦在步骤66中做出肯定的确定,则执行进行到步骤68,其中队列中顶部的分组被移除,然后到步骤70,其中将分组转发到下一跳,并且将令牌从令牌桶中移除。
现在将更详细地描述基于流的IC(“FIC”)。通常,FIC的构想是动态地减少短期流的合并的时间。基于在流的流表条目中收集和聚合的流统计信息,可以确定流已经在长时间还是短时间段内处于活跃状态,从而将流分类为大量流或少量流。每个NIC都可以通过适当地更改“rx-frames(rx-帧)”参数来编程以设置中断合并。低rx-frames参数值对应于低中断合并(即,少的CPU中断合并,因此更多的CPU中断)。高rx-frames参数值对应于高中断合并(即,更多CPU中断合并,因此更少的CPU中断)。
如上参考图2所述,每个接收到的分组被散列到流表中并且被分类为少量流或长流。如果分组到达并被检测为短期流,则rx-frames参数将被设置为一定数量的分组(例如,2)。rx-frames参数指示将触发对CPU的中断以处理帧的接收到的分组的数量。如果分组属于少量流,则rx-frames参数将被设置为小的数字,例如2。或者,如果分组属于大量流,则可以将rx-frames参数设置为更大的数字,例如8或16。rx-frames参数的设置也可以动态地被执行。例如,如果已经接收到k个少量流分组的连续流,则可以将rx-frames参数减少二分之一直到达到下限(例如,rx-frame=2)。或者,如果在预定时间段到期之后接收到大量流分组而没有接收到任何少量流分组,则rx-frames可以被重置为原始的高值(例如,rx-frame=8或16)。
图4是示出了根据本文所述的实施例的FIC处理的操作的流程图。参考图4,在步骤80中,在接收到分组时,做出相应流是否是少量流的确定(例如,使用参考图2描述的过程)。如果接收到的分组是少量流的一部分,则执行进行到步骤82,其中通过第一预定的第一值(减少中断合并)来减少rx-frames参数。如果在步骤80中,确定了分组属于大量流,则执行进行到步骤84,其中rx-frames参数被增加或者增加到第二预定值(增加中断合并)。在步骤86中,做出从接收到最后一个少量流分组以来是否经过了预定的时间量的确定。如果在步骤86中做出否定的确定,则执行进行到步骤88,其中做出rx-frames参数的值是否处于下限的确定。如果在步骤88中做出否定的确定,则执行进行到步骤90,其中将rx-frames参数的值减小为x(例如2)分之一。之后,执行返回到步骤80。或者,如果在步骤88中做出肯定的确定,则执行返回到步骤80。
如果在步骤86中确定自从接收到最后一个少量流分组以来经过了预定的时间量,则执行进行到步骤92。在步骤92中,做出rx-frames参数的值是否出于上限的确定。如果在步骤92中做出否定的确定,则执行进行到步骤94,其中rx-frames参数的值被增加y倍(例如2),并且执行返回到步骤90。如果在步骤94中做出肯定的确定,执行返回到步骤90。
在一个示例的实现方式中,涉及实现本文描述的实施例的各种设备可以包括用于实现所述功能的软件。例如,现参考图5,用于实现本文描述的实施例的网络节点(由在图5中VIC 110表示)可以包括起测步器模块112和FIC模块113,每个模块包括体现在一个或多个有形介质中用于辅助本文所述的活动的软件。VIC 110还可以包括或与其相关联的存储设备(或存储元件)以储存用于实现本文概述的功能的信息,包括例如流表114。此外,VIC110可以包括能够执行软件或算法(诸如体现在模块112、113中)的处理器116来执行本说明书中讨论的功能。这些设备还可以将信息保持在任何适当的存储元件(随机存取存储器(“RAM”)、ROM、EPROM、EEPROM、ASIC等)、软件、硬件中,或基于特定需求在任何其它合适的组件、设备、元件或适合的对象。本文讨论的任何记存储项都应被解释为涵盖在广义术语“储存元件”中。类似地,本说明书中描述的任何潜在的处理元件、模块、和机器应被理解为涵盖在广义术语“处理器”内。每个网络元件还可以包括用于在网络环境中接收、发送、和/或以其他方式传送数据或信息的适合的接口。
注意,在某些示例的实现方式中,本文和图5中概述的功能可以由被编码在一个或多个有形介质(例如,被提供在专用集成电路(“ASIC”)的嵌入式逻辑、数字信号处理器(“DSP”)指令、的嵌入式逻辑、由处理器或其他类似机器执行的软件(可能包括目标代码和源代码)等)来实现。在这些实例中的一些情况下,存储元件可以存储用于本文描述的操作的数据。这包括能够存储执行以实施本说明书中描述的活动的软件、逻辑、代码或处理器指令的存储器元件。处理器可以执行与数据相关联的任何类型的指令,以实现本说明书中详细描述的操作。在一个示例中,如图5所示,处理器可以将元素或条款(例如,数据)从一个状态或事物转换到另一状态或事物。在另一示例中,本文概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文标识的元件可以是一些类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(“FPGA”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程ROM(“EEPROM”))或包括数字逻辑、软件、代码、电子指令的ASIC,或任何合适的组合。
应当注意,本文讨论的大量基础结构可以被配置作为任何类型的网络元件的一部分。如本文所使用的,术语“网络元件”或“网络设备”可以包括计算机、服务器、网络设备、主机、路由器、交换机、网关、网桥、虚拟设备、负载平衡器、防火墙、处理器、模块或可操作以在网络环境中交换信息的任何其他合适的设备,组件,元件或对象。此外,网络元件可以包括辅助其操作的任何合适的硬件、软件、组件、模块、接口或对象。这可以包括允许数据或信息的有效交换的适当算法和通信协议。
在一个实现中,网络元件/设备可以包括用于实现(或促进)本文讨论的管理活动的软件。这可以包括附图中所示的任何组件、引擎、逻辑等的实例的实现。此外,这些设备中的每个可以具有内部结构(例如,处理器、存储器元件等)以辅助本文所述的一些操作。在其他实施例中,这些管理活动可以在这些设备的外部执行,或者被包括在一些其他网络元件中以实现期望的功能。或者,这些网络设备可以包括可以与其他网络元件协调以便实现本文所述的管理活动的软件(或往复式软件)。在其他实施例中,一个或多个设备可以包括辅助其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
应当注意,通过上面提供的示例以及本文提供的许多其它示例,可以根据多个组件来描述交互。然而,这仅仅是出于清晰和示例的目的而进行。在某些情况下,通过仅引用有限数量的网络元件来描述给定的一组流的一个或多个功能可能更加容易。应当理解,参考附图(及其教导)中示出和描述的拓扑是容易扩展的,并且可以容纳大量组件以及更复杂/繁杂的布置和配置。因此,所提供的示例不应该限制范围或阻碍所示拓扑的广泛教导,潜在地应用于无数其他架构。
还应当注意,前述流程图中的步骤仅示出了可以由附图中所示的通信系统执行或在其内部执行的一些可能的信令方案和模式。这些步骤中的一些可以在适当的情况下被删除或移除,或者这些步骤可以在不脱离本公开的范围的情况下被修改或改变。此外,这些操作中的一些已被描述为与一个或多个附加操作同时执行或并行执行。然而,这些操作的时间可能会大大改变。上述操作流程是出于示例和讨论的目的而提供。因为在不脱离本公开的教导的情况下,可以提供任何合适的布置、年表、配置和定时机制,所以附图中所示的通信系统提供了显着的灵活性。
尽管已经参考特定布置和配置详细描述了本公开,在不脱离本公开的范围的情况下,这些示例配置和布置可以被显着地改变。例如,尽管已经参考特定的通信交换来描述了本公开,本文描述的实施例可以适用于其他架构。
本领域技术人员可以确定许多其它变化、置换、变更、改变和修改,并且其指的是,本公开涵盖了落入所附权利要求书范围内的所有这些变化、置换、变更、改变和修改。为了辅助美国专利商标局(USPTO)并且辅助对本申请所发表的任何专利的任何读者理解所附权利要求书,申请人希望强调的是,申请人:(a)由于该申请在提交之日存在,不意在所附权利要求涉及35U.S.C第112条的第六(6)段,除非在特定权利要求中具体使用“用于…的装置”或“用于…的步骤”等词语;以及(b)并不意在通过本说明书中的任何陈述,以未以其他方式反映在所附权利要求中的任何方式来限制本公开。
Claims (17)
1.一种用于在数据中心环境中实现低时延的方法,包括:
在网络元件处维护流表,其中所述流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个;
在网络元件处接收所述活跃流中的一个的数据分组之后,使用包含在对应于所述活跃流中的一个流的流表条目中的值,将所述活跃流中的一个流表征为大量流或少量流;并且
根据表征来处理接收到的数据分组,其中,根据表征来处理所述接收到的分组包括:
如果流中的一个流被表征为大量流,则使用令牌桶对所述流中的一个流的分组进行测步传输,以控制所述流中的一个流的分组被传输的速率,其中等待传输的分组在缓冲器中排队。
2.根据权利要求1所述的方法,其中,使用动态测步策略来部署所述测步,其中,根据在预定时间段期间接收到的所述流中的一个流的数据量来修改桶填冲速率。
3.根据权利要求1所述的方法,其中,根据所述表征处理所述接收到的分组包括:
如果所述流中的一个流是少量流,减少中断合并(“IC”);以及
如果所述流中的一个流是大量流,则增加所述IC。
4.根据权利要求1所述的方法,其中,表征包括确定所述流中的一个流是否具有近期的开始时间。
5.根据权利要求1所述的方法,其中,表征包括确定所述流中的一个流是否频繁发生。
6.根据权利要求1所述的方法,其中,表征包括确定所述流中的一个流的流速率是否低。
7.一种具有编码在其上的逻辑的非暂态有形介质,所述逻辑包括用于执行的指令,并且当由处理器执行时,所述指令可操作以执行包括以下的操作:
在网络元件处维护流表,其中所述流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个;
在网络元件处接收所述活跃流中的一个的数据分组之后,使用包含在对应于所述活跃流中的一个流的流表条目中的值,将所述活跃流中的一个流表征为大量流或少量流;并且
根据表征来处理接收到的数据分组,其中,根据表征处理所述接收到的分组包括:
如果流中的一个流被表征为大量流,则使用令牌桶对所述流中的一个流的分组进行测步传输,以控制所述流中的一个流的分组被传输的速率,其中等待传输的分组在一个缓冲区内排队。
8.根据权利要求7所述的介质,其中,使用动态测步策略来部署所述测步,其中,根据在预定时间段期间接收到的所述流中的一个流的数据量来修改桶填充速率。
9.根据权利要求7所述的介质,其中根据表征来处理所接收的分组包括:
如果一个流是短流,减少中断聚合(“IC”);并且
如果流中的一个流量大,则增加所述IC。
10.根据权利要求7所述的介质,其中,表征包括确定所述流中的一个流是否具有近期的开始时间。
11.根据权利要求7所述的介质,其中,表征包括确定所述流中的一个流是否频繁发生。
12.根据权利要求7所述的介质,其中,表征包括确定所述流中的一个流的流速率是否低。
13.一种用于在数据中心环境中实现低时延的装置,包括:
存储器,用于存储数据;以及
处理器,可操作以执行与所述数据相关联的指令,其中所述处理器和所述存储器协作,使得所述装置被配置为:
在网络元件处维护流表,其中所述流表包括多个流表条目,并且其中每个流表条目对应于网络中的多个活跃数据流中的一个;
在网络元件处接收所述活跃流中的一个的数据分组之后,使用包含在对应于所述活跃流中的一个流的流表条目中的值,将所述活跃流中的一个流表征为大量流或少量流;并且
根据表征来处理接收到的数据分组,其中,根据所述表征处理所述接收到的分组包括:
如果所述流中的一个流被表征为大量流,则使用令牌桶对所述流中的一个流的分组进行测步传输,以控制传输所述流中的一个流的分组的速率,其中等待传输的分组在缓冲区内排队。
14.根据权利要求13所述的装置,其中,使用动态测步策略来部署所述测步,其中,根据在预定时间段期间接收的所述流中的一个流的数据量来修改桶填充速率。
15.根据权利要求13所述的装置,其中,根据所述表征处理所述接收到的分组包括:
如果所述流中的一个流是少量流,则减少中断合并(“IC”);以及
如果所述流中的一个流是大量流,则增加所述IC。
16.根据权利要求13所述的装置,包括用于在服务器上动态地实例化PCI设备的虚拟接口卡。
17.根据权利要求13所述的装置,其中,所述表征包括确定所述流中的一个流是否具有近期的开始时间,确定所述流中的一个流是否频繁发生,以及确定所述流中的一个流的流速率是否低。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/665,960 | 2015-03-23 | ||
US14/665,960 US9559968B2 (en) | 2015-03-23 | 2015-03-23 | Technique for achieving low latency in data center network environments |
PCT/US2016/023624 WO2016154222A1 (en) | 2015-03-23 | 2016-03-22 | Technique for achieving low latency in data center network environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107431666A CN107431666A (zh) | 2017-12-01 |
CN107431666B true CN107431666B (zh) | 2021-07-27 |
Family
ID=55646915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680007477.XA Active CN107431666B (zh) | 2015-03-23 | 2016-03-22 | 用于在数据中心环境中实现低时延的方法、装置和介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9559968B2 (zh) |
EP (1) | EP3275140B1 (zh) |
CN (1) | CN107431666B (zh) |
WO (1) | WO2016154222A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405597B1 (en) | 2015-05-01 | 2016-08-02 | Salesforce.Com, Inc. | Centralized throttling service |
FR3044188B1 (fr) * | 2015-11-25 | 2017-12-22 | Kalray | Limiteur de debit de type "seau a jetons" |
US10708200B2 (en) * | 2016-05-18 | 2020-07-07 | Marvell Israel (M.I.S.L) Ltd. | Traffic management in a network switching system with remote physical ports |
US10412005B2 (en) * | 2016-09-29 | 2019-09-10 | International Business Machines Corporation | Exploiting underlay network link redundancy for overlay networks |
US10628233B2 (en) | 2016-12-30 | 2020-04-21 | Samsung Electronics Co., Ltd. | Rack-level scheduling for reducing the long tail latency using high performance SSDS |
US10261897B2 (en) | 2017-01-20 | 2019-04-16 | Samsung Electronics Co., Ltd. | Tail latency aware foreground garbage collection algorithm |
CN109245959B (zh) | 2018-09-25 | 2021-09-03 | 华为技术有限公司 | 统计活跃流数目的方法、网络设备和系统 |
CN109347623B (zh) * | 2018-10-18 | 2022-09-09 | 苏州盛科通信股份有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
CN111857996B (zh) * | 2020-06-30 | 2023-04-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种中断处理方法、系统、设备及计算机可读存储介质 |
CN112134808B (zh) * | 2020-07-21 | 2024-02-02 | 上海寻梦信息技术有限公司 | 仓配服务控速下发方法、装置、电子设备及存储介质 |
US11146468B1 (en) * | 2021-03-08 | 2021-10-12 | Pensando Systems Inc. | Intelligent export of network information |
CN115396357B (zh) * | 2022-07-07 | 2023-10-20 | 长沙理工大学 | 一种数据中心网络中的流量负载均衡方法及系统 |
US11909656B1 (en) * | 2023-01-17 | 2024-02-20 | Nokia Solutions And Networks Oy | In-network decision for end-server-based network function acceleration |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643875A (zh) * | 2002-03-27 | 2005-07-20 | 英国电讯有限公司 | 数据流式传输系统和方法 |
CN101076982A (zh) * | 2004-12-10 | 2007-11-21 | 英特尔公司 | 用于管理流控制的技术 |
CN103999431A (zh) * | 2011-12-22 | 2014-08-20 | 瑞典爱立信有限公司 | 软件定义的网络中灵活的并且可扩展的流处理系统 |
CN104320350A (zh) * | 2013-04-15 | 2015-01-28 | 国际商业机器公司 | 用于提供基于信用的流控制的方法及系统 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205149B1 (en) * | 1997-09-11 | 2001-03-20 | 3Com Corporation | Quality of service control mechanism and apparatus |
US6862265B1 (en) * | 2000-04-13 | 2005-03-01 | Advanced Micro Devices, Inc. | Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter |
US6874036B2 (en) * | 2001-02-08 | 2005-03-29 | International Business Machines Corporation | Network management server combining PDUs to minimize bandwidth consumption at data link layer |
CN100556123C (zh) * | 2007-01-18 | 2009-10-28 | 中兴通讯股份有限公司 | 用于电视会议系统的流控方法和装置 |
US7916718B2 (en) * | 2007-04-19 | 2011-03-29 | Fulcrum Microsystems, Inc. | Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics |
US20100195492A1 (en) * | 2007-07-23 | 2010-08-05 | Janos Harmatos | Controlling Traffic in a Packet Switched Communications Network |
US20090240802A1 (en) * | 2008-03-18 | 2009-09-24 | Hewlett-Packard Development Company L.P. | Method and apparatus for self tuning network stack |
US7826352B2 (en) * | 2008-08-26 | 2010-11-02 | Broadcom Corporation | Meter-based hierarchical bandwidth sharing |
US7792131B1 (en) * | 2009-03-10 | 2010-09-07 | Cisco Technologies, Inc. | Queue sharing with fair rate guarantee |
US8478924B2 (en) | 2009-04-24 | 2013-07-02 | Vmware, Inc. | Interrupt coalescing for outstanding input/output completions |
JP5267328B2 (ja) | 2009-05-26 | 2013-08-21 | 富士通セミコンダクター株式会社 | 割り込み通知制御装置および半導体集積回路 |
US8315168B2 (en) * | 2009-10-28 | 2012-11-20 | Broadcom Corporation | Priority-based hierarchical bandwidth sharing |
US8477610B2 (en) * | 2010-05-31 | 2013-07-02 | Microsoft Corporation | Applying policies to schedule network bandwidth among virtual machines |
US8234401B2 (en) * | 2010-06-30 | 2012-07-31 | Cisco Technology, Inc. | Adaptive policers responsive to utilization levels of a resource |
CN103019835A (zh) * | 2011-09-26 | 2013-04-03 | 同方股份有限公司 | 一种多核处理器中断资源优化处理系统和方法 |
US9417821B2 (en) * | 2011-09-30 | 2016-08-16 | Intel Corporation | Presentation of direct accessed storage under a logical drive model |
US9444749B2 (en) | 2011-10-28 | 2016-09-13 | Telecom Italia S.P.A. | Apparatus and method for selectively delaying network data flows |
US9154451B2 (en) * | 2012-08-21 | 2015-10-06 | Advanced Micro Devices, Inc. | Systems and methods for sharing devices in a virtualization environment |
US9306794B2 (en) * | 2012-11-02 | 2016-04-05 | Brocade Communications Systems, Inc. | Algorithm for long-lived large flow identification |
US8854972B1 (en) * | 2013-01-25 | 2014-10-07 | Palo Alto Networks, Inc. | Security device implementing flow lookup scheme for improved performance |
US9154396B2 (en) * | 2013-03-14 | 2015-10-06 | Arris Technology, Inc. | Passive measurement of available link bandwidth |
WO2014185706A1 (en) * | 2013-05-15 | 2014-11-20 | Samsung Electronics Co., Ltd. | Method and system for providing deterministic quality of service for communication devices |
US9401860B2 (en) * | 2013-08-09 | 2016-07-26 | Citrix Systems, Inc. | High performance quality-of-service packet scheduling for multiple packet processing engines |
US10158538B2 (en) * | 2013-12-09 | 2018-12-18 | Nicira, Inc. | Reporting elephant flows to a network controller |
US9660932B2 (en) * | 2015-01-07 | 2017-05-23 | Cisco Technology, Inc. | Scheduling for flows in a point-to-multipoint communications network |
-
2015
- 2015-03-23 US US14/665,960 patent/US9559968B2/en active Active
-
2016
- 2016-03-22 CN CN201680007477.XA patent/CN107431666B/zh active Active
- 2016-03-22 WO PCT/US2016/023624 patent/WO2016154222A1/en active Application Filing
- 2016-03-22 EP EP16713711.6A patent/EP3275140B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643875A (zh) * | 2002-03-27 | 2005-07-20 | 英国电讯有限公司 | 数据流式传输系统和方法 |
CN101076982A (zh) * | 2004-12-10 | 2007-11-21 | 英特尔公司 | 用于管理流控制的技术 |
CN103999431A (zh) * | 2011-12-22 | 2014-08-20 | 瑞典爱立信有限公司 | 软件定义的网络中灵活的并且可扩展的流处理系统 |
CN104320350A (zh) * | 2013-04-15 | 2015-01-28 | 国际商业机器公司 | 用于提供基于信用的流控制的方法及系统 |
Non-Patent Citations (1)
Title |
---|
Less is More: Trading a little Bandwidth for Ultra-Low Latency in the Data Center;Mohammad Alizadeh et al.;《USENIX》;20130411;1-14 * |
Also Published As
Publication number | Publication date |
---|---|
WO2016154222A1 (en) | 2016-09-29 |
US9559968B2 (en) | 2017-01-31 |
EP3275140B1 (en) | 2020-05-06 |
US20160285771A1 (en) | 2016-09-29 |
EP3275140A1 (en) | 2018-01-31 |
CN107431666A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107431666B (zh) | 用于在数据中心环境中实现低时延的方法、装置和介质 | |
US11736402B2 (en) | Fast data center congestion response based on QoS of VL | |
US11394649B2 (en) | Non-random flowlet-based routing | |
US11048569B1 (en) | Adaptive timeout mechanism | |
US20180357086A1 (en) | Container virtual switching | |
US10346326B2 (en) | Adaptive interrupt moderation | |
US20160088083A1 (en) | Performance monitoring and troubleshooting in a storage area network environment | |
WO2017052989A1 (en) | Technologies for offloading data object replication and service function chain management | |
US10911405B1 (en) | Secure environment on a server | |
US11301020B2 (en) | Data center power management | |
US11637773B2 (en) | Scaled-out transport as connection proxy for device-to-device communications | |
US10579579B2 (en) | Programming interface operations in a port in communication with a driver for reinitialization of storage controller elements | |
US11327789B2 (en) | Merged input/output operations from a plurality of virtual machines | |
US20220124035A1 (en) | Switch-originated congestion messages | |
US10616116B1 (en) | Network traffic load balancing using rotating hash | |
WO2018057165A1 (en) | Technologies for dynamically transitioning network traffic host buffer queues | |
US20140211663A1 (en) | Spanning tree protocol (stp) implementation on an event driven virtual link aggregation (vlag) system | |
Su et al. | Meili: Enabling SmartNIC as a Service in the Cloud | |
US20240089219A1 (en) | Packet buffering technologies | |
Larsen et al. | Direct device-to-device transfer protocol: A new look at the benefits of a decentralized I/O model | |
Prakash | Impact of network protocols on data center applications | |
Zhang et al. | Congestion integrated control in virtualized clouds | |
Kr et al. | High Performance Packet Processing with FlexNIC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |