CN116455850A - 管理流量管理tm控制信息的方法、tm模块和网络转发设备 - Google Patents
管理流量管理tm控制信息的方法、tm模块和网络转发设备 Download PDFInfo
- Publication number
- CN116455850A CN116455850A CN202210437560.8A CN202210437560A CN116455850A CN 116455850 A CN116455850 A CN 116455850A CN 202210437560 A CN202210437560 A CN 202210437560A CN 116455850 A CN116455850 A CN 116455850A
- Authority
- CN
- China
- Prior art keywords
- control information
- target
- queue
- cache
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 13
- 239000000758 substrate Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了管理流量管理TM控制信息的方法、TM模块和网络转发设备,用于减小TM控制信息在网络转发芯片占据的存储空间,从而减小网络转发芯片的占用面积,降低成本。该方法包括:确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,Cache位于网络转发芯片中且存储有第一TM控制信息,第一TM控制信息为全部TM控制信息中的一部分TM控制信息;确定高带宽存储器HBM中是否存在目标TM控制信息,HBM位于网络转发芯片外且存储有全部TM控制信息。
Description
本申请要求于2022年01月07日提交中国国家知识产权局、申请号202210012394.7、申请名称为“一种TM控制信息访问的方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种管理流量管理(trafficmanagement,TM)控制信息的方法、TM模块和网络转发设备。
背景技术
流量管理(traffic management,TM)是网络转发芯片中的一个功能模块。为了完成报文入队以及队列调度出队等操作,快速有序转发流量,TM模块通常将TM控制信息存储到网络转发芯片的高性能片上内存中。随着网络转发芯片支持的队列规格变大,TM控制信息所需要的存储空间也越来越大,网络转发芯片也需要更大的片上内存存储空间。
发明内容
本申请实施例提供了一种管理流量管理(Traffic Management,TM)控制信息的方法、TM模块和网络转发设备,可以减小TM控制信息在网络转发芯片占据的存储空间,减小网络转发芯片的占用面积,降低成本。
本申请实施例第一方面提供了一种管理TM控制信息的方法,该方法包括:确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,所述Cache位于网络转发芯片中且存储有第一TM控制信息,所述第一TM控制信息为全部TM控制信息中的一部分TM控制信息;确定高带宽存储器HBM中是否存在所述目标TM控制信息,所述HBM位于所述网络转发芯片外且存储有全部TM控制信息。
该实现方式中,片上的Cache中存储有部分TM控制信息,片外的HBM中存储有全部的TM控制信息,减小TM控制信息在网络转发芯片占据的存储空间,可以节省片上存储资源,从而减小TM模块占用的网络转发芯片的占用面积,降低网络转发芯片的成本。
在第一方面的一种可能的实现方式中,所述第一TM控制信息对应的队列的优先级高于所述目标TM控制信息对应的队列的优先级,或所述第一TM控制信息对应队列的速率高于所述目标TM控制信息对应的队列的速率;或所述第一TM控制信息对应队列的速率高于队列速率门限。
该实现方式中,Cache中存储的第一TM控制信息为优先级较高的TM控制信息、对应队列的速率高于队列速率门限或对应队列的速率高于目标TM控制信息对应的队列的速率的TM控制信息,使得TM模块存储的是应用优先级较高的或应用频率较高的TM控制信息,减少访问片外存储器。
在第一方面的一种可能的实现方式中,上述方法还包括:若所述HBM中存在所述目标TM控制信息,则对所述目标TM控制信息执行读操作。
在第一方面的一种可能的实现方式中,上述方法还包括:若确定在所述HBM中存在所述目标TM控制信息,将所述目标TM控制信息写入所述Cache中。
在第一方面的一种可能的实现方式中,上述将所述目标TM控制信息写入所述Cache中,包括:所述Cache中的可用存储空间足以存储所述目标TM控制信息,则将所述目标TM控制信息写入所述Cache中;或所述Cache中的可用存储空间不足以存储所述目标TM控制信息,则在所述第一TM控制信息中确定第二TM控制信息,将所述第二TM控制信息所占用的Cache存储空间用于存储所述目标TM控制信息。
该实现方式中,TM模块可以将所述目标TM控制信息写入Cache中,从而使得Cache中的TM控制信息更多的是应用频率较高的TM控制信息,减少访问片外存储器。
在第一方面的一种可能的实现方式中,上述第二TM控制信息满足以下中的任意一个:所述第二TM控制信息对应的队列的优先级低于所述目标TM控制信息对应的队列的优先级,或所述第二TM控制信息对应队列的速率低于所述目标TM控制信息对应的队列的速率;或所述第二TM控制信息对应队列的速率低于队列速率门限。
在第一方面的一种可能的实现方式中,上述队列速率门限满足Th=S/(2*t),其中S为TM模块需支持的最小报文大小,t为所述网络转发芯片的片外最大访问时延。
在第一方面的一种可能的实现方式中,所述第一TM控制信息包括第一TM队列信息,上述确定在Cache中不存在目标报文对应的目标TM控制信息,包括:确定所述Cache中不存在目标报文对应的目标TM控制信息的队列标识信息。
在第一方面的一种可能的实现方式中,第一TM队列信息包括第一TM队列标识信息。
在第一方面的一种可能的实现方式中,所述第一TM控制信息包括队列对应的至少一个TM报文描述符。
本申请第二方面提供一种TM模块,该TM模块具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元,例如:写入单元。
本申请第三方面提供一种TM模块,该TM模块包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第四方面提供一种网络转发芯片,该网络转发芯片包括上述第二方面的第二TM模块。
本申请第五方面提供一种网络转发芯片,该网络转发芯片具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:写入单元。
本申请第六方面提供一种网络转发芯片,该网络转发芯片包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第七方面提供一种网络转发设备,该网络转发设备具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:写入单元。
本申请第八方面提供一种网络转发设备,该网络转发设备包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第九方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第十方面提供一种存储一个或多个计算机执行指令的计算机程序(产品),当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第十一方面提供了一种芯片系统,该芯片系统包括至少一个处理器,至少一个处理器用于实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,所述存储器用于保存程序指令和数据,当该程序指令被所述至少一个处理器执行时,用于执行所述第一方面或第一方面任意一种可能的实现方式中所涉及的方法。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在以上技术方案中,网络转发芯片的片上存储有部分TM控制信息,片外的HBM中存储有全部的TM控制信息,减小TM控制信息在网络转发芯片占据的存储空间,可以节省片上存储资源,从而减小网络转发芯片的占用面积,降低网络转发芯片的成本;另一方面,TM模块根据队列速率替换Cache中的TM控制信息,使TM模块、网络转发芯片、网络转发设备具有较高的转发性能。
附图说明
图1为TM模块的一种结构示意图;
图2为本申请实施例中TM模块的第一结构示意图;
图3为本申请实施例中TM模块的第二结构示意图;
图4为本申请实施例中TM模块的第三结构示意图;
图5为本申请实施例中网络转发芯片外HBM的存储结构示意图;
图6为本申请实施例中网络转发芯片内Cache的存储结构示意图;
图7为本申请实施例中管理TM控制信息的方法的一个流程示意图;
图8为本申请实施例中TM模块的第四结构示意图;
图9为本申请实施例中TM模块的第五结构示意图;
图10是本申请实施例中网络转发芯片的一个结构示意图;
图11为本申请实施例中网络转发设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种管理流量管理(Traffic Management,TM)控制信息的方法、TM模块和网络转发设备,可以减小TM控制信息在网络转发芯片占据的存储空间,减小网络转发芯片的占用面积,降低成本。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为一种TM模块的结构示意图。请参阅图1,流量管理(Traffic Management,TM)是网络转发芯片中的一个功能模块。为了完成报文入队以及队列调度出队等操作,使流量快速有序转发,TM模块通常将TM控制信息存储到网络转发芯片的高性能片上内存中。随着网络转发芯片支持的队列规格变大,TM控制信息所需要的存储空间也越来越大,网络转发芯片也需要更大的片上内存存储空间。传统的TM控制信息存储技术将TM控制信息都存储在网络转发芯片上,占据了网络转发芯片大量的片上存储空间。
图2为本申请实施例中TM模块的第一结构示意图。请参阅图2,该TM模块包括位于网络转发芯片上的高速缓冲存储器Cache和位于网络转发芯片外的高带宽存储器(highbandwidth memory,HBM)。该HBM存储有该TM模块的全部TM控制信息,该Cache存储有该TM模块的部分TM控制信息,该部分TM控制信息称为第一TM控制信息。该TM模块根据该目标报文的队列标识信息在Cache中查找对应的目标TM控制信息。若TM模块在该Cache中未命中目标TM控制信息(即未查找到该目标报文对应的目标TM控制信息),则该TM模块在HBM中查找上述目标TM控制信息。本申请实施例中,通过将全部TM控制信息存储到位于网络转发芯片外的HBM中,网络转发芯片上只存储有部分TM控制信息,可以减小TM控制信息在网络转发芯片占据的存储空间,减小网络转发芯片的占用面积,降低网络转发芯片的成本。在一些实施例中,所述目标报文是由其他组件或设备发给所述网络转发芯片的。在一些实施例中,该目标报文携带所述队列标识信息。
在一些实施例中,TM控制信息包括TM报文描述符和TM队列信息,该TM队列标识信息与该TM队列信息一一对应。该TM队列信息包括TM队列标识信息和与该TM队列标识对应的TM队列的其他信息,与该TM队列标识对应的TM队列的其他信息包括该TM队列的长度、下一个存储单元的位置信息(比如头部指针、尾部指针)等中的一个或多个。第一TM控制信息包括第一TM报文描述符和第一TM队列信息。该所有TM控制信息包括所有TM队列信息以及与该所有TM队列信息对应的TM报文描述符。
如图3所示,Cache中存储有第一TM队列信息,网络转发芯片上的静态随机存取存储器(Static Random Access Memory,SRAM)存储第一TM队列信息对应的第一TM报文描述符。HBM中保存有所有TM控制信息,即HBM中保存有所有的TM队列信息及该所有TM队列信息对应的TM报文描述符。
如图4所示,在另一个实施例中,Cache存储有第一TM队列信息和所有TM队列信息对应的TM报文描述符,HBM中保存有所有TM队列信息。
图5为本申请实施例中网络转发芯片外HBM的存储结构示意图。如图5所示,网络转发芯片外的HBM的每个存储单元只存储一个队列的TM控制信息,该TM控制信息可以包括TM队列信息和至少一个TM报文描述符。当一个存储单元不足存储该队列的完整的TM控制信息时,HBM将剩余的TM控制信息存储到下一个存储单元中,并在该存储单元中记录下一个存储单元的位置信息。例如图5所示,该存储单元中存储的该队列的TM控制信息包括TM队列标识信息、该队列对应的至少一个TM报文描述符和下一个存储单元的位置信息,下一个存储单元存储有该队列的其他TM控制信息。
图6为本申请实施例中转发芯Cache的存储结构示意图。如图6所示,Cache保存部分队列的TM控制信息,即保存第一TM控制信息中的第一TM队列信息和一个或多个TM报文描述符。
图7为本申请实施例中管理TM控制信息的方法流程示意图,该方法包括:
S701、TM模块根据目标报文在Cache中查找对应的目标TM控制信息。
TM模块接收目标报文,根据该目标报文的目标队列标识信息在Cache中查找该目标报文对应的目标TM控制信息。若TM模块在Cache中未查找到所述目标TM控制信息,则执行S702;若TM模块在Cache中查找到该目标TM控制信息,则执行S704。
在一些实施例中,TM模块从网络处理器接收目标报文,该目标报文中包括TM队列标识信息。
在一种可能的实现方式中,该Cache存储的第一TM控制信息都是高优先级的TM控制信息和/或高速流的TM控制信息。在一些实施例中,该Cache存储哪些TM控制信息,由用户确定和/或配置。在一些实施例中,需要存储在Cache的高优先级的TM控制信息,其优先级高低划分,由用户确定和/或配置。在一些实施例中,通过测速,根据测速确定的速率确定大于预设阈值的流称为高速流,该阈值可由用户确定和/或配置。
S702、TM模块在HBM中查找所述目标TM控制信息,若TM模块在HBM中未查找到所述目标TM控制信息,则执行S703;若TM模块在HBM中查找到所述目标TM控制信息,则执行S705。
S703、在HBM中存入该目标TM控制信息。
在一些实施例中,若TM模块在HBM中查找到所述目标TM控制信息,TM模块从所述HBM中读取该目标TM控制信息,并将查找到的目标TM控制信息写入Cache中。
在一种可能的实现方式中,当TM模块要将存储在HBM中的目标TM控制信息写入Cache中时,若该Cache中仍有可以写入目标TM控制信息的存储空间时,则TM模块将查找到的、存储在HBM中的目标TM控制信息写入Cache中。
在一种可能的实现方式中,当TM模块要将查找到的、存储在HBM中的目标TM控制信息写入Cache中时,若该Cache中的存储空间不足以保存该目标TM控制信息,则TM模块在Cache中存储的第一TM控制信息中确定第二TM控制信息,TM模块将该第二TM控制信息写入网络转发芯片外的HBM中,从而释放出足以存储该目标TM控制信息的存储空间,进而将该目标TM控制信息存储到该Cache中。
在一些实施例中,该TM模块在Cache中存储的第一TM控制信息中确定第二TM控制信息可以包括:TM模块通过测速来获取第一TM控制信息中的所有TM控制信息对应的队列的速率,从而确定低速率队列列表,该低速率队列列表中包括第一TM控制信息中所有队列速率低于队列速率门限的数据流对应的TM控制信息,第二TM控制信息包括这些队列对应的TM控制信息。该队列速率门限Th=S/(2*t),其中S为所述TM模块需支持的最小报文大小,所述t为片外最大访问时延。在一种可能的实现方式中,该队列速率门限可以不通过计算确定,而由用户配置,从而减少TM模块的计算量。
在一些实施例中,该TM模块在Cache中存储的第一TM控制信息中确定第二TM控制信息可以包括:TM模块通过测速来获取第一TM控制信息中的所有TM控制信息对应的队列的速率,从而确定低速率队列列表,该低速率队列列表中包括第一TM控制信息中所有队列速率低于该目标报文对应的TM队列标识信息对应的队列的速率的队列,第二TM控制信息包括这些队列对应的TM控制信息。
在一些实施例中,该TM模块在Cache中存储的第一TM控制信息中确定第二TM控制信息可以包括:该TM模块确定Cache中是否存在优先级低于目标报文的优先级的报文对应的TM控制信息,如果有,则作为第二TM控制信息予以删除以释放部分cache空间,删除部分或全部第二TM控制信息得到的Cache存储空间可以用来存储该目标TM控制信息。
在一种可能的实现方式中,用户预先为第一TM控制信息配置对应的多个队列速率以及队列速率门限,TM模块不需要进行测速来获取第一TM控制信息中的所有TM控制信息的队列速率,可以根据用户配置的队列速率确定队列速率较低的TM控制信息为第二TM控制信息。
在一种可能的实现方式中,该Cache存储的第一TM控制信息都是高优先级的TM控制信息和/或高速流的TM控制信息,当TM模块在HBM中查找到目标TM控制信息时,TM模块不在Cache中确定第二TM控制信息或不能在Cache中确定第二TM控制信息,则不将查找到的、存储在HBM中的目标TM控制信息写入Cache。
S704、TM模块对目标TM控制信息执行对应的读写操作。
TM模块根据目标报文对目标TM控制信息执行对应的读写操作。例如在目标报文入队和出队时,目标报文对应的队列的长度会发生变化,因此需要对目标TM控制信息执行相应的修改操作。
S705、将查找到的目标TM控制信息写入Cache中。
下面对本申请实施例中的TM模块进行描述。
图8为本申请实施例中TM模块的第四结构示意图。图8的TM模块800可以为图7的TM模块,该TM模块800包括:
第一确定单元801,确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,所述Cache位于网络转发芯片中且存储有第一TM控制信息,所述第一TM控制信息为全部TM控制信息中的一部分TM控制信息;具体实现方式,请参考图7所示实施例中S701,这里不再赘述。
一种可能的实现方式中,所述第一TM控制信息包括第一TM队列信息,所述第一确定单元具体用于:确定所述Cache中不存在目标报文对应的目标TM控制信息的队列标识信息。
第二确定单元802,用于确定高带宽存储器HBM中是否存在所述目标TM控制信息,所述HBM位于所述网络转发芯片外且存储有全部TM控制信息。具体实现方式,请参考图7所示实施例中S702,这里不再赘述。
一种可能的实现方式中,所述第一TM控制信息对应的队列的优先级高于所述目标TM控制信息对应的队列的优先级,或所述第一TM控制信息对应队列的速率高于所述目标TM控制信息对应的队列的速率;或所述第一TM控制信息对应队列的速率高于队列速率门限。
读取单元803,用于若所述HBM中存在所述目标TM控制信息,则对所述目标TM控制信息执行读操作。具体实现方式,请参考图7所示实施例中S704,这里不再赘述。
写入单元804,用于若确定在所述HBM中存在所述目标TM控制信息,将所述目标TM控制信息写入所述Cache中。具体实现方式,请参考图7所示实施例中S705,这里不再赘述。
一种可能的实现方式中,该写入单元803具体用于:若所述Cache中的可用存储空间足以存储所述目标TM控制信息,则将所述目标TM控制信息写入所述Cache中;或若所述Cache中的可用存储空间不足以存储所述目标TM控制信息,则在所述第一TM控制信息中确定第二TM控制信息,将所述第二TM控制信息所占用的Cache存储空间用于存储所述目标TM控制信息。具体实现方式,请参考图7所示实施例中S705,这里不再赘述。
一种可能的实现方式中,所述第二TM控制信息满足以下中的任意一个:所述第二TM控制信息对应的队列的优先级高于所述目标TM控制信息对应的队列的优先级,或所述第二TM控制信息对应队列的速率高于所述目标TM控制信息对应的队列的速率;或所述第二TM控制信息对应队列的速率高于队列速率门限。
一种可能的实现方式中,队列速率门限满足Th=S/(2*t),其中S为TM模块需支持的最小报文大小,t为所述网络转发芯片的片外最大访问时延。
本实施例中,TM模块可以执行前述图7中任一项所示实施例中TM模块所执行的操作,具体此处不再赘述。
图9是本申请实施例提供的一种TM模块第五结构示意图,该TM模块900可以包括一个或一个以上处理器901和存储器902,该存储器902中存储有一个或一个以上的应用程序或数据。
其中,存储器902可以是易失性存储或持久存储。存储在存储器902的程序可以包括一个或一个以上模块,每个模块可以包括对第一边缘节点中的一系列指令操作。更进一步地,处理器901可以设置为与存储器902通信,在TM模块900上执行存储器902中的一系列指令操作。
其中,中央处理器901用于执行存储器902中的计算机程序,以使得TM模块900用于执行:确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,所述Cache位于网络转发芯片中且存储有第一TM控制信息,所述第一TM控制信息为全部TM控制信息中的一部分TM控制信息;确定高带宽存储器HBM中是否存在所述目标TM控制信息,所述HBM位于所述网络转发芯片外且存储有全部TM控制信息。具体实现方式,请参考图7所示实施例中步骤701-704,此处不再赘述。
TM模块900还可以包括一个或多个输入输出接口903。
该TM模块900可以执行前述图7所示实施例中TM模块所执行的操作,具体此处不再赘述。
图10是本申请实施例提供的一种网络转发芯片1000的结构示意图,该网络转发芯片包括TM模块1001,该TM模块1001可以执行前述图7中任一项所示实施例中TM模块对应的操作,具体实现方式,请参考图7所示实施例中步骤701-705,此处不再赘述。
图11是本申请实施例提供的一种网络转发设备1100的结构示意图,该网络转发设备1100包括网络转发芯片1101,该网络转发芯片1101包括TM模块1102,该TM模块1102可以执行前述图7中任一项所示实施例中TM模块对应的操作,具体实现方式,请参考图7所示实施例中步骤701-705,此处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络转发设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (25)
1.一种管理流量管理TM控制信息的方法,其特征在于,包括:
确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,所述Cache位于网络转发芯片中且存储有第一TM控制信息,所述第一TM控制信息为全部TM控制信息中的一部分TM控制信息;
确定高带宽存储器HBM中是否存在所述目标TM控制信息,所述HBM位于所述网络转发芯片外且存储有全部TM控制信息。
2.根据权利要求1所述的方法,其特征在于,
所述第一TM控制信息对应的队列的优先级高于所述目标TM控制信息对应的队列的优先级,或
所述第一TM控制信息对应队列的速率高于所述目标TM控制信息对应的队列的速率;或
所述第一TM控制信息对应队列的速率高于队列速率门限。
3.根据权利要求2所述的方法,其特征在于,还包括:若所述HBM中存在所述目标TM控制信息,则对所述目标TM控制信息执行读操作。
4.根据权利要求1所述的方法,其特征在于,还包括:若确定在所述HBM中存在所述目标TM控制信息,将所述目标TM控制信息写入所述Cache中。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标TM控制信息写入所述Cache中,包括:
所述Cache中的可用存储空间足以存储所述目标TM控制信息,则将所述目标TM控制信息写入所述Cache中;或
所述Cache中的可用存储空间不足以存储所述目标TM控制信息,则在所述第一TM控制信息中确定第二TM控制信息,将所述第二TM控制信息所占用的Cache存储空间用于存储所述目标TM控制信息。
6.根据权利要求5所述的方法,其特征在于,所述第二TM控制信息满足以下中的任意一个:
所述第二TM控制信息对应的队列的优先级低于所述目标TM控制信息对应的队列的优先级,或
所述第二TM控制信息对应队列的速率低于所述目标TM控制信息对应的队列的速率;或
所述第二TM控制信息对应队列的速率低于队列速率门限。
7.根据权利要求6所述的方法,其特征在于,所述队列速率门限满足Th=S/(2*t),其中S为TM模块需支持的最小报文大小,t为所述网络转发芯片的片外最大访问时延。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述第一TM控制信息包括第一TM队列信息,所述确定在Cache中不存在目标报文对应的目标TM控制信息,包括:
确定所述Cache中不存在目标报文对应的目标TM控制信息的队列标识信息。
9.根据权利要求8所述的方法,其特征在于,所述第一TM队列信息包括第一TM队列标识信息。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述第一TM控制信息包括队列对应的至少一个TM报文描述符。
11.一种流量管理TM模块,其特征在于,包括:
第一确定单元,用于确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,所述Cache位于网络转发芯片中且存储有第一TM控制信息,所述第一TM控制信息为全部TM控制信息中的一部分TM控制信息;
第二确定单元,用于确定高带宽存储器HBM中是否存在所述目标TM控制信息,所述HBM位于所述网络转发芯片外且存储有全部TM控制信息。
12.根据权利要求11所述的TM模块,其特征在于,所述第一TM控制信息对应的队列的优先级高于所述目标TM控制信息对应的队列的优先级,或
所述第一TM控制信息对应队列的速率高于所述目标TM控制信息对应的队列的速率;或
所述第一TM控制信息对应队列的速率高于队列速率门限。
13.根据权利要求12所述的TM模块,其特征在于,还包括:
读取单元,用于若所述HBM中存在所述目标TM控制信息,则对所述目标TM控制信息执行读操作。
14.根据权利要求11所述的TM模块,其特征在于,还包括:
写入单元,用于若确定在所述HBM中存在所述目标TM控制信息,将所述目标TM控制信息写入所述Cache中。
15.根据权利要求14所述的TM模块,其特征在于,所述写入单元具体用于:
若所述Cache中的可用存储空间足以存储所述目标TM控制信息,则将所述目标TM控制信息写入所述Cache中;或
若所述Cache中的可用存储空间不足以存储所述目标TM控制信息,则在所述第一TM控制信息中确定第二TM控制信息,将所述第二TM控制信息所占用的Cache存储空间用于存储所述目标TM控制信息。
16.根据权利要求15所述的TM模块,其特征在于,所述第二TM控制信息满足以下中的任意一个:
所述第二TM控制信息对应的队列的优先级高于所述目标TM控制信息对应的队列的优先级,或
所述第二TM控制信息对应队列的速率高于所述目标TM控制信息对应的队列的速率;或
所述第二TM控制信息对应队列的速率高于队列速率门限。
17.根据权利要求16所述的TM模块,其特征在于,所述队列速率门限满足Th=S/(2*t),其中S为TM模块需支持的最小报文大小,t为所述网络转发芯片的片外最大访问时延。
18.根据权利要求11-17任一项所述的TM模块,其特征在于,所述第一TM控制信息包括第一TM队列信息,所述第一确定单元具体用于:
确定所述Cache中不存在目标报文对应的目标TM控制信息的队列标识信息。
19.根据权利要求18所述的TM模块,其特征在于,所述第一TM队列信息包括第一TM队列标识信息。
20.根据权利要求11-19任一项所述的TM模块,其特征在于,所述第一TM控制信息包括队列对应的至少一个TM报文描述符。
21.一种网络转发芯片,其特征在于,包括权利要求11-20任一项所述的TM模块。
22.一种网络转发芯片,其特征在于,包括处理器,所述处理器用于执行计算机程序或指令,以使得所述网络转发芯片执行权利要求1-10中任一项所述的方法。
23.一种网络转发设备,其特征在于,包括权利要求21或22所述的网络转发芯片。
24.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序被计算机执行时使得所述计算机执行权利要求1-10任一项所述的方法。
25.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被计算机执行时使得所述计算机执行权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/142203 WO2023130997A1 (zh) | 2022-01-07 | 2022-12-27 | 管理流量管理tm控制信息的方法、tm模块和网络转发设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012394 | 2022-01-07 | ||
CN2022100123947 | 2022-01-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116455850A true CN116455850A (zh) | 2023-07-18 |
Family
ID=87134397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210437560.8A Pending CN116455850A (zh) | 2022-01-07 | 2022-04-25 | 管理流量管理tm控制信息的方法、tm模块和网络转发设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455850A (zh) |
-
2022
- 2022-04-25 CN CN202210437560.8A patent/CN116455850A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11340812B2 (en) | Efficient modification of storage system metadata | |
US9965196B2 (en) | Resource reservation for storage system metadata updates | |
CN108829344A (zh) | 数据存储方法、装置及存储介质 | |
US20190173809A1 (en) | Packet descriptor storage in packet memory with cache | |
EP3206123B1 (en) | Data caching method and device, and storage medium | |
EP3166269A1 (en) | Queue management method and apparatus | |
US9112708B1 (en) | Processing multicast packets in a network device | |
WO2020147253A1 (zh) | 一种数据读写方法及装置、交换芯片及存储介质 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
US8717891B2 (en) | Shaping apparatus and method | |
WO2016202113A1 (zh) | 一种队列管理方法、装置及存储介质 | |
CN110519180B (zh) | 网卡虚拟化队列调度方法及系统 | |
CN111181874B (zh) | 一种报文处理方法、装置及存储介质 | |
CN113126911B (zh) | 基于ddr3 sdram的队列管理方法、介质、设备 | |
CN116955247B (zh) | 一种缓存描述符管理装置及其方法、介质、芯片 | |
CN112433839B (zh) | 实现网络芯片高速调度的方法、设备及存储介质 | |
CN116455850A (zh) | 管理流量管理tm控制信息的方法、tm模块和网络转发设备 | |
US9531641B2 (en) | Virtual output queue linked list management scheme for switch fabric | |
WO2023130997A1 (zh) | 管理流量管理tm控制信息的方法、tm模块和网络转发设备 | |
CN114035924A (zh) | 一种分布式限速队列实现方法及装置 | |
EP3299965B1 (en) | Method and physical device for managing linked lists | |
CN113691469A (zh) | 报文乱序重排方法及单板 | |
US9544229B2 (en) | Packet processing apparatus and packet processing method | |
US9813362B2 (en) | Framework for scheduling packets with multiple destinations in a virtual output queue network switch | |
US20220365815A1 (en) | Sub-queue insertion schemes executable by queue managers and related systems and operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |