Dynamic flow control method, electronic device and medium based on vertical expansion networking

By setting the flow control credit value for the vertically expanded network chip and dynamically adjusting it, the problems of system resource utilization and communication efficiency caused by traffic fluctuations are solved, and efficient flow control is achieved.

CN120128536BActive Publication Date: 2025-08-08BEIJING NORI INTEGRATED CIRCUIT DESIGN CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510586491.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-08
Publication Date
2025-08-08
Estimated Expiration
2045-05-08

AI Technical Summary

Technical Problem

The existing quasi-static traffic control cannot effectively deal with traffic fluctuations in vertical expansion networking, resulting in insufficiency of system resource utilization and communication efficiency, and the need to stop traffic services for traffic switching.

Method used

By setting the flow control credit value for the chips in the vertical expansion network and dynamically adjusting these credit values when the traffic fluctuates, point-to-point traffic control is achieved to avoid overall system downtime.

Benefits of technology

Dynamic flow control without stopping chip traffic services in the case of traffic fluctuations is realized, which improves the utilization rate of system resources and communication efficiency, and reduces the impact of traffic fluctuations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120128536B_ABST
    Figure CN120128536B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of computer technology, and in particular to a dynamic flow control method, electronic device, and medium based on vertical expansion networking. The method comprises steps S1, wherein the mth chip A in the vertical expansion network is m Set a set of flow control credit values; Step S2, when A i The corresponding first A m When there is a demand for increasing the flow control credit value, judge A i Is there a flow control credit value D to be allocated? i , D i Based on reducing A i Corresponding to at least one second A m Corresponding E i m The obtained flow control credit value and / or A i The reserved flow control credit value set, if any, is based on D i Update First A m Corresponding E i m ; Step S3, A m Based on the current flow control credit value and A i Communication, return to step S2. The present invention can achieve efficient and flexible dynamic flow control, and improve the utilization rate of system resources and communication efficiency under flow fluctuations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a dynamic flow control method, electronic equipment and medium based on vertical expansion networking. Background Art

[0002] In traditional scale-up networking, flow control mechanisms are tailored to the specific scenario, and optimal flow settings improve network communication efficiency. However, in real-world networks, traffic fluctuates, such as sudden operations on a single network interface card (NIC) or the accumulation of traffic bursts from multiple NICs. Therefore, traffic flow needs to be adjusted. The current solution primarily relies on quasi-static handover flow control, which requires that the previous traffic service be stopped before traffic switching can occur. Using existing quasi-static handover flow control has at least the following drawbacks: 1. Requires traffic service to be stopped: Quasi-static handovers introduce additional latency, negatively impacting overall system efficiency. 2. Coordination between multiple cards: To avoid functional errors, all cards in the system must be stopped. Otherwise, if traffic is present during a quasi-static handover, functional errors may occur. Therefore, coordination between multiple cards is essential. Even point-to-point flow adjustment between two cards requires stopping all cards in the system. Therefore, static flow control alone cannot effectively address dynamic traffic fluctuations. Therefore, a dynamic flow control mechanism is needed to adjust flow control to improve system resource utilization and communication efficiency under traffic fluctuations. Summary of the Invention

[0003] The purpose of the present invention is to provide a dynamic flow control method, electronic device and medium based on vertical expansion networking, which can realize efficient and flexible dynamic flow control and improve the utilization rate of system resources and communication efficiency under flow fluctuations.

[0004] According to a first aspect of the present invention, a dynamic flow control method based on vertical expansion networking is provided, comprising:

[0005] Step S1: For the mth chip A in the vertical expansion network m Set a set of flow control credit values {E1 m ,E2 m ,...,E i m ,...,E M m}, E i m A m Able to send the i-th chip A i The initial flow control credit value of the data packet sent, the value range of i is 1 to M, the value range of m is 1 to M, and M is the total number of chips in the vertical expansion network. , Q i A i The corresponding physical cache;

[0006] Step S2: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, judge A i Is there a flow control credit value D to be allocated? i , D i Based on reducing A i Corresponding to at least one second A m Corresponding E i m The obtained flow control credit value and / or A i The reserved flow control credit value set, if any, is based on D i Update First A m Corresponding E i m , first A m , Second A m and A i For different chips, the updated E i m satisfy ;

[0007] Step S3, A m Based on the current m ,E2 m ,...,E i m ,...,E M m} and A i Communicate and return to step S2.

[0008] According to a second aspect of the present invention, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executed by the at least one processor, the instructions being configured to execute the method described in the first aspect of the present invention.

