IP Library Granted Patent US 11,716,378
Granted Patent B2
US 11,716,378 · App. 17/488,129 · Granted Aug 1, 2023

Optimized network device queue management for hybrid cloud networking workloads

Inventors: Yanir Quinn (Tel Aviv, IL); Marcel Apfelbaum (Raanana, IL)
Assignee: Red Hat, Inc.
H04L67/1001
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 11,716,378
App. No.
17/488,129
Granted
Aug 1, 2023
Kind
B2
Abstract

A network device queue manager receives a request to execute a workload on a node of a cloud computing environment, where the cloud computing environment comprises a plurality of nodes; determines that the workload is to be executed by a dedicated processor resource; identifies a set of one or more shared processor resources associated with the node, wherein each shared processor resource of the set of shared processor resources processes device interrupts; selects a processor resource from the set of one or more shared processor resources to execute the first workload on the first node; bans the selected processor resource from processing device interrupts while executing the workload; and executes the workload with the selected processor resource.

Claims (60)

1. A method comprising:

receiving, by a processing device, a request to execute a workload on a node of a cloud computing environment, wherein the node comprises a plurality of processor resources assigned to a pool of shared processor resources that process device interrupts;

selecting a processor resource from the pool of shared processor resources to execute the workload;

excluding the selected processor resource from the pool of shared processor resources to prevent device interrupts while executing the workload;

executing the workload with the selected processor resource;

responsive to determining that execution of the workload is completed, adding the selected processor resource to the pool of shared processor resources;

identifying a device associated with the node; and

configuring the device to send interrupts to the pool of shared processor resources.

2. The method of claim 1 , wherein excluding the selected processor resource from the pool of shared processor resources to prevent device interrupts further comprises:

converting the selected processor resource to a dedicated processor resource dedicated to execute the workload.

3. The method of claim 2 , wherein converting the selected processor resource to the dedicated processor resource further comprises:

generating an updated pool of shared processor resources;

identifying one or more devices associated with the node; and

configuring each of the one or more devices to send interrupts to the updated pool of shared processor resources.

4. The method of claim 1 , further comprising:

determining a number of shared processor resources in the pool of shared processor resources;

determining if the number of shared processor resources satisfies a low threshold number; and

responsive to determining that the number of shared processor resources satisfies a low threshold number, sending an indication to a scheduler component of the cloud computing environment to cause the scheduling component to reschedule the workload on another node of the cloud computing environment.

5. The method of claim 1 , wherein determining that the workload is to be executed by a processing resource dedicated to execute the workload without device interrupts further comprises:

determining that the request comprises an indication that the workload is to be executed by a dedicated processor resource.

6. The method of claim 1 , wherein determining that the workload is to be executed by a processing resource dedicated to execute the workload without device interrupts further comprises:

determining, in view of configuration attributes associated with the workload, that the workload performs one or more user-level networking operations.

7. A computing apparatus comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

receive a request to execute a workload on a node of a cloud computing environment, wherein the node comprises a plurality of processor resources assigned to a pool of shared processor resources that processes device interrupts;

identify the pool of shared processor resources;

exclude at least one processor resource of the pool of shared processor resources to prevent device interrupts while executing the workload;

execute the workload with the at least one processor resource;

responsive to determining that execution of the workload is completed, add the at least one processor resource to the pool of shared processor resources;

identify one or more devices associated with the node; and

configure each of the one or more devices to send interrupts to the pool of shared processor resources.

8. The computing apparatus of claim 7 , wherein to exclude at least one processor resource of the pool of shared processor resources to prevent device interrupts, the processing device is further to:

convert the at least one processor resource of the pool of shared processor resources to a dedicated processor resource dedicated to execute the workload.

9. The computing apparatus of claim 8 , wherein to convert the at least one shared processor resource to the dedicated processor resource, the processing device is further to:

generate an updated pool of shared processor resources;

identify one or more devices associated with the node; and

configure each of the one or more devices to send interrupts to the updated pool of shared processor resources.

10. The computing apparatus of claim 7 , wherein the processing device is further to:

determine a number of shared processor resources in the pool of shared processor resources;

determine if the number of shared processor resources satisfies a low threshold number; and

responsive to determining that the number of shared processor resources satisfies a low threshold number, send an indication to a scheduler component of the cloud computing environment to cause the scheduling component to reschedule the workload on another node of the cloud computing environment.

11. A non-transitory computer readable storage medium, having instructions stored therein, which when executed by a processing device of a computer system, cause the processing device to:

receive a request to execute a workload on a node of a cloud computing environment, wherein the node comprises a plurality of processor resources assigned to a pool of shared processor resources that processes device interrupts;

identify the pool of shared processor resources;

exclude at least one processor resource of the pool of shared processor resources to prevent device interrupts while executing the workload;

execute the workload with the at least one processor resource;

responsive to determining that execution of the workload is completed, add the at least one processor resource to the pool of shared processor resources;

identify one or more devices associated with the node; and

configure each of the one or more devices to send interrupts to the pool of shared processor resources.

12. The non-transitory computer readable storage medium of claim 11 , wherein to exclude at least one processor resource of the pool of shared processor resources to prevent device interrupts, the processing device is further to:

convert the at least one processor resource of the pool of shared processor resources to a dedicated processor resource dedicated to execute the workload.

13. The non-transitory computer readable storage medium of claim 12 , wherein to convert the at least one processor resource to the dedicated processor resource, the processing device is further to:

generate an updated pool of shared processor resources;

identify one or more devices associated with the node; and

configure each of the one or more devices to send interrupts to the updated pool of shared processor resources.

14. The non-transitory computer readable storage medium of claim 11 , wherein the processing device is further to:

determine a number of shared processor resources in the pool of shared processor resources;

determine if the number of shared processor resources satisfies a low threshold number; and

responsive to determining that the number of shared processor resources satisfies a low threshold number, send an indication to a scheduler component of the cloud computing environment to cause the scheduling component to reschedule the workload on another node of the cloud computing environment.

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 Oct 1, 2021
From: QUINN, YANIR; APFELBAUM, MARCEL
To: RED HAT, INC.
Reel/Frame 057667/0781 →