Dynamic load balancing for multi-core computing environments
US-2021075730-A1 · Mar 11, 2021 · US
US12547402B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12547402-B2 |
| Application number | US-202318504651-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 8, 2023 |
| Priority date | Jun 15, 2021 |
| Publication date | Feb 10, 2026 |
| Grant date | Feb 10, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An example method for distributing packet flow by an electronic device including a plurality of processor cores may include receiving a plurality of packet flows for validation; validating the plurality of packet flows by a processor core(s) of the plurality of processor cores based on a validation parameter(s); sequentially distributing the plurality of validated packet flows among the plurality of processor cores for processing based on a combination of a try-lock and a ticket-lock or a core parameter; and transmitting the plurality of distributed packet flows to an electronic entity by the processor core of the plurality of processor cores.
Opening claim text (preview).
What is claimed is: 1 . A method for distributing packet flow by an electronic device comprising a plurality of processor cores, the method comprising: receiving, by the electronic device, a plurality of packet flows for validation; validating, by the electronic device, the plurality of packet flows by at least one first processor core of the plurality of processor cores based on at least one validation parameter; sequentially distributing, by the electronic device, the plurality of validated packet flows among the plurality of processor cores for processing based on a combination of a try-lock and a ticket-lock; and transmitting, by the electronic device, the plurality of validated distributed packet flows to at least one electronic entity. 2 . The method of claim 1 , wherein the plurality of validated distributed packet flows is transmitted to the at least one electronic entity by the at least one first processor core. 3 . The method of claim 1 , wherein the try-lock comprises a spinlock that returns lock acquisition failure when the spinlock is not available for the at least one first processor core, rather than waiting continuously for the spinlock to become available. 4 . The method of claim 1 , wherein the ticket-lock comprises a spinlock that applies ordering to verify that lock acquisition takes place on a first-come, first-served basis. 5 . The method of claim 1 , wherein the try-lock and ticket-lock verify and maintain order for each packet flow of the plurality of packet flows, and each packet flow includes the try-lock and ticket-lock for at least one queue. 6 . The method of claim 1 , further comprising: determining, by the electronic device, whether the at least one first processor core receives a first request to process at least one first packet corresponding to at least one validated packet flow of the plurality of validated packet flows; determining, by the electronic device, whether the try-lock is available in response to determining that the at least one first processor core receives the first request to process the at least one first packet; and performing, by the electronic device, one of: processing the at least one first packet in response to determining that the try-lock is available; or detecting that at least one second processor core of the plurality of processor cores receives a second request to process at least one second packet corresponding to at least one validated packet flow of the plurality of validated packet flows and enqueueing the at least one second packet in a queue based on the ticket-lock in response to determining that the try-lock is not available and determining whether the try-lock is available in response to enqueueing the at least one second packet in the queue. 7 . The method of claim 6 , further comprising: obtaining, by the electronic device, the ticket-lock; determining, by the electronic device, whether the queue is empty; and performing, by the electronic device, one of: de-queuing the at least one first packet from the queue in response to determining that the queue is not empty, releasing the ticket-lock corresponding to queue, and processing the at least one first packet; or releasing the try-lock first and then releasing the ticket-lock in response to determining that the queue is empty. 8 . The method of claim 1 , further comprising: determining, by the electronic device, a number of active cores of the plurality of processor cores; determining, by the electronic device, whether a value of an average core utilization of the active cores exceeds at least one of a threshold value and a threshold range; and performing, by the electronic device, one of: increasing the number of active cores of the plurality of processor cores in response to determining that the value of an average core utilization of the active cores exceeds the at least one of the threshold value and the threshold range, or decreasing the number of active cores of the plurality of processor cores in response to determining that the value of an average core utilization of the active cores does not exceed the at least one of the threshold value and the threshold range. 9 . An electronic device for distributing packet flow, the electronic device comprising: memory; at least one processor comprising a plurality of processor cores; and a core controller, operably connected to the memory and the processor and comprising core controller circuitry, configured to: receive a plurality of packet flows for validation; validate the plurality of packet flows by at least one first processor core of the plurality of processor cores based on at least one validation parameter; sequentially distribute the plurality of validated packet flows among the plurality of processor cores for processing based on a combination of a try-lock and a ticket-lock; and transmit the plurality of validated distributed packet flows to at least one electronic entity. 10 . The electronic device of claim 9 , wherein the plurality of validated distributed packet flows is distributed to the at least one electronic entity by the at least one first processor core. 11 . The electronic device of claim 9 , wherein the try-lock comprises a spinlock that returns lock acquisition failure when the spinlock is not available for the at least one first processor core, rather than waiting continuously for the spinlock to become available. 12 . The electronic device of claim 9 , wherein the ticket-lock comprises a spinlock that applies ordering to verify that lock acquisition takes place on a first-come, first-served basis. 13 . The electronic device of claim 9 , wherein the try-lock and ticket-lock verify and maintain order for each packet flow of the plurality of packet flows, and each packet flow includes the try-lock and ticket-lock for at least one queue. 14 . The electronic device of claim 9 , wherein the core controller is configured to sequentially distribute the plurality of validated packet flows among the plurality of processor cores for processing based on the combination of the try-lock and the ticket-lock by: determining whether the at least one first processor core receives a first request to process at least one first packet corresponding to at least one validated packet flow of the plurality of validated packet flows; determining whether the try-lock is available in response to determining that the at least one first processor core receives the first request to process the at least one first packet; and perform one of: processing the at least one first packet in response to determining that the try-lock is available; or detecting that at least one second processor core of the plurality of processor cores receives a second request to process at least one second packet corresponding to at least one validated packet flow of the plurality of validated packet flows and enqueueing the at least one second packet in a queue based on the ticket-lock in response to determining that the try-lock is not available and determining whether the try-lock is available in response to enqueueing the at least one second packet in the queue. 15 . The electronic device of claim 14 , wherein the core controller is configured to process the at least one first packet by: obtaining the ticket-lock; determining whether the queue is empty; and performing one of: de-queuing the at least one first packet from the queue in response to determining that the queue is not empty, releasing the ticket-lock corresponding to queue, and processing the at least one first packet; or releasing th
considering the load · CPC title
Mutual exclusion algorithms · CPC title
Monitoring remote activity, e.g. over telephone lines or network connections · CPC title
Power saving in microcontroller unit · CPC title
by task scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.