[0009] According to a third aspect of the present invention, a computer-readable storage medium is provided, storing computer-executable instructions, wherein the computer instructions are used to execute the method according to the first aspect of the present invention.

[0010] The present invention has significant advantages and beneficial effects compared to existing technologies. Through the above technical solution, the present invention provides a dynamic flow control method based on vertical expansion networking, electronic equipment, and medium that can achieve considerable technological advancement and practicality, and has wide industrial application value, with at least the following beneficial effects:

[0011] The present invention increases the flow control credit value for the chip that needs to increase the flow control credit value by maintaining the chip's to-be-allocated flow control credit value without affecting other chips. The chip does not need to suspend work or stop the chip's traffic business, and can dynamically update the flow control credit value. This realizes dynamic flow control, greatly reduces the problem of flow fluctuations in multi-card networking, promotes the optimal configuration and efficient utilization of system resources, and improves the utilization rate of system resources and communication efficiency under flow fluctuations. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0013] Figure 1 A flow chart of a dynamic flow control method based on vertical expansion networking provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0014] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making any creative efforts shall fall within the scope of protection of the present invention.

[0015] An embodiment of the present invention provides a dynamic flow control method based on vertical expansion networking, including:

[0016] Step S1: For the mth chip A in the vertical expansion network m Set a set of flow control credit values {E1 m ,E2 m ,...,E i m ,...,E M m}, E i m A m Able to send the i-th chip A i The initial flow control credit value of the data packet sent, the value range of i is 1 to M, the value range of m is 1 to M, and M is the total number of chips in the vertical expansion network. , Q i A i The corresponding physical cache.

[0017] Among them, all chips in the vertical expansion network are connected to the same switch, and the chips communicate with each other through the switch. Specifically, a static register group with the same structure can be set for all chips in the vertical expansion network. Each static register group includes M registers, and each register is used to store a corresponding E i m The static register group can be set in the adaptation layer. Each chip is assigned a corresponding MAC (Media Access Control Address) to implement point-to-point flow control. The flow control credit value specifically refers to the number of data packets. The initial flow control credit value is the maximum value of the initially set flow control credit value. Indicates that the total physical cache space corresponding to the flow control credit value in the static register group of a chip is less than or equal to the physical cache space. When i and m are equal, E i m =0.

[0018] Step S2: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, judge A i Is there a flow control credit value D to be allocated? i , D i Based on reducing A i Corresponding to at least one second A m Corresponding E i m The obtained flow control credit value and / or A i The reserved flow control credit value set, if any, is based on D i Update First A m Corresponding E i m , first A m , Second A m and A i For different chips, the updated E i m satisfy .

[0019] Among them, when A i Corresponding traffic fluctuations, when there is a demand for increased traffic, A i The corresponding first A m There is a demand for increasing the flow control credit value, which needs to be explained. m , Second A m Refers to one of the A m , that is, one of the chips, but the first A m , Second A m For different A m , that is, different chips, the first Am , Second A m and A i It is also a different chip. It should be noted that A i With the first A m or A i With the second A m Specifically, the content of the increase or decrease of the corresponding flow control credit value can be obtained based on an interrupt or setting a corresponding pin.

[0020] Step S3, A m Based on the current m ,E2 m ,...,E i m ,...,E M m} and A i Communicate and return to step S2.

[0021] The embodiment of the present invention proposes a dynamic flow control mechanism based on the vertical expansion networking of multiple switch cards, which can solve point-to-point traffic fluctuations at the lowest cost without stopping the operation of the entire network. The present invention utilizes static registers and corresponding processes and is compatible with the scheduling algorithm on the system side. Compared with traditional solutions, it significantly reduces complexity and improves the utilization of system resources and communication efficiency under traffic fluctuations.

[0022] It should be noted that step S2 can be implemented based on different dynamic adjustment strategies, which will be further explained below through several specific embodiments.

[0023] Example 1

[0024] The step S2 comprises:

[0025] Step S21: When A i The corresponding first A m When there is a demand to increase the flow control credit value, it is determined whether there is at least one second A that can reduce the flow control credit value. m , Second A m For A i If a chip with a communication frequency lower than the preset communication frequency threshold exists, step S22 is executed; otherwise, step S23 is executed.

[0026] Among them, the chip whose communication frequency is less than the preset communication frequency threshold can be regarded as an uncommon chip, that is, the second A m For those who do not often i A that sends data packets m , Second A m The actual need A i The corresponding flow control credit value is greater than the currently allocated A iThe chip with the corresponding flow control credit value.

[0027] Step S22: Reduce at least one second A m Send to reduce the flow control credit value, based on the second A m The reduced flow control credit value increases the first A m The flow control credit value is determined, and step S3 is executed.

