IP Library Granted Patent US 10,241,674
Granted Patent B2
US 10,241,674 · App. 15/191,601 · Granted Mar 26, 2019

Workload aware NUMA scheduling

Inventors: Kiran Eshwarappa (Bangalore, IN); Vinaya Hanumantharaya (Bangalore, IN); Selventhiran Elangovan (Bangalore, IN); Gangam Kushalappa (Bangalore, IN)
Assignee: VMware, Inc.
G06F3/0604G06F3/0647G06F3/0664G06F3/0673G06F9/45558G06F2009/45583
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 10,241,674
App. No.
15/191,601
Granted
Mar 26, 2019
Kind
B2
Abstract

Disclosed herein are techniques for performing workflow-aware NUMA (non-uniform memory access) optimizations. “Execution contexts” such as virtual machines or Docker containers are managed within a computer system that includes multiple NUMA nodes, each including a processor socket and memory local to that socket. NUMA optimization techniques are performed whereby execution contexts and/or data for such contexts are migrated between NUMA nodes. Migration may occur for various reasons, including for load balancing, to achieve fairness, or to increase the amount of data that is stored in memory local to a particular execution context. When it is known that an execution context will soon stop executing in a particular computer system, optimizations may provide little or no benefit. In such situations, the computer system performs modified NUMA optimizations, in which certain optimizations that would normally be performed are instead not performed.

Claims (76)

1. A method for managing execution contexts in a non-uniform memory access (NUMA) architecture, the method comprising:

identifying a first execution context for optimization analysis;

determining that no workflow aware-related trigger condition of a set of workflow aware-related trigger conditions has occurred for the first execution context;

performing a NUMA optimization operation for the first execution context;

identifying a second execution context for optimization analysis;

determining that a workflow aware-related trigger condition of the set of workflow aware-related trigger conditions has occurred for the second execution context; and

responsive to determining that the workflow aware-related trigger condition has occurred, performing a modified NUMA optimization operation for the second execution context,

wherein the NUMA optimization operation includes at least one operation not included in the modified NUMA optimization operation, and further wherein:

(1) the NUMA optimization operation includes (a) migrating the first execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, or (b) migrating first data associated with the first execution context from the first NUMA node to the second NUMA node; or

(2) the modified NUMA optimization operation includes migrating the second execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, but does not include migrating first data associated with the second execution context from the first NUMA node to the second NUMA node.

2. The method of claim 1 , wherein the set of workflow aware-related trigger conditions includes:

migrating an execution context between hosts,

stopping an execution context,

restarting an execution context, and

suspending an execution context.

3. The method of claim 1 , wherein the execution context comprises:

one of a virtual machine and a container.

4. The method of claim 1 , wherein the NUMA optimization operation includes:

migrating the first execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, or

migrating first data associated with the first execution context from the first NUMA node to the second NUMA node.

5. The method of claim 1 , wherein:

the modified NUMA optimization operation includes migrating the second execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, but does not include migrating first data associated with the second execution context from the first NUMA node to the second NUMA node.

6. The method of claim 1 , wherein:

the NUMA optimization operation includes performing at least one optimization-related calculation associated with CPU load and at least one optimization-related calculation associated with memory locality.

7. The method of claim 6 , wherein the optimization-related calculation includes:

one of a CPU load balancing calculation, a fairness calculation, a calculation related to determine how much data is stored in non-local memory, and a calculation related to determining whether memory migration is to be performed.

8. The method of claim 1 , wherein the modified NUMA optimization operation includes performing no calculations associated with CPU load or memory locality.

9. The method of claim 1 , wherein the modified NUMA optimization operation includes performing no NUMA optimization operations for the second execution context.

10. A system for managing execution contexts in a non-uniform memory access (NUMA) architecture, the system comprising:

a host;

a first NUMA node included in the host; and

a second NUMA node included in the host,

wherein the host is configured to:

identify a first execution context for optimization analysis;

determine that no workflow aware-related trigger condition of a set of workflow aware-related trigger conditions has occurred for the first execution context;

perform a NUMA optimization operation for the first execution context;

identify a second execution context for optimization analysis;

determine that a workflow aware-related trigger condition of the set of workflow aware-related trigger conditions has occurred for the second execution context; and

responsive to determining that the workflow aware-related trigger condition has occurred, perform a modified NUMA optimization operation for the second execution context,

wherein the NUMA optimization operation includes at least one operation not included in the modified NUMA optimization operation, and

wherein both the NUMA optimization operation and the modified NUMA optimization operation comprise operations associated with execution of execution contexts on the first NUMA node or the second NUMA node, and further wherein:

(1) the NUMA optimization operation includes (a) migrating the first execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, or (b) migrating first data associated with the first execution context from the first NUMA node to the second NUMA node; or

(2) the modified NUMA optimization operation includes migrating the second execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, but does not include migrating first data associated with the second execution context from the first NUMA node to the second NUMA node.

11. The system of claim 10 , wherein the set of workflow aware-related trigger conditions includes:

migrating an execution context between hosts,

stopping an execution context,

restarting an execution context, and

suspending an execution context.

12. The system of claim 10 , wherein the execution context comprises:

one of a virtual machine and a container.

13. The system of claim 10 , wherein the NUMA optimization operation includes:

migrating the first execution context from the first NUMA node to the second NUMA node, or

migrating first data associated with the first execution context from the first NUMA node to the second NUMA node.

14. The system of claim 10 , wherein:

the modified NUMA optimization operation includes migrating the second execution context from the first NUMA node to the second NUMA node, but does not include migrating first data associated with the second execution context from the first NUMA node to the second NUMA node.

15. The system of claim 10 , wherein:

the NUMA optimization operation includes performing at least one optimization-related calculation associated with CPU load and at least one optimization-related calculation associated with memory locality.

16. The system of claim 15 , wherein the optimization-related calculation includes:

one of a CPU load balancing calculation, a fairness calculation, a calculation related to determine how much data is stored in non-local memory, and a calculation related to determining whether memory migration is to be performed.

17. The system of claim 10 , wherein the modified NUMA optimization operation includes performing no calculations associated with CPU load or memory locality.

18. The system of claim 10 , wherein the modified NUMA optimization operation includes performing no NUMA optimization operations for the second execution context.

19. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method for managing execution contexts in a non-uniform memory access (NUMA) architecture, the method comprising:

identifying a first execution context for optimization analysis;

determining that no workflow aware-related trigger condition of a set of workflow aware-related trigger conditions has occurred for the first execution context;

performing a NUMA optimization operation for the first execution context;

identifying a second execution context for optimization analysis;

determining that a workflow aware-related trigger condition of the set of workflow aware-related trigger conditions has occurred for the second execution context; and

responsive to determining that the workflow aware-related trigger condition has occurred, performing a modified NUMA optimization operation for the second execution context,

wherein the NUMA optimization operation includes at least one operation not included in the modified NUMA optimization operation, and further wherein:

(1) the NUMA optimization operation includes (a) migrating the first execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, or (b) migrating first data associated with the first execution context from the first NUMA node to the second NUMA node; or

(2) the modified NUMA optimization operation includes migrating the second execution context from a first NUMA node of the NUMA architecture to a second NUMA node of the NUMA architecture, but does not include migrating first data associated with the second execution context from the first NUMA node to the second NUMA node.

20. The non-transitory computer-readable medium of claim 19 , wherein the set of workflow aware-related trigger conditions includes:

migrating an execution context between hosts,

stopping an execution context,

restarting an execution context, and

suspending an execution context.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2016
From: ESHWARAPPA, KIRAN; HANUMANTHARAYA, VINAYA; ELANGOVAN, SELVENTHIRAN; KUSHALAPPA, GANGAM
To: VMWARE, INC.
Reel/Frame 039154/0561 →
Priority Claims (1)
IN 6625/CHE/2015 · Dec 11, 2015 · national
Continuity (1)
Related Publication 20170168715A1 · Jun 15, 2017
Cited By (2)
US 12,314,750 US 12,314,761