IP Library Granted Patent US 12,164,955
Granted Patent B2
US 12,164,955 · App. 17/195,187 · Granted Dec 10, 2024

Computing task scheduling in a computer system utilizing efficient attributed priority queues

Inventors: Nathaniel McCallum (Raleigh, NC); Monis Khan (Raleigh, NC); Benjamin Petersen (Raleigh, NC); Jonathan Toppins (Raleigh, NC)
Assignee: Red Hat, Inc.
G06F9/4881G06F9/30018G06F9/546G06F2209/486
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,164,955
App. No.
17/195,187
Granted
Dec 10, 2024
Kind
B2
Abstract

Aspects of the disclosure provide for mechanisms for scheduling computing tasks in a computer system. A method of the disclosure includes determining one or more attributes associated with a computing task, determining an ordered list of the attributes in view of priorities associated with the attributes, generating a first numerical representation of the attributes in view of the ordered list of the attributes, determining a second numerical representation of a priority of the computing task, and determining a third numerical representation of a total priority of the computing task in view of the first numerical representation and the second numerical representation.

Claims (33)

1. A method comprising:

determining a plurality of processing unit features for execution of a first computing task of a plurality of computing tasks within a priority queue;

determining an ordered list of the plurality of processing unit features in view of feature priorities associated with the plurality of processing unit features;

generating a first numerical representation of the plurality of processing unit features in view of the ordered list of the plurality of processing unit features;

determining a second numerical representation of a processing priority of the first computing task relative to one or more second computing tasks of the plurality of computing tasks within the priority queue;

determining a third numerical representation of a total priority of the first computing task in view of the first numerical representation and the second numerical representation;

generating an attribute mask indicative of processing unit features provided by a processing unit of a computer system;

based on a comparison between the attribute mask and the third numerical representation, selecting the first computing task from the plurality of computing tasks; and

distributing the first computing task to the processing unit of the computer system.

2. The method of claim 1 , wherein generating the first numerical representation of the plurality of processing unit features comprises:

assigning a first value to a first processing unit feature of the plurality of processing unit features associated with a first priority;

assigning a second value to a second processing unit feature of the plurality of processing unit features associated with a second priority; and

generating the first numerical representation of the attributes in view of the first value and the second value.

3. The method of claim 2 , wherein a first bit position of the first numerical representation corresponds to the first priority, and wherein a second bit position of the first numerical representation corresponds to the second priority.

4. The method of claim 3 , wherein the first bit position is higher than the second bit position, and wherein the first priority is higher than the second priority.

5. The method of claim 1 , wherein the attribute mask comprises a numerical representation of the processing unit features provided by the processing unit.

6. The method of claim 1 , wherein the third numerical representation corresponds to a combination of the first numerical representation and the second numerical representation.

7. The method of claim 1 , wherein the first numerical representation comprises a first plurality of bits, wherein the second numerical representation comprises a second plurality of bits.

8. The method of claim 7 , wherein the first plurality of bits corresponds to lower-order bits of the third numerical representation.

9. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to:

determining a plurality of processing unit features for execution of a first computing task of a plurality of computing tasks within a priority queue;

determining an ordered list of the plurality of processing unit features in view of feature priorities associated with the plurality of processing unit features;

generating a first numerical representation of the plurality of processing unit features in view of the ordered list of the plurality of processing unit features;

determining a second numerical representation of a processing priority of the first computing task relative to one or more second computing tasks of the plurality of computing tasks within the priority queue;

determining a third numerical representation of a total priority of the first computing task in view of the first numerical representation and the second numerical representation;

generating an attribute mask indicative of processing unit features provided by a processing unit of a computer system;

based on a comparison between the attribute mask and the third numerical representation, selecting the first computing task from the plurality of computing tasks; and

distributing the first computing task to the processing unit of the computer system.

10. The non-transitory machine-readable storage medium of claim 9 , wherein generating the first numerical representation of the plurality of processing unit features comprises:

assigning a first value to a first processing unit feature of the plurality of processing unit features associated with a first priority;

assigning a second value to a second processing unit feature of the plurality of processing unit features associated with a second priority; and

generating the first numerical representation of the attributes in view of the first value and the second value.

11. The non-transitory machine-readable storage medium of claim 9 , wherein a first bit position of the first numerical representation corresponds to the first priority, and wherein a second bit position of the first numerical representation corresponds to the second priority.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2021
From: MCCALLUM, NATHANIEL; KHAN, MONIS; PETERSEN, BENJAMIN; TOPPINS, JONATHAN
To: RED HAT, INC.
Reel/Frame 056149/0613 →
Continuity (2)
Continuation 16116303 · Aug 29, 2018
Related Publication 20210191768A1 · Jun 24, 2021