[0028] It should be noted that when A i The corresponding first A m When there is a demand for increasing the flow control credit value, the second A m The reduced flow control credit value is the first A m The flow control credit value that satisfies all flow control credit value increase requirements can be increased, or part of the flow control credit value that satisfies all flow control credit value increase requirements can be increased. It can be flexibly set according to specific application scenarios and requirements.

[0029] Step S23: To the first A m Send a flow control credit value increase rejection instruction and execute step S3.

[0030] As an embodiment, step S22 includes:

[0031] Step S221: The second A m Follow with A i The communication frequencies are sorted from small to large.

[0032] Among them, the chip whose communication frequency is less than the preset communication frequency threshold can be regarded as an uncommon chip, that is, the second A m For those who do not often i A that sends data packets m , Second A m The actual need A i The corresponding flow control credit value is greater than the currently allocated A i The chip with the corresponding flow control credit value.

[0033] Step S222: According to A i The communication frequency is determined in order from small to large to determine whether there is a flow control credit value that can reduce F m Target 2A m , F m First A m If the flow control credit value that needs to be increased currently exists, execute step S223; otherwise, execute step S23.

[0034] It should be noted that the strategy executed in step S222 is for the first A m Increase the flow control credit value that meets all the flow control credit value increase requirements. If it does not meet the requirements, reject the flow control credit value increase.

[0035] Step S223: Set the target second A m The maximum flow control credit value is reduced by F m , the first A m The maximum flow control credit value increases by F m , execute step S3.

[0036] As an embodiment, step S22 includes:

[0037] Step C221: Determine whether there is a target second A whose flow control credit value can be reduced. m , F m First A m If the flow control credit value that needs to be increased currently exists, execute step C222; otherwise, execute step S23.

[0038] Step C222: Reduce the second A of each target according to the preset ratio. m The flow control credit value of all targets is the second A m The total reduced flow control credit value is less than or equal to F m .

[0039] It should be noted that the preset ratio can be set to equal ratio or unequal ratio, depending on the specific application requirements. m The reduced flow control credit value is the first A m The flow control credit value that satisfies all the flow control credit value increase requirements may be increased, or part of the flow control credit value that satisfies all the flow control credit value increase requirements may be increased.

[0040] Example 2

[0041] The step S2 comprises:

[0042] Step C21, A i Actively send messages to each A in idle time or periodically m Send a flow control credit recovery request.

[0043] Step C22: If there is a second A that can reduce the flow control credit value m , then the second A m Corresponding E i m Reduce L i m , A i The corresponding flow control credit value to be allocated is updated D i =D i +L i m , D i The initial value of L is 0.i m For the second A m The current flow control credit value that can be reduced.

[0044] Step C23: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, determine whether D is met i ≥F m , F m First A m If the current flow control credit value that needs to be increased is satisfied, execute step C24; otherwise, return to step C21.

[0045] Step C24: Update the first A m Corresponding E i m =E i m +F m , update D i =D i -F m .

[0046] It should be noted that A i By actively sending messages to each A in idle time or periodically m Send a flow control credit recovery request to actively recover the flow control credit value. m When there is a need to increase the flow control credit value, the flow control credit value can be increased more quickly, further improving the timeliness of dynamic flow control.

[0047] Example 3:

[0048] The step S2 comprises:

[0049] Step D21: A i Set the reserved flow control credit value V i , is V i Set the initial value.

[0050] Step D22: When A i The corresponding first A m When there is a demand to increase the flow control credit value, if V i ≥F m , F m First A m The current flow control credit value that needs to be increased, then execute step D23, if it is not satisfied and 0 <V i <F m , then execute step D24, if V i =0, then execute step D25;

[0051] Step D23: Update the first Am Corresponding E i m =E i m +F m , update V i =V i -F m , execute step D25.

[0052] Among them, step D23 can be the first A m Increase the flow control credits that meet all flow control credit increase requirements.

[0053] Step D24: Update the first A m Corresponding E i m =E i m +V i , update V i =0, go to step D25.

[0054] Among them, through step D24, the first A m Partially increase the flow control credit value to meet the demand for increasing the flow control credit value.

[0055] Step D25: If the second A m Reduce the flow control credit value and V i +L i m Less than or equal to V i The initial value of V i =V i +L i m , if the second A m Reduce the flow control credit value and V i +L i m Greater than V i The initial value of V i Equal to V i The initial value of L i m For the second A m The current flow control credit value that can be reduced.

