The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Sep. 23, 2025

Filed:

May. 31, 2023
Applicant:

Hewlett Packard Enterprise Development Lp, Spring, TX (US);

Inventors:

Matthew Gates, Houston, TX (US);

Joel E. Lilienkamp, Fort Collins, CO (US);

Alex Veprinsky, San Jose, CA (US);

Susan Agten, Boise, ID (US);

Assignee:
Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/50 (2006.01); G06F 9/48 (2006.01); G06F 9/54 (2006.01); G06F 12/0811 (2016.01); G06F 12/0817 (2016.01);
U.S. Cl.
CPC ...
G06F 9/5027 (2013.01); G06F 9/4881 (2013.01); G06F 9/544 (2013.01); G06F 12/0811 (2013.01); G06F 12/0817 (2013.01); G06F 2212/1024 (2013.01); G06F 2212/2542 (2013.01);
Abstract

Systems and methods are provided for lock-free thread scheduling. Threads may be placed in a ring buffer shared by all computer processing units (CPUs), e.g., in a node. A thread assigned to a CPU may be placed in the CPU's local run queue. However, when a CPU's local run queue is cleared, that CPU checks the shared ring buffer to determine if any threads are waiting to run on that CPU, and if so, the CPU pulls a batch of threads related to that ready-to-run thread to execute. If not, an idle CPU randomly selects another CPU to steak threads from, and the idle CPU attempts to dequeue a thread batch associated with the CPU from the shared ring buffer. Polling may be handled through the use of a shared poller array to dynamically distribute polling across multiple CPUs.


Find Patent Forward Citations

Loading…