CN115811502A - 集中式聚合长流检测及管理 - Google Patents
集中式聚合长流检测及管理 Download PDFInfo
- Publication number
- CN115811502A CN115811502A CN202210830972.8A CN202210830972A CN115811502A CN 115811502 A CN115811502 A CN 115811502A CN 202210830972 A CN202210830972 A CN 202210830972A CN 115811502 A CN115811502 A CN 115811502A
- Authority
- CN
- China
- Prior art keywords
- flow
- logic
- semiconductor chip
- long
- pipeline
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 58
- 239000004065 semiconductor Substances 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims description 42
- 230000032683 aging Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000004931 aggregating effect Effects 0.000 claims 1
- 239000004744 fabric Substances 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 230000002085 persistent effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000258963 Diplopoda Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
-
- 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/24—Multipath
-
- 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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请案涉及集中式聚合长流检测及管理。一种用于实施聚合流检测及管理的半导体芯片包含数个管线,其中每一管线耦合到所述半导体芯片上用以接收数据分组的端口的部分。逻辑耦合到所述管线且用于检测及管理长流。所述长流检测及管理逻辑包含流表及字节计数器。
Description
技术领域
本描述大体上涉及以太网通信,且特定来说,涉及集中式聚合长流检测及管理。
背景技术
少量流载送大部分因特网业务,而大量流载送相对很少的因特网业务。载送大量因特网业务且经由网络链路以高得多的速率消耗路由资源的流称为长流。长流通过引起分组丢失及增加延时显著影响通过网络的因特网业务流。对这些流的有效检测、分析及管理可帮助减少拥塞、分组丢失及尾延时。当流改变入站端口时(出于各种原因,例如负载平衡、端口因维护而关闭等)及当其落在不同处理管线上时,现有实施方案无法分析及检测跨多个管线的流。实施方案的成本是按管线复制的且对于具有16或32个管线的装置可为显著的(就芯片面积及功耗来说)。换句话说,现有解决方案不支持跨多个管线的聚合,且其长流检测仅基于给定流中的字节数且不基于对应出站队列/端口负载及/或拥塞。此外,所有核算仅对分组起始(SOP)进行,从而仅限于支持具有在SOP处可用的数据分组字节计数信息的流。
发明内容
一方面,本申请案涉及一种用于实施聚合流检测及管理的半导体芯片,所述半导体芯片包括:多个管线,每一管线耦合到所述半导体芯片上经配置以接收数据分组的端口的部分;及逻辑,其耦合到所述多个管线且经配置以检测及管理长流,其中所述逻辑包含流表及字节计数器。
在另一方面中,本申请案涉及一种聚合流的检测及管理方法,所述方法包括:配置安置于半导体芯片上的多个管线中的管线以从所述半导体芯片的多个端口中的端口接收数据分组;将逻辑耦合到所述多个管线;及配置所述逻辑以:从所述多个端口接收所述数据分组的关于流信息的实时更新;及基于至少所述流信息检测及管理长流。
在另一方面中,本申请案涉及一种系统,其包括:存储器;及一或多个处理器,其耦合到所述存储器且经配置以执行指令来执行包含以下的动作:由安置于半导体芯片上的多个管线中的管线从所述半导体芯片的多个端口接收数据分组;由逻辑从所述多个端口接收关于所述数据分组的关于流信息的实时更新;及至少基于所述流信息检测及管理长流,其中所述逻辑耦合到所述多个管线。
附图说明
本技术的某些特征在所附权利要求书中陈述。然而,出于解释目的,本技术的若干实施例在附图中陈述。
图1是说明在其内实施本技术的集中式聚合长流检测及管理的交换机及/或路由器芯片的实例的框图。
图2是说明现有长流检测系统的实例的限制性方面的框图。
图3是说明根据本技术的各个方面的聚合长流检测系统的实例的高级框图。
图4是说明根据本技术的各个方面的聚合长流检测系统的实例的框图。
图5是说明使用负载感知等成本多路径(ECMP)映射进行流管理的实例的图。
图6是说明根据本技术的一些方面的聚合长流检测过程的实例的流程图。
图7是说明根据本技术的一些方面的长流管理过程的实例的流程图。
图8是本技术的一些方面可实施于其内的电子系统。
具体实施方式
下文陈述的详细描述希望作为对本技术的各种配置的描述,且不希望表示可实践本技术的唯一配置。附图并入于本文中且构成详细描述的部分,详细描述包含用于提供本技术的透彻理解的特定细节。然而,本技术不限于本文中陈述的特定细节且可在没有特定细节中的一或多者情况下实践。在一些例子中,结构及组件以框图形式展示以便避免模糊本技术的概念。
本技术涉及用于集中式长流检测及管理的方法及系统。在通信网络中,长流是指通过网络链路的极大的数据流,其可在一段时间内占用总带宽的不成比例的份额(例如,超过1%)。长流可通过引起分组丢失及增加延时显著影响通过网络链路的因特网业务,且可经由网络链路以高得多的速率消耗路由资源。
本技术可检测、分析及管理长流以便减少业务拥塞、分组丢失及尾延时。针对通过的每个数据分组,每一管线可向中央长流检测模块提供与数个主体相关的信息,如在本文中更详细描述。
报告检测到的长流以实现对其服务质量的改变。还可使用负载感知ECMP结构跨所期望的路径分离或分布检测到的长流。负载感知ECMP结构可使用中央状态机动态地映射通过网络路由器的经修改路径,如2021年4月14日申请的第17/230,940号美国专利申请案中描述,所述美国申请案以引用方式并入本文中。
所公开的解决方案具有数个有利特征。举例来说,使用所公开的技术,长流检测及管理逻辑仅被实施一次,而与半导体芯片(下文是芯片)上的管线数目无关,此导致现有实施方案的成本的一小部分。而且,所公开的解决方案跨芯片的所有管线聚合且对于改变给定路由器上的入站端口的流不可知的。此外,本技术的长流检测及管理逻辑支持任何协议,而与数据分组长度在SOP处是否可用无关,且可经启用以仅在对应出站端口拥塞及/或在一时间间隔阈值内加载到某个阈值时跟踪流散列(例如,16位流散列)。
图1是说明在其内实施本技术的集中式聚合长流检测及管理逻辑的交换机/路由器芯片100的实例的框图。实例交换机/路由器芯片100包含块110,其包括多个入站媒体接入控制(MAC)层及端口接口(下文是入站MAC及接口块110)、数个入站分组处理管线120、存储器管理及交叉开关单元130、若干出站分组处理管线140及数个出站MAC及端口接口150(下文是出站MAC及接口块150)。入站MAC及接口块110的每一端口接口连接到输入端口102的输入(入站)端口且接收将传递到MAC层的输入数据。MAC层可执行已知功能,例如帧定界及辨识、目的地站的寻址、源站寻址信息的传达、以太网子层中信息的透明数据传送、防止错误及对物理传输媒体的存取控制。入站分组处理管线120可包含若干处理管线,其各自连接到入站MAC及接口块110的MAC层及存储器管理及交叉开关单元130。在一些实施方案中,本技术的流检测及管理可仅实施一次,而与例如存储器管理及交叉开关单元130内的芯片上的管线数目无关。在其它实施方案中,本技术的流检测及管理可取代存储器管理及交叉开关单元130。来自存储器管理及交叉开关单元130的输出分组由出站分组处理管线140处理且通过出站MAC及接口块150传递到输出端口104。
图2是说明现有长流检测系统200的实例的限制性方面的框图。在现有长流检测系统200中,第一主机A(例如,定位在加利福尼亚州圣何塞(San Jose,California))连接到第一路由器R1,第一路由器R1又连通到路由器R2、R3、R4及R5。路由器R2及R3连接到路由器R6的端口P1及P27,且路由器R4及R5连接到路由器R7。路由器R6及R7连接到第二主机B(例如,定位在华盛顿州西雅图(Seattle,Washington))。路由器含有关于端口及/或仅其自身端口的队列加载的信息。针对其中从主机A到主机B的流通过由路由器R1、R2及R6组成的路径的案例,路由器R6的端口P1落于路由器R6的管线0内,路由器R6可包含各自具有例如16个端口(例如P1到P16)的16个管线。因此,与路由器R6的端口0相关联的长流检测及管理逻辑将分析路由器R6中的流。在另一案例中,如果由于某种原因来自主机A的流改变路径且通过路由器R1、R3、R6继续到主机B,那么路由器R6的管线0中的长流检测及管理逻辑将无法再看到那个流,因为端口27落于路由器R6的管线2内。因此,管线0将无法检测到那个流,此展示了现有长流检测方法的限制。
图3是说明根据本技术的各个方面的聚合长流检测系统300的实例的高级框图。实例聚合长流检测系统300包含(但不限于)四个管线--管线0、管线1、管线2及管线3--其实施于半导体芯片上。管线0、管线1、管线2及管线3中的每一者连接到半导体芯片上端口的四分之一,例如,分别连接到端口第一个四分之一、第二个四分之一、第三个四分之一及第四个四分之一。中央长流检测及管理逻辑302连接到管线(管线0、管线1、管线2及管线3)且从(例如,图1的入站MAC及接口块110的)端口接口及MMU(例如图1的130)接收状态及加载信息。中央长流检测及管理逻辑302使用从端口接口及MMU接收到的信息来分析及管理长流以便减少业务拥塞、分组丢失及尾延时。针对穿过管线0、管线1、管线2及管线3中的一或多者的每个数据分组,管线中的每一者可向中央长流检测及管理逻辑302提供与数个主体相关的信息。信息可例如与流(例如,五元组)、入站端口、出站端口及/或分组结尾(EOP)处的数据分组中的字节数相关,其由长流检测逻辑跨芯片跟踪。
在一些实施方案中,每一管线(管线0、管线1、管线2及管线3)还可比较每流积累的字节计数与可配置的字节计数及时段阈值以检测长流、报告检测到的长流及支持检测到的长流以可配置间隔老化。在一或多个实施方案中,长流检测及管理逻辑302支持任何协议,而与数据分组长度在SOP处是否可用无关,且可经启用以仅在对应出站端口拥塞及/或在一时间间隔阈值内加载到某个阈值时跟踪流散列(例如,16位流散列)。在一些实施方案中,每一管线可使用先进先出(FIFO)直接存储器存取(DMA)向软件报告检测到的长流,且可利用被跟踪的流散列来使用负载感知ECMP结构分离或分布检测到的长流。
图4是说明根据本技术的各个方面的聚合长流检测系统400的实例的框图。聚合长流检测系统400(下文是系统400)是图3的聚合长流检测系统300的实例实施方案。系统400包含流表410、数个字节计数器412及流老化及/或逐出逻辑420。系统400可进一步使用配置(config)空间430、端口加载信息(info)440及负载感知ECMP结构及/或下一跳(NH)信息450。系统400接收输入数据402及404及提供输出460。输入数据402可包含(但不限于)来自每一管线(例如,图3的管线0、管线1、管线2及管线3中的任一者)的流信息、入站端口、出站端口及字节计数。流信息还可包含对应于传输控制协议(例如传输控制协议/因特网协议(TCP/IP))、源端口地址、目的地端口地址及相关联传输协议的不同值的计数(例如五元组)。
字节计数由EOP处每一数据分组中的字节数目组成,其使长流检测能支持任何协议,而与数据分组长度在SOP处是否可用无关。输入数据404可包含(但不限于)入站端口(例如图1的102)及出站端口(例如图1的104)的状态及/或来自源自每一管线的MMU(例如图1的130)及端口接口(例如图1的110及150)的相关联队列及加载信息。来自所有管线的流信息及聚合字节计数分别存储于流表410及字节计数器412中,且由流老化/逐出逻辑420用于通过检测及管理任何长流来管理流。在一些实施方案中,流老化/逐出逻辑420通过比较每流积累的字节计数与可配置的字节计数及时段阈值以检测长流、报告检测到的长流及支持检测到的长流以可配置间隔老化来跨芯片跟踪流。流老化/逐出逻辑420对于改变给定路由器的入站端口的流是不可知的。
如由系统400实施的本技术的集中式聚合长流检测及管理逻辑包含数个有利特征。举例来说,可报告检测到的长流以便使得能够通过软件(S/W)改变其服务质量,且检测到的长流还可使用负载感知ECMP结构跨所期望路径分离或分布,而不会改变数据分组的服务类别(COS)。流检测逻辑(例如流老化/逐出逻辑420)可以现今实施方案的成本的一小部分仅实施一次,而与芯片上的管线数目无关。本技术的长流检测及管理对于改变给定路由器上的入站端口的流是不可知的。根据实施方案的本质,所公开的长流检测及管理跨所有管线聚合。一旦对应出站端口在时间间隔阈值的持续时间内拥塞/被加载到某个阈值等级,本长流检测逻辑就可经配置以开始跟踪流散列。
图5是说明使用负载感知ECMP映射的流管理方案500的实例的图。流管理方案500使用ECMP群组表510,其将群组基值及大小信息512提供给ECMP成员及命中位表520。信息512识别群组基值522及为四的群组大小,其包含NH2、NH1、NH2及NH1。中央状态机可考虑对应于NH的端口及/或队列上的瞬时加载及经编程计入超出此跳的参数中的任何偏差/权重/向量,然后选择每条目的最优NH以及二级及三级NH。保护开关逻辑可经应用以最佳地选择二级及三级NH。
图6是说明根据本技术的一些方面的聚合长流检测过程600的实例的流程图。聚合长流检测过程600实施于三个并行路由610、620及630中。路由610包含操作框612及614。在操作框612,长流检测逻辑(例如图3的303)接收对每一数据分组的实时更新,包含流信息、入站端口、出站端口及字节数目。在操作框614,长流检测逻辑检查来自给定管线的每一数据分组以确定相关联流条目是否存在。如果不存在,那么创建流条目并更新(若干)对应计数器。如果流条目存在,那么更新对入站/出站端口及(若干)对应计数器的任何改变。任选地,仅当对应出站端口拥塞/加载到某个阈值时,长流检测逻辑(例如图4的420)才可配置地经启用以跟踪流散列。
路由620包含操作框622及624。在操作框622,长流检测逻辑比较每流积累的字节计数与可配置的字节计数及时段阈值。接着,在操作框624,向对应入站管线通知检测到的长流,使得其可采取经编程动作(例如更新服务类别等)及/或向S/W发送流信息。在一些实施方案中,聚合来自所有管线及不同滤波器的给定流的字节计数。
路由630包含操作框632及634。在操作框632,长流检测逻辑逐条目行进且聚合来自所有管线及不同滤波器的给定流的计数。在操作框634,如果没有对给定流的更新或字节计数在经编程持续时间内低于对应经编程阈值或出站端口上的拥塞得到缓解(如果此模式被启用),那么将流老化/逐出以节省表空间。在操作框636,向对应入站管线通知老化或逐出的长流以采取经编程动作及/或将流发送到软件中,接着,将控制传递到操作框632。在一些实施方案中,单独管线可经配置以自动使检测到的长流中的数据分组的优先级别递增或递减。
图7是说明根据本技术的一些方面的长流管理过程700的实例的流程图。聚合长流管理过程700在操作框710处开始,其中长流检测逻辑已经具有关于长流及对应流散列的信息。长流检测逻辑收集关于ECMP群组大小及对应下一跳的额外信息。接着,在操作框720,长流检测逻辑使用信息(关于长流、对应流散列的信息及关于ECMP群组大小及对应下一跳的额外信息)自动导出所期望目的地端口(且又自动导出下一跳)以分离或分布长流(如果可配置地经启用以这样做)。所期望目的地端口对应于通过长流散列ECMP群组大小导出的位置。
图8是本技术的一些方面可实施于其内的电子系统800。电子系统800可为数据中心或企业网络的网络交换机及/或所述网络交换机的部分。电子系统800可包含各种类型的计算机可读媒体及用于各种其它类型的计算机可读媒体的接口。电子系统800包含总线808、一或多个处理单元812、系统存储器804(及/或缓冲器)、ROM 810、永久存储装置802、输入装置接口814、输出装置接口806及一或多个网络接口816或其子集及变型。
总线808共同表示通信连接电子系统800的众多内部装置的所有系统、外围设备及芯片组总线。在一或多个实施方案中,总线808通信连接一或多个处理单元812与ROM810、系统存储器804及永久存储装置802。一或多个处理单元812从这些各种存储器单元检索要执行的指令及要处理的数据以便执行本公开的过程。在不同实施方案中,一或多个处理单元812可为单个处理器或多核心处理器。在一或多个方面中,一或多个处理单元812可表示图3的长流检测及管理逻辑302且用于实施图6及/或7的过程。
ROM 810存储电子系统800的一或多个处理单元812及其它模块所需的静态数据及指令。另一方面,永久存储装置802可为读写存储器装置。永久存储装置802可为即使当电子系统800关闭时也存储指令及数据的非易失性存储器单元。在一或多个实施方案中,大容量存储装置(例如磁盘或光盘及其对应磁盘驱动器)可用作永久存储装置802。
在一或多个实施方案中,可卸除式存储装置(例如软盘、快闪驱动器及其对应磁盘驱动器)可用作永久存储装置802。类似于永久存储装置802,系统存储器804可为读写存储器装置。然而,不同于永久存储装置802,系统存储器804可为易失性读写存储器,例如随机存取存储器(RAM)。系统存储器804可存储一或多个处理单元812在运行时可能需要的指令及数据中的任一者。在一或多个实施方案中,本公开的过程存储于系统存储器804、永久存储装置802及/或ROM 810中。一或多个处理单元812从这些各种存储器单元检索要执行的指令及要处理的数据以便执行一或多个实施方案的过程。
总线808还连接到输入及输出装置接口814及806。输入装置接口814使用户能将信息及选择命令传达给电子系统800。可与输入装置接口814一起使用的输入装置可包含例如字母数字键盘及指向装置(还称为“光标控制装置”)。输出装置接口806可实现例如由电子系统800产生的图像的显示。可与输出装置接口806一起使用的输出装置可包含例如打印机及显示器装置,例如液晶显示器、发光二极管显示器、有机发光二极管显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其它装置。一或多个实施方案可包含既用作输入装置又用作输出装置的装置,例如触摸屏。在这些实施方案中,提供给用户的反馈可为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;且可接收来自用户的呈任何形式(包含声学、语音或触觉输入)的输入。
最终,如图8中展示,总线808还通过一或多个网络接口816将电子系统800耦合到一或多个网络及/或一或多个网络节点。以此方式,电子系统800可为计算机网络的部分(例如局域网、广域网、内联网或网络中的网络,例如因特网)。电子系统800的任何或所有组件可结合本公开一起使用。
本公开的范围内的实施方案可使用编码一或多个指令的有形计算机可读存储媒体(或一或多种类型的多个有形计算机可读存储媒体)部分或完全实现。有形计算机可读存储媒体的性质也可为非暂时性的。
计算机可读存储媒体可为可由通用或专用计算装置读取、写入或以其它方式存取的任何存储媒体,包含能够执行指令的任何处理电子器件及/或处理电路系统。举例来说(而非限制),计算机可读媒体可包含任何易失性半导体存储器,例如RAM、DRAM、SRAM、T-RAM、Z-RAM及TTRAM。计算机可读媒体还可包含任何非易失性半导体存储器,例如ROM、PROM、EPROM、EEPROM、NVRAM、快闪、nvSRAM、FeRAM、FeTRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、赛道存储器、FJG及千足虫存储器。
此外,计算机可读存储媒体可包含任何非半导体存储器,例如光盘存储装置、磁盘存储装置、磁带、其它磁性存储装置或能够存储一或多个指令的任何其它媒体。在一或多个实施方案中,有形计算机可读存储媒体可直接耦合到计算装置,而在其它实施方案中,有形计算机可读存储媒体可间接耦合到计算装置,例如,经由一或多个有线连接、一或多个无线连接或其任何组合。
指令可为直接可执行的或可用于开发可执行指令。举例来说,指令可实现为可执行或不可执行机器代码或呈可经编译以生成可执行或不可执行机器代码的高级语言形式的指令。此外,指令还可实现为数据或可包含数据。计算机可执行指令还可以任何格式组织,包含例程、子例程、程序、数据结构、对象、模块、应用程序、小应用程序及函数等。如所属领域的技术人员应认识到,包含(但不限于)指令的数目、结构、序列及组织的细节可显著改变,而不会改变底层逻辑、功能、处理及输出。
虽然上文论述主要涉及执行软件的微处理器或多核心处理器,但一或多个实施方案由例如ASIC或FPGA的一或多个集成电路执行。在一或多个实施方案中,此集成电路执行存储于电路本身上的指令。
所属领域的技术人员应了解,本文中描述的各种说明性块、模块、元件、组件、方法及算法可实施为电子硬件、计算机软件或两者的组合。为了说明硬件与软件的此可互换性,各种说明性块、模块、元件、组件、方法及算法在上文大体上依据其功能性来描述。将此功能性实施为硬件还是软件取决于特定应用及强加给整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述功能性。各种组件及块可不同地布置(例如,以不同顺序布置或以不同方式分割),这全都不会背离本技术的范围。此外,各个功能框无需直接连接(即使是为了方便起见,它们在图中那样说明)。
应理解,公开的过程中的框的任何特定顺序或阶层是实例方法的说明。基于设计偏好,应理解,过程中的框的特定顺序或阶层可重新布置,或可执行说明的所有框。可同时执行框中的任一者。在一或多个实施方案中,多任务处理及并行处理可为有利的。此外,上文描述的实施例中的各个系统组件的分离不应理解为在所有实施例中都需要此分离,且应理解,所描述程序组件及系统通常可一起集成于单个软件产品中或封装到多个软件产品中。
如在本申请案的本说明书及任何权利要求中使用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”全都是指电子或其它技术装置。这些术语排除人或人群。出于说明书的目的,术语“显示(display/displaying)”意味着在电子装置上显示。
如本文中使用,在一系列项之前的短语“至少一者”(其中术语“及”或“或”分离所述项中的任一者)修改整个列表,而非列表的每一成员(即,每一项)。短语“……中的至少一者”不需要选择所列每一项中的每一者;而是,短语允许包含项中的任一者中的至少一者及/或项的任何组合中的至少一者及/或项中的每一者中的至少一者的意义。通过实例,短语“A、B及C中的至少一者”或“A、B或C中的至少一者”各自指代仅A、仅B或仅C;A、B及C的任何组合;及/或A、B及C中的每一者中的至少一者。
谓词“经配置以”、“可操作以”及“经编程以”不暗含主语的任何特定有形或无形修改,而是希望可互换使用。在一或多个实施方案中,经配置以监测及控制操作或组件的处理器还意味着所述处理器经编程以监测及控制操作或所述处理器可操作以监测及控制操作。同样,经配置以执行代码的处理器可构造为经编程以执行代码或可操作以执行代码的处理器。
例如“一方面”、“所述方面”、“另一方面”、“一些方面”、“一或多个方面”、“一实施方案”、“所述实施方案”、“另一实施方案”、“一些实施方案”、“一或多个实施方案”、“一实施例”、“所述实施例”、“另一实施例”、“一些实施例”、“一或多个实施例”、“一配置”、“所述配置”、“另一配置”、“一些配置”、“一或多个配置”、“本技术”、“本公开(the disclosure/thepresent disclosure)”及其其它变化及类似物的短语是为了方便且不暗含与此(类)短语有关的公开内容对本技术是必要的或此公开内容适用于本技术的所有配置。与此(类)短语有关的公开内容可适用于所有配置或一或多个配置。与此(类)短语有关的公开内容可提供一或多个实例。例如一方面或一些方面的短语可指代一或多个方面,且反之亦然,且此类似地适用于其它前述短语。
本文中使用词语“示范性”来表示“用作实例、例子或说明”。本文中描述为“示范性”的任何实施例不一定被解释为比其它实施例更优选或优于其它实施例。此外,在术语“包含”、“具有”或类似者在描述或权利要求书中使用的程度上,此术语希望是以类似于术语“包括”的方式是包含性的,如同“包括”在用作权利要求中的过渡词时被解释的那样。
等效于所属领域的一般技术人员已知或稍后将知道的贯穿本公开描述的各个方面的元件的所有结构及功能通过引用方式明确并入本文中且希望由权利要求书涵盖。此外,本文中公开的内容均不希望献给公众,无论此公开内容是否在权利要求书中明确叙述。权利要求要素将不根据35U.S.C.§112(f)进行解释,除非要素使用短语“用于…的构件”明确叙述,或在方法权利要求的情况中,要素使用短语“用于…的步骤”来叙述。
提供先前描述以使所属领域的技术人员能实践本文中描述的各个方面。所属领域的技术人员将容易地明白对这些方面的各种修改,且本文中定义的一般原理可应用到其它方面。因此,权利要求不希望限于本文中展示的方面,而是应符合与语言权利要求一致的全范围,其中除非明确声明,否则对呈单数的元件的参考不希望意指“一个且仅一个”,而是意指“一或多个”。除非另外明确声明,否则“一些”是指一或多者。阳性代词(例如,他的)包括阴性及中性(例如,她的及它的),且反之亦然。标题及副标题(如果有的话)仅为了方便而使用,且不限制本公开。
Claims (20)
1.一种用于实施聚合流检测及管理的半导体芯片,所述半导体芯片包括:
多个管线,每一管线耦合到所述半导体芯片上经配置以接收数据分组的端口的部分;及
逻辑,其耦合到所述多个管线且经配置以检测及管理长流,
其中所述逻辑包含流表及字节计数器。
2.根据权利要求1所述的半导体芯片,其中所述逻辑经配置以接收每一数据分组的流信息、入站端口、出站端口及所述数据分组中的字节的计数。
3.根据权利要求2所述的半导体芯片,其中所述流信息包括对应于传输控制协议、源端口地址、目的地端口地址及相关联传输协议的不同值的计数。
4.根据权利要求2所述的半导体芯片,其中所述数据分组中的所述字节的所述计数源自于分组结尾EOP且用于启用与传输协议相关联的流检测支持,而与所述传输协议的标头字节中的数据分组长度的可用性无关。
5.根据权利要求1所述的半导体芯片,其中所述逻辑进一步包括实施于所述半导体芯片上的流老化逻辑,其中整个逻辑在所述半导体芯片上实施一次,而与所述半导体芯片上的管线计数无关,且跨所述半导体芯片上的所有管线聚合。
6.根据权利要求5所述的半导体芯片,其中所述逻辑经配置以跨所述半导体芯片跟踪流以检测所述长流。
7.根据权利要求6所述的半导体芯片,其中所述逻辑经配置以通过比较每流积累的字节计数与可配置的字节计数及时段阈值以检测所述长流来跨所述半导体芯片跟踪所述流。
8.根据权利要求7所述的半导体芯片,其中所述逻辑进一步经配置以报告所述检测到的长流且支持所述检测到的长流在可配置间隔内老化,其中所述流老化逻辑经配置以在没有对流的更新,所述每流积累的字节计数在经编程持续时间内低于对应经编程阈值,或出站端口上的业务拥塞得到缓解的情况下逐出所述流。
9.根据权利要求7所述的半导体芯片,其中所述逻辑对于改变给定路由器的入站端口的长流不可知的。
10.根据权利要求1所述的半导体芯片,其中所述多个管线中的每一管线经配置以提供关于流信息计算得到的流散列。
11.根据权利要求10所述的半导体芯片,其中所述逻辑经配置以在对应出站端口拥塞及/或在预定义时间间隔内加载到某个阈值时跟踪所述流散列。
12.根据权利要求10所述的半导体芯片,其中所述流表包括包含群组基值及大小信息的负载感知等成本多路径ECMP群组表。
13.一种聚合流的检测及管理方法,所述方法包括:
配置安置于半导体芯片上的多个管线中的管线以从所述半导体芯片的多个端口中的端口接收数据分组;
将逻辑耦合到所述多个管线;及
配置所述逻辑以:
从所述多个端口接收所述数据分组的关于流信息的实时更新;及
基于至少所述流信息检测及管理长流。
14.根据权利要求13所述的方法,其进一步包括配置所述逻辑以接收关于入站端口、出站端口及所述数据分组中的字节的计数的实时更新。
15.根据权利要求14所述的方法,其进一步包括配置所述逻辑以:
从EOP导出所述数据分组中的所述字节的所述计数,及
启用对传输协议的检测支持,而与数据分组长度的可用性无关。
16.根据权利要求13所述的方法,其进一步包括配置所述逻辑以:
检查来自给定管线的每一数据分组以确定是否存在相关联流条目,及
当所述相关联流条目不存在时,创建及更新对应计数器。
17.根据权利要求16所述的方法,其进一步包括配置所述逻辑以:
当所述相关联流条目存在时,更新对入站端口及/或出站端口及对应计数器的改变,
比较每流积累的字节计数与可配置的字节计数及时段阈值,
通知对应入站管线采取经编程动作或向软件发送所述流信息,
聚合来自所有管线及不同滤波器的给定流的字节计数;及
如果没有对流的更新或所述聚合字节计数在经编程持续时间内低于对应经编程阈值或出站端口上的业务拥塞得到缓解,那么逐出所述流。
18.根据权利要求13所述的方法,其进一步包括配置所述逻辑以:
当关于长流及对应流散列的信息存在时,收集关于ECMP群组大小及对应下一跳的额外信息;
使用关于所述长流及所述对应流散列的信息来自动导出所期望目的地以分离或分布所述长流;及
响应于逐出所述流而通知对应入站端口执行采取经编程动作或将经逐出流发送到软件中的至少一者。
19.一种系统,其包括:
存储器;及
一或多个处理器,其耦合到所述存储器且经配置以执行指令来执行包含以下的动作:
由安置于半导体芯片上的多个管线中的管线从所述半导体芯片的多个端口接收数据分组;
由逻辑从所述多个端口接收关于所述数据分组的关于流信息的实时更新;及
至少基于所述流信息检测及管理长流,
其中所述逻辑耦合到所述多个管线。
20.根据权利要求19所述的系统,其中所述动作进一步包含:
当在对应出站端口处发生数据业务拥塞时,跟踪流散列;
当检测到长流时,通知对应管线记录对应于所述流散列的完整流信息;
配置单独管线以自动使检测到的长流中的数据分组的优先级别递增或递减;
致使所述对应管线使用先进先出FIFO直接存储器存取DMA向软件报告所述检测到的长流;及
利用所述流散列来使用负载感知ECMP结构跨所期望的目的地端口或所选择的一组目的地端口分离或分布所述检测到的长流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/475,297 | 2021-09-14 | ||
US17/475,297 US11784935B2 (en) | 2021-09-14 | 2021-09-14 | Centralized aggregated elephant flow detection and management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115811502A true CN115811502A (zh) | 2023-03-17 |
Family
ID=83232613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210830972.8A Pending CN115811502A (zh) | 2021-09-14 | 2022-07-14 | 集中式聚合长流检测及管理 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11784935B2 (zh) |
EP (1) | EP4149082A1 (zh) |
CN (1) | CN115811502A (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7286566B1 (en) * | 2001-05-08 | 2007-10-23 | Cortina Systems, Inc. | Multi-service segmentation and reassembly device that maintains reduced number of segmentation contexts |
US10097467B1 (en) | 2016-08-11 | 2018-10-09 | Amazon Technologies, Inc. | Load balancing for multipath groups routed flows by re-associating routes to multipath groups |
US10476803B2 (en) * | 2017-12-18 | 2019-11-12 | Mellanox Technologies, Ltd. | Elephant flow detection in network access |
US10462060B2 (en) * | 2018-02-14 | 2019-10-29 | Mellanox Technologies, Ltd. | Ability to detect unlimited elephant flows |
US20190356593A1 (en) * | 2018-05-21 | 2019-11-21 | Barefoot Networks, Inc. | Data plane with heavy hitter detector |
US10862813B2 (en) * | 2018-10-26 | 2020-12-08 | Dell Products L.P. | Microburst visibility system |
US11349761B2 (en) * | 2019-03-08 | 2022-05-31 | Hewlett Packard Enterprise Development Lp | Cost effective congestion isolation for lossless ethernet |
US11323358B1 (en) * | 2021-04-14 | 2022-05-03 | Avago Technologies International Sales Pte. Limited | Load-aware ECMP |
US11611494B2 (en) * | 2021-05-07 | 2023-03-21 | Arista Networks, Inc. | Systems and methods for tracking and exporting flows in software with augmented processing in hardware |
-
2021
- 2021-09-14 US US17/475,297 patent/US11784935B2/en active Active
-
2022
- 2022-07-14 CN CN202210830972.8A patent/CN115811502A/zh active Pending
- 2022-09-07 EP EP22194378.0A patent/EP4149082A1/en active Pending
-
2023
- 2023-08-28 US US18/457,058 patent/US20230412515A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230412515A1 (en) | 2023-12-21 |
US20230079762A1 (en) | 2023-03-16 |
US11784935B2 (en) | 2023-10-10 |
EP4149082A1 (en) | 2023-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11855901B1 (en) | Visibility sampling | |
US11968116B2 (en) | Method and system for facilitating lossy dropping and ECN marking | |
US10320691B1 (en) | Visibility packets | |
US10277518B1 (en) | Intelligent packet queues with delay-based actions | |
US10218642B2 (en) | Switch arbitration based on distinct-flow counts | |
US8995277B2 (en) | Method for dynamic load balancing of network flows on LAG interfaces | |
US10313255B1 (en) | Intelligent packet queues with enqueue drop visibility and forensics | |
US11665104B1 (en) | Delay-based tagging in a network switch | |
KR20190020082A (ko) | 다수의 채널을 사용하여 성능을 향상시키는 지능형 적응 전송 계층 | |
US20150334024A1 (en) | Controlling Data Rates of Data Flows Based on Information Indicating Congestion | |
US20120163175A1 (en) | Ingress rate limiting | |
CN104954252B (zh) | 在高性能、可扩展和无掉话的数据中心交换结构内的流控制 | |
US8174980B2 (en) | Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets | |
US10389636B2 (en) | Technologies for adaptive routing using network traffic characterization | |
US10728156B2 (en) | Scalable, low latency, deep buffered switch architecture | |
US11451494B2 (en) | Packet order recovery in a programmable edge switch in a data center network | |
US20140036717A1 (en) | Method and apparatus for determining bandwidth-consuming frame flows in a network | |
CN112565102A (zh) | 一种负载均衡方法、装置、设备及介质 | |
US20240195749A1 (en) | Path selection for packet transmission | |
CN109565449B (zh) | 使用分析进行功率感知交换 | |
US20230239244A1 (en) | Heavy hitter flow detection | |
CN115811502A (zh) | 集中式聚合长流检测及管理 | |
CN108989233A (zh) | 拥塞管理方法及装置 | |
US11323358B1 (en) | Load-aware ECMP | |
US11949586B2 (en) | Load-aware ECMP with flow tables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |