Method and system for saving power consumption of network packet processing accelerator
By setting preset control parameters in the network packet processing accelerator, the processor is activated only when the trigger condition is reached, the problem of high power consumption at low loads in the prior art is solved, and intermittent sleep and significant reduction in power consumption of hardware are achieved.
Patent Information
- Application Number
- CN202411753860.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-02
- Publication Date
- 2025-04-25
AI Technical Summary
Existing network packet processing accelerators remain high in power consumption at low loads or without data, resulting in energy waste.
By setting preset control parameters, such as preset time windows and quantity thresholds, the data packet is only passed to the network packet processing accelerator when the trigger condition is reached, and its sleep mode is realized to reduce power consumption.
It effectively reduces the power consumption of the network packet processing accelerator under low load, realizes intermittent sleep of hardware, and optimizes the proportion of the accelerator's idle time and working time.
Smart Images

Figure CN119892633A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network data processing, and in particular to a method and system for saving power consumption of a network packet processing accelerator. Background Art
[0002] The existing network packet processing accelerator (NAU) is mainly used to process data flow. It usually receives upstream data packets through the queue management module (QM), and then the NAU input module (NAU IN) receives them and hands them over to the NAU processing unit for processing, and then sends them out through the output module (NAU OUT). The current conventional data flow processing method is to process them in sequence. Each queue passes the data packets to the NAU processing unit in order. Even when there is no data or the load is low, the NAU will remain in the Always On (AON) state. The hardware completely follows the frequency and flow rate of the input data in data processing.
[0003] Data flow has the problems of burstiness and unpredictability, that is, network data flow often behaves in a bursty manner, and it is difficult to accurately predict the bandwidth demand at the next moment, resulting in the NAU needing to always be in the AON state to cope with possible data flow input at any time.
[0004] In addition, the existing processing process also has the problem of high power consumption. Due to the continuous operation of NAU, it will maintain a power consumption state regardless of the load, thereby wasting energy, especially when it still maintains high power consumption under low load or no data. Summary of the invention
[0005] Based on the above problems, the present invention provides a method and system for saving power consumption of a network packet processing accelerator, which can solve the technical problems of high power consumption of the network packet processing accelerator in the prior art.
[0006] A method for saving power consumption of a network packet processing accelerator, comprising:
[0007] Step A1, when the preset control parameter does not reach the trigger condition, the queue management unit temporarily stores the incoming data packets, and the network packet processing accelerator enters the sleep mode;
[0008] Step A2, when the preset control parameter reaches the trigger condition, the queue management unit transmits the accumulated data packets to the network packet processing accelerator, and the network packet processing accelerator enters the working mode;
[0009] Step A3: In working mode, the network packet processing accelerator processes and outputs the data packet.
[0010] Further, the preset control parameter includes at least one of a preset time window and a quantity threshold;
[0011] When the preset control parameter is a preset time window, in step A2, the preset control parameter reaches the trigger condition means: the preset time window is exhausted;
[0012] When the preset control parameter is a quantity threshold, in step A2, the preset control parameter reaches a trigger condition means: the number of data packets accumulated by the queue management unit reaches the quantity threshold;
[0013] When the preset control parameters are a preset time window and a quantity threshold, in step A2, the preset control parameters reaching the trigger condition means that the preset time window is exhausted and the number of data packets accumulated by the queue management unit reaches the quantity threshold.
[0014] Furthermore, before step A1, the method further includes:
[0015] Step A0, dynamically adjusting the set value of the preset control parameter according to the data flow and / or the physical cache depth;
[0016] In step A1, when the preset control parameter after the set value adjustment does not reach the trigger condition, the queue management unit temporarily stores the incoming data packets, and the network packet processing accelerator enters the sleep mode;
[0017] Step A2: When the preset control parameter after the set value adjustment reaches the trigger condition, the queue management unit transmits the accumulated data packets to the network packet processing accelerator.
[0018] Further, the queue management unit includes a plurality of hardware queues, and the preset control parameters of each hardware queue are set individually;
[0019] For each hardware queue:
[0020] In step A1, when the preset control parameters set for the hardware queue do not reach the trigger condition, the hardware queue temporarily stores the incoming data packets;
[0021] In step A2, when the preset control parameters set for the hardware queue reach the trigger condition, the queue management unit transfers the accumulated data packets in the hardware queue to the network packet processing accelerator, and the network packet processing accelerator enters the working mode.
[0022] Further, the queue management unit includes a plurality of hardware queues, all of which share the same preset control parameters;
[0023] For each hardware queue:
[0024] In step A1, when the preset control parameter does not reach the trigger condition, the hardware queue temporarily stores the incoming data packets;
[0025] In step A2, when the preset control parameter reaches the trigger condition, the queue management unit transfers the data packets accumulated in the hardware queue to the network packet processing accelerator, and the network packet processing accelerator enters the working mode.
[0026] A system for saving power consumption of a network packet processing accelerator, used for executing the aforementioned method for saving power consumption of a network packet processing accelerator, comprising a queue management unit and a network packet processing accelerator connected, wherein the queue management unit comprises a queue management module and a condition control module;
[0027] The condition control module is used to: configure the set value of the preset control parameter and monitor whether the preset control parameter reaches the trigger condition;
[0028] The queue management module is connected to the condition control module, and is used to: temporarily store the incoming data packets when the preset control parameters do not reach the trigger condition, and pass the accumulated data packets to the network packet processing accelerator when the preset control parameters reach the trigger condition;
[0029] The network packet processing accelerator is used to: enter a sleep mode when no data packet is received before the preset control parameters reach the trigger condition, enter a working mode when a data packet is received after the preset control parameters reach the trigger condition, and process and output the data packet in the working mode.
[0030] Further, the preset control parameter includes at least one of a preset time window and a quantity threshold;
[0031] When the preset control parameter is a preset time window, the preset control parameter reaches a trigger condition when: the preset time window is exhausted;
[0032] When the preset control parameter is a quantity threshold, the preset control parameter reaches a trigger condition referring to: the number of data packets accumulated by the queue management module reaches the quantity threshold;
[0033] When the preset control parameters are a preset time window and a quantity threshold, the preset control parameter reaches a trigger condition when: the preset time window is exhausted and the number of data packets accumulated by the queue management module reaches the quantity threshold.
[0034] Furthermore, the conditional control module is also used to dynamically adjust the set value of the preset control parameter according to the data flow and / or the physical cache depth.
[0035] Further, the queue management module includes a number of hardware queues, and the condition control module includes control units corresponding one to one with the hardware queues;
[0036] The control unit separately configures preset control parameters for the corresponding hardware queue, and monitors whether the preset control parameters configured for the hardware queue meet the triggering conditions;
[0037] When the preset control parameters set for the hardware queue do not meet the triggering conditions, the hardware queue temporarily stores the incoming data packets;
[0038] When the preset control parameters set for the hardware queue reach a trigger condition, the queue management module transmits the accumulated data packets in the hardware queue to the network packet processing accelerator.
[0039] Further, the queue management module includes a number of hardware queues;
[0040] The condition control module configures a preset control parameter and monitors whether the preset control parameter reaches the trigger condition for each hardware queue;
[0041] When the preset control parameters do not reach the trigger condition, the hardware queue temporarily stores the incoming data packets;
[0042] When the preset control parameter reaches the trigger condition, the queue management module transfers the data packets accumulated in the hardware queue to the network packet processing accelerator.
[0043] The beneficial technical effect of the present invention is that by setting the trigger control parameters, the queue management module will only send the accumulated data packets to the network packet processing accelerator for processing when triggered, thus giving the network packet processing accelerator a certain sleep time, realizing intermittent sleep of the hardware, and reducing the power consumption of the NAU under low load. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 A flowchart of the steps of a method for saving power consumption of a network packet processing accelerator according to the present invention;
[0045] Figure 2 A simplified diagram of a solution for saving power consumption of a network packet processing accelerator according to the present invention;
[0046] Figure 3 A schematic diagram of a module of a system for saving power consumption of a network packet processing accelerator according to the present invention. DETAILED DESCRIPTION
[0047] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. 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 ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0048] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.
[0049] The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments, but they are not intended to limit the present invention.
[0050] See also Figure 1 The present invention provides a method for saving power consumption of a network packet processing accelerator, comprising:
[0051] Step A1, when the preset control parameter does not reach the trigger condition, the queue management unit temporarily stores the incoming data packets, and the network packet processing accelerator enters the sleep mode;
[0052] Step A2, when the preset control parameter reaches the trigger condition, the queue management unit transmits the accumulated data packets to the network packet processing accelerator, and the network packet processing accelerator enters the working mode;
[0053] Step A3: In working mode, the network packet processing accelerator processes and outputs the data packet.
[0054] By setting the trigger control parameters, the queue management module will send the accumulated data packets to the network packet processing accelerator for processing only when triggered. This gives the network packet processing accelerator a certain amount of sleep time, realizes intermittent sleep of the hardware, and reduces the power consumption of NAU under low load.
[0055] Further, the preset control parameter includes at least one of a preset time window and a quantity threshold;
[0056] When the preset control parameter is a preset time window, in step A2, the preset control parameter reaches the trigger condition means: the preset time window is exhausted;
[0057] When the preset control parameter is a quantity threshold, in step A2, the preset control parameter reaches a trigger condition means: the number of data packets accumulated by the queue management unit reaches the quantity threshold;
[0058] When the preset control parameters are a preset time window and a quantity threshold, in step A2, the preset control parameters reaching the trigger condition means that the preset time window is exhausted and the number of data packets accumulated by the queue management unit reaches the quantity threshold.
[0059] See also Figure 2 , a time window mechanism is introduced in the queue management unit. Using the time window logic (Time Slot), when there is data flowing in from the upstream, the data will not be passed to the network packet processing accelerator NAU immediately, but will wait for the preset time window to expire, and pass the data packets accumulated in the preset time window to the network packet processing accelerator NAU for processing at one time. Allow NAU to enter sleep mode (idle state) when there is no data, thereby saving power consumption. A quantity threshold (Threshold) is introduced in the queue management unit. Data transmission is triggered only when the number of data packets reaches the quantity threshold. This mechanism further reduces the power consumption problem of NAU frequently starting up due to processing small amounts of data.
[0060] By combining the two control mechanisms of preset time window and quantity threshold, effective flow control of data packets can be performed under different load conditions to ensure the demand for fast transmission of low-latency data packets, while ensuring the sleep time of the subsequent network packet processing accelerator as much as possible, reducing unnecessary power consumption as much as possible, and optimizing the ratio of idle time (sleep mode) and working time (working mode) of the network packet processing accelerator.
[0061] Furthermore, before step A1, the method further includes:
[0062] Step A0, dynamically adjusting the set value of the preset control parameter according to the data flow and / or the physical cache depth;
[0063] In step A1, when the preset control parameter after the set value adjustment does not reach the trigger condition, the queue management unit temporarily stores the incoming data packets, and the network packet processing accelerator enters the sleep mode;
[0064] Step A2: When the preset control parameter after the set value adjustment reaches the trigger condition, the queue management unit transmits the accumulated data packets to the network packet processing accelerator.
[0065] The length of the preset time window can be dynamically adjusted according to the data flow, ensuring processing efficiency while allowing the NAU to enter sleep mode when there is no data.
[0066] The packet quantity threshold is dynamically adjusted according to the data flow and physical buffer depth.
[0067] Specifically, the preset time window and quantity threshold can be dynamically configured through software or hardware, so that the system can be optimized according to different network conditions, thereby maximizing the optimization of power consumption performance.
[0068] Specifically, the physical cache depth is the size of the cache space for temporarily storing data packets. The queue management unit includes several hardware queues, and the physical cache depth may refer to the cache capacity configured by the hardware queue.
[0069] Specifically, in step A0:
[0070] When the data flow is greater than a first threshold, the preset time window is adjusted to the first time window size, and the quantity threshold is adjusted to the first quantity size;
[0071] When the data flow is greater than the second threshold but not greater than the first threshold, the preset time window is adjusted to the second time window size, and the quantity threshold is adjusted to the second quantity size;
[0072] When the data flow is not greater than the second threshold, adjusting the preset time window to a third time window size, and adjusting the quantity threshold to a third quantity size;
[0073] Among them, the first time window size is smaller than the second time window size, the second time window size is smaller than the third time window size, the first quantity size is larger than the second quantity size, and the second quantity size is larger than the third quantity size. That is, the greater the load, the shorter the preset time window, and the higher the quantity threshold. In this way, under high load, more data packets will accumulate in a short time. Setting the quantity threshold higher can provide a little sleep time for the network packet processing accelerator, and setting the preset time window shorter can ensure that the data can be processed quickly. Under low load conditions, setting the preset time window longer and setting the quantity threshold lower can ensure that the network packet processing accelerator has a slightly longer sleep time and can process data packets in time.
[0074] Preferably, the first threshold is 80% of the bandwidth, the first time window size is 1 ms, and the first number size is 100 data packets.
[0075] Preferably, the second threshold is 40% of the bandwidth, the first time window size is 5 ms, and the first number size is 50 data packets.
[0076] Preferably, the third time window size is 10 ms, and the first number size is 20 data packets.
[0077] In one application scenario, in the traditional NAU power consumption data, without the time window and waterline mechanism, the NAU is always in the always-on state (AON). Under full load, the power consumption of the NAU is about 500mW. Even under low load (the amount of traffic is less than 20% of the bandwidth), the power consumption remains at about 400mW, and the space saving is limited. The method of the present invention is introduced as follows after the preset time window and amount threshold:
[0078] If the load is high (data traffic > 80% bandwidth): the preset time window is set to a short time (such as 1ms), and the quantity threshold is set to a high value (such as 100 packets). At this time, NAU can still work efficiently, but the optimized power consumption drops to about 450mW, which is 10% less than the traditional solution.
[0079] If the load is medium (data traffic is between 40%-80% bandwidth): the preset time window is extended to 5ms, and the number threshold is set to 50 packets. In this case, NAU can enter intermittent sleep mode, and the average power consumption drops to 300mW, saving about 25% of power consumption compared to traditional solutions.
[0080] If it is a low load (data flow <40% bandwidth): the preset time window is set to 10ms, and the quantity threshold is set to 20 packets. Under low load conditions, NAU can sleep for a long time, and the power consumption drops to about 150mW, saving 62.5% of power consumption compared to traditional solutions. Furthermore, the queue management unit includes several hardware queues, and the preset control parameters of each hardware queue are set separately;
[0081] For each hardware queue:
[0082] In step A1, when the preset control parameters set for the hardware queue do not reach the trigger condition, the hardware queue temporarily stores the incoming data packets;
[0083] In step A2, when the preset control parameters set for the hardware queue reach the trigger condition, the queue management unit transfers the accumulated data packets in the hardware queue to the network packet processing accelerator, and the network packet processing accelerator enters the working mode.
[0084] The queue management module includes multiple hardware queues, and the queue management module determines the order of transmitting data packets of the hardware queues according to the actual situation. As an implementation method, each hardware queue defines a time window register and / or a quantity threshold register separately, so that the data packet transmission timing of each hardware queue can be controlled separately. The time window register defines the size of the preset time window, and the quantity threshold register defines the size of the quantity threshold.
[0085] Further, the queue management unit includes a plurality of hardware queues, all of which share the same preset control parameters;
[0086] For each hardware queue:
[0087] In step A1, when the preset control parameter does not reach the trigger condition, the hardware queue temporarily stores the incoming data packets;
[0088] In step A2, when the preset control parameter reaches the trigger condition, the queue management unit transfers the data packets accumulated in the hardware queue to the network packet processing accelerator, and the network packet processing accelerator enters the working mode.
[0089] As another embodiment of the present invention, a time window register and / or a quantity threshold register is set. For each hardware queue, this time window register and / or quantity threshold register is used to monitor whether a trigger condition is met. When the trigger condition is met, the hardware queue sends a data packet to the network packet processing accelerator.
[0090] See also Figure 3The present invention provides a system for saving power consumption of a network packet processing accelerator, which is used to execute the aforementioned method for saving power consumption of a network packet processing accelerator, comprising a queue management unit (1) and a network packet processing accelerator (2) connected, wherein the queue management unit (1) comprises a queue management module (11) and a condition control module (12);
[0091] The condition control module (12) is used to: configure the set value of the preset control parameter and monitor whether the preset control parameter reaches the trigger condition;
[0092] The queue management module (11) is connected to the condition control module (12), and is used to temporarily store incoming data packets when the preset control parameters do not meet the trigger conditions, and to transfer the accumulated data packets to the network packet processing accelerator when the preset control parameters meet the trigger conditions;
[0093] The network packet processing accelerator (2) is used to: enter a sleep mode when no data packet is received before a preset control parameter reaches a trigger condition, enter a working mode when a data packet is received after the preset control parameter reaches a trigger condition, and process and output the data packet in the working mode.
[0094] By setting the trigger control parameters, the queue management module will send the accumulated data packets to the network packet processing accelerator for processing only when triggered. This gives the network packet processing accelerator a certain amount of sleep time, realizes intermittent sleep of the hardware, and reduces the power consumption of NAU under low load.
[0095] Specifically, the network packet processing accelerator (2) comprises an input module (21), a data packet processing module (22) and an output module (23). The input module (21) receives data packets transmitted by the queue management unit (1), the data packet processing module (22) processes the data packets, and the output module (23) outputs the processed data packets. The network packet processing accelerator (2) also comprises a mode switching module (24), wherein the mode switching module (24) controls the network packet processing accelerator (2) to switch to a sleep mode when a preset control parameter does not reach a trigger condition, and controls the network packet processing accelerator (2) to switch to a working mode when a preset control parameter reaches a trigger condition.
[0096] Specifically, the condition control module (12) can be in the form of hardware or software.
[0097] Further, the preset control parameter includes at least one of a preset time window and a quantity threshold;
[0098] When the preset control parameter is a preset time window, the preset control parameter reaches a trigger condition when: the preset time window is exhausted;
[0099] When the preset control parameter is a quantity threshold, the preset control parameter reaches a trigger condition referring to: the number of data packets accumulated by the queue management module reaches the quantity threshold;
[0100] When the preset control parameters are a preset time window and a quantity threshold, the preset control parameter reaches a trigger condition when: the preset time window is exhausted and the number of data packets accumulated by the queue management module reaches the quantity threshold.
[0101] See also Figure 2 , a time window mechanism is introduced in the queue management unit. Using the time window logic (Time Slot), when there is data flowing in from the upstream, the data will not be passed to the network packet processing accelerator NAU immediately, but will wait for the preset time window to expire, and pass the data packets accumulated in the preset time window to the network packet processing accelerator NAU for processing at one time. Allow NAU to enter sleep mode (idle state) when there is no data, thereby saving power consumption. A quantity threshold (Threshold) is introduced in the queue management unit. Data transmission is triggered only when the number of data packets reaches the quantity threshold. This mechanism further reduces the power consumption problem of NAU frequently starting up due to processing small amounts of data.
[0102] By combining the two control mechanisms of preset time window and quantity threshold, effective flow control of data packets can be performed under different load conditions to ensure the demand for fast transmission of low-latency data packets, while ensuring the sleep time of the subsequent network packet processing accelerator as much as possible, reducing unnecessary power consumption as much as possible, and optimizing the ratio of idle time (sleep mode) and working time (working mode) of the network packet processing accelerator.
[0103] Furthermore, the condition control module (12) is also used to dynamically adjust the set value of the preset control parameter according to the data flow and / or the physical cache depth.
[0104] The length of the preset time window can be dynamically adjusted according to the data flow, ensuring processing efficiency while allowing the NAU to enter sleep mode when there is no data.
[0105] The packet quantity threshold is dynamically adjusted according to the data flow and physical buffer depth.
[0106] Specifically, the preset time window and quantity threshold can be dynamically configured through software or hardware, so that the system can be optimized according to different network conditions, thereby maximizing the optimization of power consumption performance.
[0107] Specifically, the physical cache depth is the size of the cache space for temporarily storing data packets. The queue management unit includes several hardware queues, and the physical cache depth may refer to the cache capacity configured by the hardware queue.
[0108] When the data flow is greater than a first threshold, the preset time window is adjusted to the first time window size, and the quantity threshold is adjusted to the first quantity size;
[0109] When the data flow is greater than the second threshold but not greater than the first threshold, the preset time window is adjusted to the second time window size, and the quantity threshold is adjusted to the second quantity size;
[0110] When the data flow is not greater than the second threshold, the preset time window is adjusted to a third time window size, and the quantity threshold is adjusted to a third quantity size.
[0111] Among them, the first time window size is smaller than the second time window size, the second time window size is smaller than the third time window size, the first quantity size is larger than the second quantity size, and the second quantity size is larger than the third quantity size. That is, the greater the load, the shorter the preset time window, and the higher the quantity threshold. In this way, under high load, more data packets will accumulate in a short time. Setting the quantity threshold higher can provide a little sleep time for the network packet processing accelerator, and setting the preset time window shorter can ensure that the data can be processed quickly. Under low load conditions, setting the preset time window longer and setting the quantity threshold lower can ensure that the network packet processing accelerator has a slightly longer sleep time and can process data packets in time.
[0112] Preferably, the first threshold is 80% of the bandwidth, the first time window size is 1 ms, and the first number size is 100 data packets.
[0113] Preferably, the second threshold is 40% of the bandwidth, the first time window size is 5 ms, and the first number size is 50 data packets.
[0114] Preferably, the third time window size is 10 ms, and the first number size is 20 data packets.
[0115] In one application scenario, in the traditional NAU power consumption data, without the time window and waterline mechanism, the NAU is always in the always-on state (AON). Under full load, the power consumption of the NAU is about 500mW. Even under low load (the amount of traffic is less than 20% of the bandwidth), the power consumption remains at about 400mW, and the space saving is limited. The method of the present invention is introduced as follows after the preset time window and amount threshold:
[0116] If the load is high (data traffic > 80% bandwidth): the preset time window is set to a short time (such as 1ms), and the quantity threshold is set to a high value (such as 100 packets). At this time, NAU can still work efficiently, but the optimized power consumption drops to about 450mW, which is 10% less than the traditional solution.
[0117] If the load is medium (data traffic is between 40%-80% bandwidth): the preset time window is extended to 5ms, and the number threshold is set to 50 packets. In this case, NAU can enter intermittent sleep mode, and the average power consumption drops to 300mW, saving about 25% of power consumption compared to traditional solutions.
[0118] If the load is low (data flow < 40% bandwidth): the preset time window is set to 10ms, and the number threshold is set to 20 packets. Under low load conditions, NAU can sleep for a long time, and the power consumption drops to about 150mW, saving 62.5% of the power consumption compared to traditional solutions.
[0119] Furthermore, the queue management module (11) includes a plurality of hardware queues, and the condition control module (12) includes control units corresponding one to one with the hardware queues;
[0120] The control unit separately configures preset control parameters for the corresponding hardware queue, and monitors whether the preset control parameters configured for the hardware queue meet the triggering conditions;
[0121] When the preset control parameters set for the hardware queue do not meet the triggering conditions, the hardware queue temporarily stores the incoming data packets;
[0122] When the preset control parameters set for the hardware queue reach a trigger condition, the queue management module transmits the accumulated data packets in the hardware queue to the network packet processing accelerator.
[0123] The queue management module includes multiple hardware queues, and the queue management module determines the order of transmitting data packets of the hardware queues according to the actual situation. As an implementation method, each hardware queue defines a time window register and / or a quantity threshold register separately, so that the data packet transmission timing of each hardware queue can be controlled separately. The time window register defines the size of the preset time window, and the quantity threshold register defines the size of the quantity threshold.
[0124] Furthermore, the queue management module (11) includes a number of hardware queues;
[0125] The condition control module (12) configures a preset control parameter and monitors whether the preset control parameter reaches a trigger condition for each hardware queue;
[0126] When the preset control parameters do not reach the trigger condition, the hardware queue temporarily stores the incoming data packets;
[0127] When the preset control parameter reaches the trigger condition, the queue management module transfers the data packets accumulated in the hardware queue to the network packet processing accelerator.
[0128] As another embodiment of the present invention, a time window register and / or a quantity threshold register is set. For each hardware queue, this time window register and / or quantity threshold register is used to monitor whether a trigger condition is met. When the trigger condition is met, the hardware queue sends a data packet to the network packet processing accelerator.
[0129] The above are only preferred embodiments of the present invention, and are not intended to limit the implementation methods and protection scope of the present invention. Those skilled in the art should be aware that all solutions obtained by equivalent substitutions and obvious changes made using the description and illustrations of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for saving power consumption of a network packet processing accelerator, characterized in that: include: Step A1, when the preset control parameter does not reach the trigger condition, the queue management unit temporarily stores the incoming data packets, and the network packet processing accelerator enters the sleep mode; Step A2, when the preset control parameter reaches a trigger condition, the queue management unit transmits the accumulated data packets to the network packet processing accelerator, and the network packet processing accelerator enters a working mode; Step A3: In working mode, the network packet processing accelerator processes the data packet and outputs it.
2. A method for saving power consumption of a network packet processing accelerator according to claim 1, characterized in that: The preset control parameter includes at least one of a preset time window and a quantity threshold; When the preset control parameter is the preset time window, in the step A2, the preset control parameter reaching the trigger condition means: the preset time window is exhausted; When the preset control parameter is the quantity threshold, in the step A2, the preset control parameter reaching the trigger condition means that: the number of data packets accumulated by the queue management unit reaches the quantity threshold; When the preset control parameter is the preset time window and the quantity threshold, in step A2, the preset control parameter reaches the trigger condition when: the preset time window is exhausted and the number of data packets accumulated by the queue management unit reaches the quantity threshold.
3. A method for saving power consumption of a network packet processing accelerator according to claim 1, characterized in that: Before step A1, the method further includes: Step A0, dynamically adjusting the set value of the preset control parameter according to data flow and / or physical cache depth; In the step A1, when the preset control parameter after the set value adjustment does not reach the trigger condition, the queue management unit temporarily stores the incoming data packets, and the network packet processing accelerator enters the sleep mode; Step A2: When the preset control parameter after the set value adjustment reaches the trigger condition, the queue management unit transmits the accumulated data packets to the network packet processing accelerator.
4. A method for saving power consumption of a network packet processing accelerator according to claim 1, characterized in that: The queue management unit includes a plurality of hardware queues, and the preset control parameters of each of the hardware queues are set individually; For each hardware queue: In the step A1, when the preset control parameter set for the hardware queue does not reach the trigger condition, the hardware queue temporarily stores the incoming data packets; In the step A2, when the preset control parameter set for the hardware queue reaches a trigger condition, the queue management unit transfers the accumulated data packets in the hardware queue to the network packet processing accelerator, and the network packet processing accelerator enters a working mode.
5. The method for saving power consumption of a network packet processing accelerator according to claim 1, characterized in that: The queue management unit includes a plurality of hardware queues, and all the hardware queues share the same preset control parameter; For each of the hardware queues: In the step A1, when the preset control parameter does not reach the trigger condition, the hardware queue temporarily stores the incoming data packets; In the step A2, when the preset control parameter reaches a trigger condition, the queue management unit transfers the data packets accumulated in the hardware queue to the network packet processing accelerator, and the network packet processing accelerator enters a working mode.
6. A system for saving power consumption of a network packet processing accelerator, characterized in that: A method for saving power consumption of a network packet processing accelerator according to any one of claims 1 to 5, comprising a queue management unit and a network packet processing accelerator connected, wherein the queue management unit comprises a queue management module and a condition control module; The condition control module is used to: configure the set value of the preset control parameter and monitor whether the preset control parameter reaches the trigger condition; The queue management module is connected to the condition control module and is used to: temporarily store the incoming data packets when the preset control parameter does not reach the trigger condition, and transfer the accumulated data packets to the network packet processing accelerator when the preset control parameter reaches the trigger condition; The network packet processing accelerator is used to: enter a sleep mode when no data packet is received before the preset control parameter reaches a trigger condition, enter a working mode when a data packet is received when the preset control parameter reaches a trigger condition, and process and output the data packet in the working mode.
7. A system for saving power consumption of a network packet processing accelerator as claimed in claim 6, characterized in that: The preset control parameter includes at least one of a preset time window and a quantity threshold; When the preset control parameter is the preset time window, the preset control parameter reaches a trigger condition referring to: the preset time window is exhausted; When the preset control parameter is the quantity threshold, the preset control parameter reaches the trigger condition means: the number of data packets accumulated by the queue management module reaches the quantity threshold; When the preset control parameter is the preset time window and the quantity threshold, the preset control parameter reaching the trigger condition means that: the preset time window is exhausted and the number of data packets accumulated by the queue management module reaches the quantity threshold.
8. A system for saving power consumption of a network packet processing accelerator as claimed in claim 6, characterized in that: The condition control module is also used to dynamically adjust the set value of the preset control parameter according to data flow and / or physical cache depth.
9. A system for saving power consumption of a network packet processing accelerator as claimed in claim 6, characterized in that: The queue management module includes a plurality of hardware queues, and the condition control module includes control units corresponding to the hardware queues one by one; The control unit separately configures the preset control parameters for the corresponding hardware queue, and monitors whether the preset control parameters configured for the hardware queue meet the triggering condition; When the preset control parameter set for the hardware queue does not reach the trigger condition, the hardware queue temporarily stores the incoming data packets; When the preset control parameter set for the hardware queue reaches a trigger condition, the queue management module transfers the data packets accumulated in the hardware queue to the network packet processing accelerator.
10. The system for saving power consumption of a network packet processing accelerator according to claim 6, characterized in that: The queue management module includes several hardware queues; The condition control module configures a preset control parameter, and monitors whether the preset control parameter reaches a trigger condition for each hardware queue; When the preset control parameter does not reach the trigger condition, the hardware queue temporarily stores the incoming data packets; When the preset control parameter reaches a trigger condition, the queue management module transmits the data packets accumulated in the hardware queue to the network packet processing accelerator.