WO2023130997A1 - 管理流量管理tm控制信息的方法、tm模块和网络转发设备 - Google Patents

管理流量管理tm控制信息的方法、tm模块和网络转发设备 Download PDF

Info

Publication number
WO2023130997A1
WO2023130997A1 PCT/CN2022/142203 CN2022142203W WO2023130997A1 WO 2023130997 A1 WO2023130997 A1 WO 2023130997A1 CN 2022142203 W CN2022142203 W CN 2022142203W WO 2023130997 A1 WO2023130997 A1 WO 2023130997A1
Authority
WO
WIPO (PCT)
Prior art keywords
control information
target
queue
cache
network forwarding
Prior art date
Application number
PCT/CN2022/142203
Other languages
English (en)
French (fr)
Inventor
李广
王小忠
白宇
王雅青
杨文斌
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202210437560.8A external-priority patent/CN116455850A/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023130997A1 publication Critical patent/WO2023130997A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools

Definitions

  • the embodiments of the present application relate to the technical field of communications, and in particular to a method for managing traffic management (traffic management, TM) control information, a TM module, and a network forwarding device.
  • traffic management traffic management
  • TM traffic management
  • Traffic management is a functional module in the network forwarding chip.
  • the TM module In order to complete operations such as packet enqueue and queue scheduling dequeue, and forward traffic quickly and orderly, the TM module usually stores TM control information in the high-performance on-chip memory of the network forwarding chip. As the queue specifications supported by the network forwarding chip become larger, the storage space required for TM control information is also increasing, and the network forwarding chip also requires a larger on-chip memory storage space.
  • the embodiment of the present application provides a method for managing traffic management (Traffic Management, TM) control information, a TM module, and a network forwarding device, which can reduce the storage space occupied by the TM control information in the network forwarding chip, and reduce the cost of the network forwarding chip. Occupies less space and reduces costs.
  • TM Traffic Management
  • the first aspect of the embodiment of the present application provides a method for managing TM control information, the method includes: determining that there is no target TM control information corresponding to the target message in the cache memory Cache, the Cache is located in the network forwarding chip and First TM control information is stored, and the first TM control information is a part of TM control information in all TM control information; determine whether the target TM control information exists in the high-bandwidth memory HBM, and the HBM is located in the network forwarding Off-chip and stores all TM control information.
  • part of the TM control information is stored in the on-chip Cache, and all the TM control information is stored in the off-chip HBM, which reduces the storage space occupied by the TM control information in the network forwarding chip, and can save on-chip storage resources, thereby The occupied area of the network forwarding chip occupied by the TM module is reduced, and the cost of the network forwarding chip is reduced.
  • the priority of the queue corresponding to the first TM control information is higher than the priority of the queue corresponding to the target TM control information, or the priority of the queue corresponding to the first TM control information is The rate of the queue is higher than the rate of the queue corresponding to the target TM control information; or the rate of the queue corresponding to the first TM control information is higher than the queue rate threshold.
  • the first TM control information stored in the Cache is TM control information with higher priority
  • the rate of the corresponding queue is higher than the queue rate threshold
  • the rate of the corresponding queue is higher than the rate of the queue corresponding to the target TM control information TM control information, so that the TM module stores TM control information with higher application priority or higher application frequency, reducing access to off-chip memory.
  • the above method further includes: if the target TM control information exists in the HBM, performing a read operation on the target TM control information.
  • the above method further includes: if it is determined that the target TM control information exists in the HBM, writing the target TM control information into the Cache.
  • writing the target TM control information into the Cache includes: the available storage space in the Cache is sufficient to store the target TM control information, then writing the target TM control information The target TM control information is written into the Cache; or the available storage space in the Cache is not enough to store the target TM control information, then the second TM control information is determined in the first TM control information, and the The Cache storage space occupied by the second TM control information is used to store the target TM control information.
  • the TM module can write the target TM control information into the Cache, so that more of the TM control information in the Cache is TM control information with high application frequency, reducing access to off-chip memory.
  • the above-mentioned second TM control information satisfies any one of the following: the queue corresponding to the second TM control information has a lower priority than the queue corresponding to the target TM control information or the rate of the queue corresponding to the second TM control information is lower than the rate of the queue corresponding to the target TM control information; or the rate of the queue corresponding to the second TM control information is lower than the queue rate threshold.
  • the first TM control information includes first TM queue information
  • the above determination that there is no target TM control information corresponding to the target message in the Cache includes: determining that the Cache The queue identification information of the target TM control information corresponding to the target message does not exist in .
  • the first TM queue information includes first TM queue identification information.
  • the first TM control information includes at least one TM packet descriptor corresponding to the queue.
  • the second aspect of the present application provides a TM module, and the TM module has the function of realizing the method of the above-mentioned first aspect or any possible implementation manner of the first aspect.
  • This function may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more units corresponding to the above functions, for example: a writing unit.
  • the third aspect of the present application provides a TM module, the TM module includes at least one processor, a memory, an input/output (input/output, I/O) interface, and a computer-executed computer that is stored in the memory and can run on the processor Instructions, when the computer-executed instructions are executed by the processor, the processor executes the method according to the above first aspect or any possible implementation manner of the first aspect.
  • the TM module includes at least one processor, a memory, an input/output (input/output, I/O) interface, and a computer-executed computer that is stored in the memory and can run on the processor Instructions, when the computer-executed instructions are executed by the processor, the processor executes the method according to the above first aspect or any possible implementation manner of the first aspect.
  • a fourth aspect of the present application provides a network forwarding chip, and the network forwarding chip includes the second TM module of the second aspect above.
  • a fifth aspect of the present application provides a network forwarding chip, and the network forwarding chip has a function of realizing the method of the above-mentioned first aspect or any possible implementation manner of the first aspect.
  • This function may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more modules corresponding to the above functions, for example: a writing unit.
  • the sixth aspect of the present application provides a network forwarding chip
  • the network forwarding chip includes at least one processor, a memory, an input/output (input/output, I/O) interface, and a program stored in the memory and operable on the processor
  • the computer executes the instruction.
  • the processor executes the method according to the above first aspect or any possible implementation manner of the first aspect.
  • a seventh aspect of the present application provides a network forwarding device, where the network forwarding device has a function of implementing the method of the first aspect or any possible implementation manner of the first aspect.
  • This function may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more modules corresponding to the above functions, for example: a writing unit.
  • the eighth aspect of the present application provides a network forwarding device.
  • the network forwarding device includes at least one processor, a memory, an input/output (input/output, I/O) interface, and a program stored in the memory and operable on the processor.
  • the computer executes the instruction.
  • the processor executes the method according to the above first aspect or any possible implementation manner of the first aspect.
  • the ninth aspect of the present application provides a computer-readable storage medium that stores one or more computer-executable instructions.
  • the processor executes any one of the possible methods described in the first aspect or the first aspect above. method of implementation.
  • the tenth aspect of the present application provides a computer program (product) that stores one or more computer-executable instructions.
  • the processor executes any one of the possible tasks described in the first aspect or the first aspect. method of implementation.
  • the eleventh aspect of the present application provides a chip system, where the chip system includes at least one processor, and the at least one processor is configured to implement the functions involved in the above first aspect or any possible implementation manner of the first aspect.
  • the chip system may further include a memory, the memory is used to store program instructions and data, and when the program instructions are executed by the at least one processor, it is used to perform the first aspect or the second aspect.
  • the system-on-a-chip may consist of chips, or may include chips and other discrete devices.
  • part of the TM control information is stored on-chip of the network forwarding chip, and all TM control information is stored in the off-chip HBM, which reduces the storage space occupied by the TM control information in the network forwarding chip and saves on-chip storage resources , thereby reducing the occupied area of the network forwarding chip and reducing the cost of the network forwarding chip;
  • the TM module replaces the TM control information in the Cache according to the queue rate, so that the TM module, the network forwarding chip, and the network forwarding device have a higher Forwarding performance.
  • FIG. 1 is a schematic structural diagram of a TM module
  • Fig. 2 is the first schematic structural diagram of the TM module in the embodiment of the present application.
  • FIG. 3 is a second structural schematic diagram of the TM module in the embodiment of the present application.
  • FIG. 4 is a schematic diagram of the third structure of the TM module in the embodiment of the present application.
  • FIG. 5 is a schematic diagram of the storage structure of the HBM outside the network forwarding chip in the embodiment of the present application;
  • FIG. 6 is a schematic diagram of the storage structure of the Cache in the network forwarding chip in the embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a method for managing TM control information in an embodiment of the present application.
  • FIG. 8 is a schematic diagram of the fourth structure of the TM module in the embodiment of the present application.
  • FIG. 9 is a schematic diagram of a fifth structure of the TM module in the embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a network forwarding chip in an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a network forwarding device in an embodiment of the present application.
  • the embodiment of the present application provides a method for managing traffic management (Traffic Management, TM) control information, a TM module, and a network forwarding device, which can reduce the storage space occupied by the TM control information in the network forwarding chip, and reduce the cost of the network forwarding chip. Occupies less space and reduces costs.
  • TM Traffic Management
  • FIG. 1 is a schematic structural diagram of a TM module.
  • traffic management Traffic Management
  • TM Traffic Management
  • the TM module In order to complete operations such as packet enqueue and queue scheduling dequeue, so that traffic can be forwarded quickly and orderly, the TM module usually stores TM control information in the high-performance on-chip memory of the network forwarding chip. As the queue specifications supported by the network forwarding chip become larger, the storage space required for TM control information is also increasing, and the network forwarding chip also requires a larger on-chip memory storage space.
  • the traditional TM control information storage technology stores all TM control information on the network forwarding chip, occupying a large amount of on-chip storage space of the network forwarding chip.
  • FIG. 2 is a schematic diagram of the first structure of the TM module in the embodiment of the present application.
  • the TM module includes a high-speed buffer memory Cache located on the network forwarding chip and a high bandwidth memory (high bandwidth memory, HBM) located outside the network forwarding chip.
  • the HBM stores all TM control information of the TM module
  • the Cache stores part of the TM control information of the TM module, and the part of TM control information is called first TM control information.
  • the TM module searches the Cache for corresponding target TM control information according to the queue identification information of the target message.
  • the TM module searches the HBM for the target TM control information.
  • the target message is sent to the network forwarding chip by other components or devices.
  • the target packet carries the queue identification information.
  • the TM control information includes a TM packet descriptor and TM queue information
  • the TM queue identification information is in one-to-one correspondence with the TM queue information.
  • the TM queue information includes TM queue identification information and other information of the TM queue corresponding to the TM queue identification, and other information of the TM queue corresponding to the TM queue identification includes the length of the TM queue, the position information of the next storage unit ( For example, one or more of head pointer, tail pointer) and the like.
  • the first TM control information includes a first TM packet descriptor and first TM queue information.
  • the all TM control information includes all TM queue information and TM packet descriptors corresponding to all TM queue information.
  • the first TM queue information is stored in the Cache, and the static random access memory (Static Random Access Memory, SRAM) on the network forwarding chip stores the first TM message descriptor corresponding to the first TM queue information.
  • SRAM Static Random Access Memory
  • All TM control information is stored in the HBM, that is, all TM queue information and TM message descriptors corresponding to all TM queue information are stored in the HBM.
  • the Cache stores the first TM queue information and TM packet descriptors corresponding to all TM queue information, and the HBM stores all TM queue information.
  • FIG. 5 is a schematic diagram of a storage structure of an off-chip HBM for network forwarding in an embodiment of the present application.
  • each storage unit of the HBM outside the network forwarding chip only stores TM control information of one queue, and the TM control information may include TM queue information and at least one TM packet descriptor.
  • the HBM stores the remaining TM control information in the next storage unit, and records the location information of the next storage unit in the storage unit.
  • the TM control information of the queue stored in the storage unit includes TM queue identification information, at least one TM message descriptor corresponding to the queue, and the location information of the next storage unit, and the next storage unit stores Other TM control information for this queue.
  • FIG. 6 is a schematic diagram of a storage structure of a forwarding core Cache in an embodiment of the present application.
  • the Cache stores TM control information of some queues, that is, stores the first TM queue information and one or more TM packet descriptors in the first TM control information.
  • FIG. 7 is a schematic flowchart of a method for managing TM control information in an embodiment of the present application, the method including:
  • the TM module searches the Cache for corresponding target TM control information according to the target message.
  • the TM module receives the target message, and searches the Cache for the target TM control information corresponding to the target message according to the target queue identification information of the target message. If the TM module does not find the target TM control information in the Cache, execute S702; if the TM module finds the target TM control information in the Cache, execute S704.
  • the TM module receives a target packet from the network processor, and the target packet includes TM queue identification information.
  • the first TM control information stored in the Cache is high-priority TM control information and/or high-speed stream TM control information.
  • which TM control information is stored in the Cache is determined and/or configured by the user.
  • the high-priority TM control information that needs to be stored in the Cache is divided into high and low priorities, determined and/or configured by the user.
  • a flow determined according to a rate determined by the speed measurement to be greater than a preset threshold is called a high-speed flow, and the threshold can be determined and/or configured by a user.
  • the TM module searches the HBM for the target TM control information, and if the TM module does not find the target TM control information in the HBM, execute S703; if the TM module finds the target TM control information in the HBM, Then execute S705.
  • the TM module if the TM module finds the target TM control information in the HBM, the TM module reads the target TM control information from the HBM, and writes the found target TM control information into the Cache.
  • the TM module when the TM module writes the target TM control information stored in the HBM into the Cache, if there is still storage space in the Cache that can write the target TM control information, the TM module Write the target TM control information found and stored in the HBM into the Cache.
  • the TM module when the TM module writes the found target TM control information stored in the HBM into the Cache, if the storage space in the Cache is not enough to save the target TM control information, then The TM module determines the second TM control information in the first TM control information stored in the Cache, and the TM module writes the second TM control information into the HBM outside the network forwarding chip, thereby releasing enough memory to store the target TM control information. storage space, and then store the target TM control information in the Cache.
  • the TM module determining the second TM control information in the first TM control information stored in the Cache may include: the TM module obtains the queues corresponding to all the TM control information in the first TM control information through speed measurement Rate, so as to determine the low-rate queue list, the low-rate queue list includes the TM control information corresponding to the data flow of all the queue rates in the first TM control information that are lower than the queue rate threshold, and the second TM control information includes the TM corresponding to these queues control information.
  • the queue rate threshold Th S/(2*t), where S is the minimum packet size to be supported by the TM module, and t is the maximum off-chip access delay.
  • the queue rate threshold may not be determined through calculation, but may be configured by a user, thereby reducing the calculation amount of the TM module.
  • the TM module determining the second TM control information in the first TM control information stored in the Cache may include: the TM module obtains the queues corresponding to all the TM control information in the first TM control information through speed measurement rate, thereby determining the low-rate queue list, which includes all queue rates in the first TM control information that are lower than the rate of the queue corresponding to the TM queue identification information corresponding to the target message in the low-rate queue list, and the second TM control information Include the TM control information corresponding to these queues.
  • the TM module determining the second TM control information in the first TM control information stored in the Cache may include: the TM module determines whether there is a message with a priority lower than that of the target message in the Cache The corresponding TM control information, if any, is deleted as the second TM control information to release part of the cache space, and the Cache storage space obtained by deleting part or all of the second TM control information can be used to store the target TM control information.
  • the user pre-configures multiple corresponding queue rates and queue rate thresholds for the first TM control information, and the TM module does not need to perform speed measurement to obtain the queues of all TM control information in the first TM control information rate, the TM control information with a lower queue rate may be determined as the second TM control information according to the queue rate configured by the user.
  • the first TM control information stored in the Cache is high-priority TM control information and/or high-speed TM control information, when the TM module finds the target TM control information in the HBM , the TM module does not determine the second TM control information in the Cache or cannot determine the second TM control information in the Cache, then it does not write the found target TM control information stored in the HBM into the Cache.
  • the TM module performs corresponding read and write operations on the target TM control information.
  • the TM module performs corresponding read and write operations on the target TM control information according to the target message. For example, when the target message enters and exits the queue, the length of the queue corresponding to the target message will change, so it is necessary to perform a corresponding modification operation on the target TM control information.
  • the TM module in the embodiment of the present application is described below.
  • FIG. 8 is a schematic diagram of a fourth structure of a TM module in an embodiment of the present application.
  • the TM module 800 of FIG. 8 may be the TM module of FIG. 7, and the TM module 800 includes:
  • the first determining unit 801 determines that there is no target TM control information corresponding to the target message in the cache memory Cache, the Cache is located in the network forwarding chip and stores first TM control information, and the first TM control information is Part of the TM control information in all the TM control information; for the specific implementation manner, please refer to S701 in the embodiment shown in FIG. 7 , which will not be repeated here.
  • the first TM control information includes first TM queue information
  • the first determining unit is specifically configured to: determine that there is no queue of the target TM control information corresponding to the target message in the Cache Identification information.
  • the second determining unit 802 is configured to determine whether the target TM control information exists in a high-bandwidth memory HBM, the HBM is located outside the network forwarding chip and stores all TM control information.
  • HBM high-bandwidth memory
  • the priority of the queue corresponding to the first TM control information is higher than the priority of the queue corresponding to the target TM control information, or the rate of the queue corresponding to the first TM control information is higher than that of the queue corresponding to the target TM control information.
  • the rate of the queue corresponding to the target TM control information; or the rate of the queue corresponding to the first TM control information is higher than the queue rate threshold.
  • the reading unit 803 is configured to perform a read operation on the target TM control information if the target TM control information exists in the HBM.
  • S704 for a specific implementation manner, please refer to S704 in the embodiment shown in FIG. 7 , which will not be repeated here.
  • the writing unit 804 is configured to write the target TM control information into the Cache if it is determined that the target TM control information exists in the HBM.
  • S705 for a specific implementation manner, please refer to S705 in the embodiment shown in FIG. 7 , which will not be repeated here.
  • the writing unit 803 is specifically configured to: write the target TM control information into the Cache if the available storage space in the Cache is sufficient to store the target TM control information; Or if the available storage space in the Cache is not enough to store the target TM control information, then determine the second TM control information in the first TM control information, and store the Cache occupied by the second TM control information space for storing the target TM control information.
  • the writing unit 803 is specifically configured to: write the target TM control information into the Cache if the available storage space in the Cache is sufficient to store the target TM control information; Or if the available storage space in the Cache is not enough to store the target TM control information, then determine the second TM control information in the first TM control information, and store the Cache occupied by the second TM control information space for storing the target TM control information.
  • S705 in the embodiment shown in FIG. 7 , which will not be repeated here.
  • the second TM control information satisfies any one of the following: the priority of the queue corresponding to the second TM control information is higher than the priority of the queue corresponding to the target TM control information, Or the rate of the queue corresponding to the second TM control information is higher than the rate of the queue corresponding to the target TM control information; or the rate of the queue corresponding to the second TM control information is higher than a queue rate threshold.
  • the TM module can perform the operations performed by the TM module in any one of the embodiments shown in FIG. 7 , and details are not repeated here.
  • FIG. 9 is a schematic diagram of a fifth structure of a TM module provided by an embodiment of the present application.
  • the TM module 900 may include one or more processors 901 and a memory 902, and one or more application programs or data are stored in the memory 902. .
  • the storage 902 may be a volatile storage or a persistent storage.
  • the program stored in the memory 902 may include one or more modules, and each module may include a series of instruction operations on the first edge node.
  • the processor 901 may be configured to communicate with the memory 902 , and execute a series of instruction operations in the memory 902 on the TM module 900 .
  • the central processing unit 901 is used to execute the computer program in the memory 902, so that the TM module 900 is used to perform: determine that there is no target TM control information corresponding to the target message in the cache memory Cache, the Cache is located in the network forwarding
  • the first TM control information is stored in the chip, and the first TM control information is a part of the TM control information in all the TM control information; it is determined whether the target TM control information exists in the high-bandwidth memory HBM, and the HBM is located in the All TM control information is stored outside the network forwarding chip.
  • steps 701-704 in the embodiment shown in FIG. 7 , which will not be repeated here.
  • the TM module 900 may also include one or more input and output interfaces 903 .
  • the TM module 900 can perform the operations performed by the TM module in the embodiment shown in FIG. 7 , and details are not repeated here.
  • Fig. 10 is a schematic structural diagram of a network forwarding chip 1000 provided by an embodiment of the present application.
  • the network forwarding chip includes a TM module 1001, and the TM module 1001 can execute the corresponding functions of the TM module in any one of the embodiments shown in Fig. 7 above.
  • steps 701-705 in the embodiment shown in FIG. 7 , which will not be repeated here.
  • FIG. 11 is a schematic structural diagram of a network forwarding device 1100 provided by an embodiment of the present application.
  • the network forwarding device 1100 includes a network forwarding chip 1101, and the network forwarding chip 1101 includes a TM module 1102.
  • the TM module 1102 can execute the above-mentioned Please refer to steps 701-705 in the embodiment shown in FIG. 7 for the specific implementation of the operations corresponding to the TM module in any one of the embodiments shown in FIG. 7 , which will not be repeated here.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions
  • the device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network forwarding device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), magnetic disk or optical disc, etc., which can store program codes. .

Abstract

本申请公开了管理流量管理TM控制信息的方法、TM模块和网络转发设备,用于减小TM控制信息在网络转发芯片占据的存储空间,从而减小网络转发芯片的占用面积,降低成本。该方法包括:确定在高速缓冲存储器Cache中不存在目标报文对应的目标TM控制信息,Cache位于网络转发芯片中且存储有第一TM控制信息,第一TM控制信息为全部TM控制信息中的一部分TM控制信息;确定高带宽存储器HBM中是否存在目标TM控制信息,HBM位于网络转发芯片外且存储有全部TM控制信息。

Description

管理流量管理TM控制信息的方法、TM模块和网络转发设备
本申请要求于2022年1月7日提交中国专利局、申请号为“CN202210012394.7”、申请名称为“一种TM控制信息访问的方法、设备及系统”的中国专利申请的优先权,和要求于2022年4月25日提交中国专利局、申请号为“CN202210437560.8”、申请名称为“管理流量管理TM控制信息的方法、TM模块和网络转发设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种管理流量管理(traffic management,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控制信息对应队列的速率低于队列速率门限。
在第一方面的一种可能的实现方式中,上述队列速率门限满足T h=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和位于网络转发芯片外的高带宽存储器(high bandwidth 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-only memory)、随机存取存储器(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所述的方法,其特征在于,所述队列速率门限满足T h=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模块,其特征在于,所述队列速率门限满足T h=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中任一项所述的方法。
PCT/CN2022/142203 2022-01-07 2022-12-27 管理流量管理tm控制信息的方法、tm模块和网络转发设备 WO2023130997A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210012394.7 2022-01-07
CN202210012394 2022-01-07
CN202210437560.8 2022-04-25
CN202210437560.8A CN116455850A (zh) 2022-01-07 2022-04-25 管理流量管理tm控制信息的方法、tm模块和网络转发设备

Publications (1)

Publication Number Publication Date
WO2023130997A1 true WO2023130997A1 (zh) 2023-07-13

Family

ID=87073104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/142203 WO2023130997A1 (zh) 2022-01-07 2022-12-27 管理流量管理tm控制信息的方法、tm模块和网络转发设备

Country Status (1)

Country Link
WO (1) WO2023130997A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198512A1 (en) * 2011-01-28 2012-08-02 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
CN109697022A (zh) * 2017-10-23 2019-04-30 深圳市中兴微电子技术有限公司 一种报文描述符pd的处理方法、装置及计算机可读存储介质
CN112804156A (zh) * 2019-11-13 2021-05-14 深圳市中兴微电子技术有限公司 一种拥塞避免方法和装置及计算机可读存储介质
CN113454957A (zh) * 2019-02-22 2021-09-28 华为技术有限公司 一种存储器的管理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198512A1 (en) * 2011-01-28 2012-08-02 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
CN109697022A (zh) * 2017-10-23 2019-04-30 深圳市中兴微电子技术有限公司 一种报文描述符pd的处理方法、装置及计算机可读存储介质
CN113454957A (zh) * 2019-02-22 2021-09-28 华为技术有限公司 一种存储器的管理方法及装置
CN112804156A (zh) * 2019-11-13 2021-05-14 深圳市中兴微电子技术有限公司 一种拥塞避免方法和装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11899596B2 (en) System and method for facilitating dynamic command management in a network interface controller (NIC)
US11709702B2 (en) Work conserving, load balancing, and scheduling
JP5768683B2 (ja) 受信データ処理方法、通信装置、及びプログラム
JP7162102B2 (ja) メモリアクセス技術およびコンピュータシステム
US20150186068A1 (en) Command queuing using linked list queues
WO2018107681A1 (zh) 一种队列操作中的处理方法、装置及计算机存储介质
US20150341473A1 (en) Packet flow classification
EP3206123B1 (en) Data caching method and device, and storage medium
JP7074839B2 (ja) パケット処理
WO2020147253A1 (zh) 一种数据读写方法及装置、交换芯片及存储介质
WO2024082747A1 (zh) 具有缓存的路由器、路由交换网络系统、芯片及路由方法
CN116114233A (zh) 自动流管理
US8717891B2 (en) Shaping apparatus and method
WO2016202113A1 (zh) 一种队列管理方法、装置及存储介质
CN110519180B (zh) 网卡虚拟化队列调度方法及系统
US9411400B1 (en) Methods and systems for advertsing available credit at memory of network device ports based on temperature
WO2020168563A1 (zh) 一种存储器的管理方法及装置
WO2024021801A1 (zh) 报文转发装置及方法、通信芯片及网络设备
US20120198173A1 (en) Router and many-core system
WO2023130997A1 (zh) 管理流量管理tm控制信息的方法、tm模块和网络转发设备
US9288163B2 (en) Low-latency packet receive method for networking devices
TWI223747B (en) Increasing memory access efficiency for packet applications
US9338219B2 (en) Direct push operations and gather operations
WO2019095942A1 (zh) 一种数据传输方法及通信设备
CN116455850A (zh) 管理流量管理tm控制信息的方法、tm模块和网络转发设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22918440

Country of ref document: EP

Kind code of ref document: A1