Technologies for power-aware scheduling for network packet processing

US11630693B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11630693-B2
Application numberUS-201815951650-A
CountryUS
Kind codeB2
Filing dateApr 12, 2018
Priority dateApr 12, 2018
Publication dateApr 18, 2023
Grant dateApr 18, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technologies for power-aware scheduling include a computing device that receives network packets. The computing device classifies the network packets by priority level and then assigns each network packet to a performance group bin. The packets are assigned based on priority level and other performance criteria. The computing device schedules the network packets assigned to each performance group for processing by a processing engine such as a processor core. Network packets assigned to performance groups having a high priority level are scheduled for processing by processing engines with a high performance level. The computing device may select performance levels for processing engines based on processing workload of the network packets. The computing device may control the performance level of the processing engines, for example by controlling the frequency of processor cores. The processing workload may include packet encryption. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computing device for network packet processing, the computing device comprising: circuitry to receive a plurality of network packets; circuitry to determine a priority level for at least one network packet of the plurality of network packets, wherein the priority level comprises a first priority level or a second priority level; circuitry to assign the at least one network packet of the plurality of network packets to a performance group of a plurality of performance groups based on one or more performance criteria of the at least one network packet, wherein the one or more performance criteria include the priority level of the network packet and a packet length range; circuitry to determine a frequency of operation of at least one processing engine, selected from a plurality of processing engines, and to adjust the frequency of operation of the at least one processing engine based on the priority level of the at least one network packet and packet length range associated with the assigned performance group; and circuitry to schedule the at least one network packet assigned to the performance group for processing by the at least one processing engine with adjusted frequency of operation. 2. The computing device of claim 1 , wherein the one or more performance criteria further include a cryptographic operation. 3. The computing device of claim 1 , wherein the computing device comprises a processor, and wherein the at least one processing engine comprises a processor core of the processor. 4. The computing device of claim 3 , wherein the processor core comprise heterogeneous processor cores, and wherein the processing engine with a first performance level comprises a processor core. 5. The computing device of claim 1 , wherein the plurality of processing engines comprises one or more hardware accelerators. 6. The computing device of claim 1 , wherein the circuitry to schedule is further to: determine a processing workload for at least one performance group of the plurality of performance groups in response to assigning at least one network packet to a performance group; and determine at least one performance scaling level for at least one processing engine of the plurality of processing engines based on the processing workload for at least one performance group; wherein to schedule the network packets comprises to schedule the network packets in response to a determination of the at least one performance scaling level and wherein the performance scaling level is associated with a frequency of operation and/or supplied power level. 7. The computing device of claim 6 , wherein to determine the processing workload comprises to determine the processing workload based on an applied encryption algorithm and a packet length range. 8. The computing device of claim 6 , wherein to determine the at least one performance scaling level for at least one processing engine comprises to determine a frequency of operation of at least one processing engine. 9. The computing device of claim 6 , wherein to determine the at least one performance scaling level for at least one processing engine comprises to dynamically determine the at least one performance scaling level for at least one processing engine based on the processing workload of a processing group associated with a corresponding processing engine. 10. The computing device of claim 6 , further comprising a power manager to apply the at least one performance scaling level to at least one processing engine of the plurality of processing engines in response to a determination of the at least one performance scaling level; wherein to schedule the network packets comprises to schedule the network packets in response to application of the at least one performance scaling level. 11. The computing device of claim 1 , wherein the plurality of processing engines are to perform a processing workload for at least one of the plurality of network packets by the plurality of processing engines in response to scheduling of the network packets. 12. The computing device of claim 11 , wherein to perform the processing workload comprises to perform an encryption operation for at least one of the plurality of network packets. 13. The computing device of claim 11 , wherein to perform the processing workload comprises to perform a compression operation for at least one of the plurality of network packets. 14. The computing device of claim 11 , further comprising a transmitter to transmit the plurality of network packets in response to performance of the processing workload. 15. A method for network packet processing, the method comprising: receiving, by a computing device, a plurality of network packets; determining, by the computing device, a priority level for at least one network packet of the plurality of network packets, wherein the priority level comprises a first priority level or a second priority level; assigning, by the computing device, the at least one network packet of the plurality of network packets to a performance group of a plurality of performance groups based on one or more performance criteria of the at least one network packet, wherein the one or more performance criteria include the priority level of the network packet and a packet length range; determining, by the computing device, a frequency of operation of at least one processing engine, selected from a plurality of processing engines, and to adjust the frequency of operation of the at least one processing engine based on the priority level of the at least one network packet and packet length range associated with the assigned performance group; and scheduling, by the computing device, the at least one network packet assigned to the performance group for processing by the at least one processing engine with adjusted frequency of operation. 16. The method of claim 15 , wherein the one or more performance criteria further include a cryptographic operation. 17. The method of claim 15 , wherein at least one processing engine comprises a processor core of a processor of the computing device. 18. The method of claim 15 , further comprising: determining, by the computing device, a processing workload for at least one performance group of the plurality of performance groups in response to assigning at least one network packet to a performance group; and determining, by the computing device, at least one performance scaling level for at least one processing engine of the plurality of processing engines based on the processing workload for at least one performance group; wherein scheduling the network packets comprises scheduling the network packets in response to determining the at least one performance scaling level. 19. The method of claim 18 , wherein determining the at least one performance scaling level for at least one processing engine comprises determining a frequency of operation of at least one processing engine. 20. One or more non-transitory computer-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a computing device to: receive a plurality of network packets; determine a priority level for at least one network packet of the plurality of network packets, wherein the priority level comprises a first priority level or a second priority level; assign the at least one network packet of the plurality of network packets to a performance group of a plurality of performance groups based on one or more performance

Assignees

Inventors

Classifications

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up · CPC title

  • G06F9/4893Primary

    taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title

  • considering hardware capabilities · CPC title

  • Providing cryptographic facilities or services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11630693B2 cover?
Technologies for power-aware scheduling include a computing device that receives network packets. The computing device classifies the network packets by priority level and then assigns each network packet to a performance group bin. The packets are assigned based on priority level and other performance criteria. The computing device schedules the network packets assigned to each performance gro…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/4893. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).