[0056] It should be noted that, through step D25, the reserved flow control credit value can be restored as soon as possible, providing a guarantee for the next flow control credit value increase demand and improving the efficiency of dynamic adjustment.

[0057] Example 4:

[0058] The step S2 comprises:

[0059] Step E21: When the second Am When the flow control credit value can be reduced, the second A m Reduce the flow control credit value and actively transfer the reduced flow control credit value L i m Send to A i .

[0060] Step E22, A i Update the corresponding flow control credit value to be allocated D i =D i +L i m , D i The initial value of is 0.

[0061] Step E23: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, determine whether D is met i ≥F m , F m First A m If the current flow control credit value needs to be increased, execute step D24; otherwise, return to step D21.

[0062] Step D24: Update the first A m Corresponding E i m =E i m +F m , update D i =D i -F m .

[0063] It should be noted that the second A m Reduce the flow control credit value and actively transfer the reduced flow control credit value L i m Send to A i , you can in the first A m When there is a need to increase the flow control credit value, the flow control credit value can be increased more quickly, further improving the timeliness of dynamic flow control.

[0064] It should be noted that the Tojo adjustment strategy in the above embodiment can be used alone, or multiple strategies can be selected and used in parallel, or multiple strategies can be selected and used in combination in a set selection order.

[0065] As an embodiment, step S3 includes:

[0066] Step S31, A m Get pending A i Data packet B sent mi .

[0067] Step S32: Determine the current E i m Is it greater than or equal to B? mi Required flow control credit value C mi If yes, then execute step S33, otherwise, wait for E i m Satisfy greater than or equal to B mi When the required flow control credit value is reached, step S33 is executed.

[0068] Step S33: B mi Send to A i , update E i m =E i m -C mi , when A m Receive A i Targeting B mi When replying to the message, update E i m =E i m +C mi .

[0069] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this invention pertains. The terms used herein in the specification of the present invention are for the purpose of describing specific embodiments only and are not intended to limit the present invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0070] It should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the steps as sequential processes, many of the steps can be performed in parallel, concurrently, or simultaneously. In addition, the order of the steps can be rearranged. A process can be terminated when its operation is completed, but can also have additional steps not included in the accompanying drawings. A process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0071] An embodiment of the present invention also provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executed by the at least one processor, and the instructions are configured to execute the method described in the embodiment of the present invention.

[0072] An embodiment of the present invention further provides a computer-readable storage medium storing computer-executable instructions, wherein the computer instructions are used to execute the method described in the embodiment of the present invention.

[0073] The embodiment of the present invention increases the flow control credit value for the chip that needs to increase the flow control credit value by maintaining the chip's to-be-allocated flow control credit value without affecting other chips. The chip does not need to suspend work or stop the chip's traffic business, and can dynamically update the flow control credit value. This implements dynamic flow control, greatly reduces the problem of flow fluctuations in multi-card networking, promotes the optimal configuration and efficient utilization of system resources, and improves the utilization rate of system resources and communication efficiency under flow fluctuations.

[0074] The above description is merely a preferred embodiment of the present invention and does not constitute any form of limitation to the present invention. Although the present invention has been disclosed as a preferred embodiment, it is not intended to limit the present invention. Any technician familiar with the present profession can make slight changes or modifications to equivalent embodiments using the technical contents disclosed above without departing from the scope of the technical solution of the present invention. However, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention are still within the scope of the technical solution of the present invention.

Claims

1. A dynamic flow control method based on vertical expansion networking, characterized in that: include: Step S1: For the mth chip A in the vertical expansion network m Set a set of flow control credit values {E1 m ,E2 m ,...,E i m ,...,E M m }, E i m A m Able to send the i-th chip A i The initial flow control credit value of the data packet sent, the value range of i is 1 to M, the value range of m is 1 to M, and M is the total number of chips in the vertical expansion network. , Q i A i The corresponding physical cache; Step S2: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, judge A i Is there a flow control credit value D to be allocated? i , D i Based on reducing A i Corresponding to at least one second A m Corresponding E i m The obtained flow control credit value and / or A i The reserved flow control credit value set, if any, is based on D i Update First A m Corresponding E i m , first A m , Second A m and A i For different chips, the updated E i m satisfy ; Step S3, A m Based on the current m ,E2 m ,...,E i m ,...,E M m } and A i Communicate and return to step S2.

