IP Library Granted Patent US 11,928,502
Granted Patent B2
US 11,928,502 · App. 17/244,242 · Granted Mar 12, 2024

Optimized networking thread assignment

Inventors: Rishi Mehta (San Jose, CA); Boon S. Ang (Saratoga, CA); Petr Vandrovec (Cupertino, CA); Xunjia Lu (Los Altos, CA)
Assignee: VMware LLC
G06F9/4881G06F9/45558G06F9/4812G06F9/547H04L67/60G06F2009/45583G06F2009/45595
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,928,502
App. No.
17/244,242
Granted
Mar 12, 2024
Kind
B2
Abstract

Some embodiments provide a method for scheduling networking threads associated with a data compute node (DCN) executing at a host computer. When a virtual networking device is instantiated for the DCN, the method assigns the virtual networking device to a particular non-uniform memory access (NUMA) node of multiple NUMA nodes associated with the DCN. Based on the assignment of the virtual networking device to the particular NUMA node, the method assigns networking threads associated with the DCN to the same particular NUMA node and provides information to the DCN regarding the particular NUMA node in order for the DCN to assign a thread associated with an application executing on the DCN to the same particular NUMA node.

Claims (46)

1. A method for scheduling networking threads associated with a data compute node (DCN) executing at a host computer, the method comprising:

when a virtual networking device is instantiated for the DCN, assigning the virtual networking device to a particular non-uniform memory access (NUMA) node of a plurality of NUMA nodes associated with the DCN;

based on the assignment of the virtual networking device to the particular NUMA node:

assigning networking threads associated with the DCN to the same particular NUMA node; and

providing information to the DCN regarding the particular NUMA node in order for the DCN to assign a thread associated with an application executing on the DCN to the same particular NUMA node.

2. The method of claim 1 , wherein the method is performed by a scheduler executing in virtualization software of the host computer.

3. The method of claim 2 , wherein:

the scheduler is not responsible for assigning threads associated with the application to NUMA nodes; and

the DCN schedules threads associated with the application executing on the DCN.

4. The method of claim 2 , wherein the scheduler provides information to the DCN regarding the assignment of the virtual networking device to the particular NUMA node because if the thread associated with the application is assigned to a different NUMA node then data is transferred across NUMA nodes.

5. The method of claim 1 , wherein assigning networking threads associated with the DCN comprises (i) assigning a set of transmit threads of a physical networking device of the host computer and (ii) assigning a set of receive threads of the physical networking device.

6. The method of claim 5 , wherein the physical networking device is shared between a plurality of virtual networking devices that are assigned to at least two different NUMA nodes, including the particular NUMA node.

7. The method of claim 6 , wherein assigning networking threads associated with the DCN to the particular NUMA node comprises:

determining that a particular thread of the physical networking device is used for communication with the virtual networking device; and

based on the determination, assigning the particular thread to the particular NUMA node.

8. The method of claim 1 , wherein assigning networking threads associated with the DCN comprises (i) assigning a set of transmit threads of the virtual networking device to the particular NUMA node and (ii) assigning a set of receive threads of the virtual networking device to the particular NUMA node.

9. The method of claim 1 , wherein:

the DCN is a virtual machine (VM);

the virtual networking device is a virtual network interface card (VNIC) of the VM; and

the VNIC is associated with a physical network interface card (PNIC) of the host computer.

10. The method of claim 1 , wherein the DCN further uses the information regarding the particular NUMA node to assign an interrupt request (IRQ) handler thread to the particular NUMA node.

11. A non-transitory machine-readable medium storing a program which when executed by at least one processing unit schedules networking threads associated with a data compute node (DCN) executing at a host computer, the program comprising sets of instructions for:

when a virtual networking device is instantiated for the DCN, assigning the virtual networking device to a particular non-uniform memory access (NUMA) node of a plurality of NUMA nodes associated with the DCN;

based on the assignment of the virtual networking device to the particular NUMA node:

assigning networking threads associated with the DCN to the same particular NUMA node; and

providing information to the DCN regarding the particular NUMA node in order for the DCN to assign a thread associated with an application executing on the DCN to the same particular NUMA node.

12. The non-transitory machine-readable medium of claim 11 , wherein the program is a scheduler executing in virtualization software of the host computer.

13. The method of claim 12 , wherein:

the scheduler is not responsible for assigning threads associated with the application to NUMA nodes; and

the DCN schedules threads associated with the application executing on the DCN.

14. The non-transitory machine-readable medium of claim 12 , wherein the scheduler provides information to the DCN regarding the assignment of the virtual networking device to the particular NUMA node because if the thread associated with the application is assigned to a different NUMA node then data is transferred across NUMA nodes.

15. The non-transitory machine-readable medium of claim 11 , wherein the set of instructions for assigning networking threads associated with the DCN comprises sets of instructions for:

assigning a set of transmit threads of a physical networking device of the host computer; and

assigning a set of receive threads of the physical networking device.

16. The non-transitory machine-readable medium of claim 15 , wherein the physical networking device is shared between a plurality of virtual networking devices that are assigned to at least two different NUMA nodes, including the particular NUMA node.

17. The non-transitory machine-readable medium of claim 16 , wherein the set of instructions for assigning networking threads associated with the DCN to the particular NUMA node comprises sets of instructions for:

determining that a particular thread of the physical networking device is used for communication with the virtual networking device; and

based on the determination, assigning the particular thread to the particular NUMA node.

18. The non-transitory machine-readable medium of claim 11 , wherein the set of instructions for assigning networking threads associated with the DCN comprises sets of instructions for:

assigning a set of transmit threads of the virtual networking device to the particular NUMA node; and

assigning a set of receive threads of the virtual networking device to the particular NUMA node.

19. The non-transitory machine-readable medium of claim 11 , wherein:

the DCN is a virtual machine (VM);

the virtual networking device is a virtual network interface card (VNIC) of the VM; and

the VNIC is associated with a physical network interface card (PNIC) of the host computer.

20. The non-transitory machine-readable medium of claim 11 , wherein the DCN further uses the information regarding the particular NUMA node to assign an interrupt request (IRQ) handler thread to the particular NUMA node.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2021
From: MEHTA, RISHI; ANG, BOON S.; VANDROVEC, PETR; LU, XUNJIA
To: VMWARE, INC.
Reel/Frame 058200/0606 →
Continuity (1)
Related Publication 20220350647A1 · Nov 3, 2022