2. The method according to claim 1, characterized in that The step S2 comprises: Step S21: When A i The corresponding first A m When there is a demand to increase the flow control credit value, it is determined whether there is at least one second A that can reduce the flow control credit value. m , Second A m For A i If a chip with a communication frequency lower than the preset communication frequency threshold exists, then step S22 is executed; otherwise, step S23 is executed; Step S22: Reduce at least one second A m Send to reduce the flow control credit value, based on the second A m The reduced flow control credit value increases the first A m The flow control credit value is , and step S3 is executed; Step S23: To the first A m Send a flow control credit value increase rejection instruction and execute step S3.

3. The method according to claim 2, characterized in that The step S22 includes: Step S221: The second A m Follow with A i The communication frequencies are sorted from small to large; Step S222: According to A i The communication frequency is determined in order from small to large to determine whether there is a flow control credit value that can reduce F m Target 2A m , F m First A m If the current flow control credit value to be increased exists, execute step S223; otherwise, execute step S23; Step S223: Set the target second A m The maximum flow control credit value is reduced by F m , the first A m The maximum flow control credit value increases by F m , execute step S3.

4. The method according to claim 2, characterized in that The step S22 includes: Step C221: Determine whether there is a target second A whose flow control credit value can be reduced. m , F m First A m If the current flow control credit value to be increased exists, execute step C222; otherwise, execute step S23; Step C222: Reduce the second A of each target according to the preset ratio. m The flow control credit value of all targets is the second A m The total reduced flow control credit value is less than or equal to F m .

5. The method according to claim 1, wherein The step S2 comprises: Step C21, A i Actively send messages to each A in idle time or periodically m Send a flow control credit recovery request; Step C22: If there is a second A that can reduce the flow control credit value m , then the second A m Corresponding E i m Reduce L i m , A i The corresponding flow control credit value to be allocated is updated D i =D i +L i m , D i The initial value of L is 0. i m For the second A m The current flow control credit value that can be reduced; Step C23: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, determine whether D is met i ≥F m , F m First A m If the current flow control credit value to be increased is satisfied, then execute step C24; otherwise, return to step C21; Step C24: Update the first A m Corresponding E i m =E i m +F m , update D i =D i -F m .

6. The method according to claim 1, characterized in that The step S2 comprises: Step D21: A i Set the reserved flow control credit value V i , is V i Set the initial value; Step D22: When A i The corresponding first A m When there is a demand to increase the flow control credit value, if V i ≥F m , F m First A m The current flow control credit value that needs to be increased, then execute step D23, if it is not satisfied and 0 <V i <F m , then execute step D24, if V i =0, then execute step D25; Step D23: Update the first A m Corresponding E i m =E i m +F m , update V i =V i -F m , execute step D25; Step D24: Update the first A m Corresponding E i m =E i m +V i , update V i =0, go to step D25; Step D25: If the second A m Reduce the flow control credit value and V i +L i m Less than or equal to V i The initial value of V i =V i +L i m , if the second A m Reduce the flow control credit value and V i +L i m Greater than V i The initial value of V i Equal to V i The initial value of L i m For the second A m The current flow control credit value that can be reduced.

7. The method according to claim 1, characterized in that The step S2 comprises: Step E21: When the second A m When the flow control credit value can be reduced, the second A m Reduce the flow control credit value and actively transfer the reduced flow control credit value L i m Send to A i ; Step E22, A i Update the corresponding flow control credit value to be allocated D i =D i +L i m , D i The initial value of is 0; Step E23: When A i The corresponding first A m When there is a demand for increasing the flow control credit value, determine whether D is met i ≥F m , F m First A m If the current flow control credit value needs to be increased, then execute step D24; otherwise, return to step D21; Step D24: Update the first A m Corresponding E i m =E i m +F m , update D i =D i -F m .

8. The method according to claim 1, characterized in that The step S3 comprises: Step S31, A m Get pending A i Data packet B sent mi ; Step S32: Determine the current E i m Is it greater than or equal to B? mi Required flow control credit value C mi If yes, then execute step S33, otherwise, wait for E i m Satisfy greater than or equal to B mi When the required flow control credit value is reached, step S33 is executed; Step S33: B mi Send to A i , update E i m =E i m -C mi , when A m Receive A i Targeting B mi When replying to the message, update E i m =E i m +C mi .

9. An electronic device, characterized in that: include: at least one processor; and, a memory communicatively coupled to the at least one processor; The memory stores instructions to be executed by the at least one processor, wherein the instructions are configured to execute the method according to any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that The computer-executable instructions are stored, and the computer-executable instructions are used to execute the method according to any one of the preceding claims 1 to 8.

Citation Information

Patent Citations

  • Credit value traffic scheduling system and method in time-sensitive network

    CN115865810A

  • Credit-based traffic shaping method and device, electronic equipment and storage medium

    CN118282960A