IP Library Patent Application 17990758
Patent Application
App. No. 17/990,758

MANAGING THE ASSIGNMENT OF VIRTUAL MACHINES TO NON-UNIFORM MEMORY ACCESS NODES

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 None
App. No.
17/990,758
Abstract

Described herein are systems, methods, and software to manage the assignment of virtual machines to non-uniform memory access (NUMA) nodes of a computing environment. In one implementation, a management service identifies one or more virtual machines in a computing environment with potential NUMA resource issues. The management service further selects a virtual machine from the one or more virtual machines and determines whether a NUMA node associated with the virtual machine satisfies criteria to migrate at least one virtual machine from the NUMA node. If the criteria are satisfied, the management service migrates at least one virtual machine from the NUMA node to a second NUMA node.

Claims (65)

1 . A method comprising:

identifying one or more virtual machines in a computing environment with a misconfiguration or overlapping non-uniform memory access (NUMA) node assignments;

selecting a virtual machine from the one or more virtual machines;

determining whether a NUMA node for the virtual machine satisfies one or more criteria; and

when the NUMA node satisfies the one or more criteria, selecting a virtual machine for migration from a set of one or more virtual machines associated with the NUMA node.

2 . The method of claim 1 , wherein selecting the virtual machine from the one or more virtual machines comprises:

ranking the one or more virtual machines based on a severity of resource limitations associated with each of the one or more virtual machines;

selecting the virtual machine with a highest rank.

3 . The method of claim 2 , wherein the resource limitations comprise processor resource limitations or memory resource limitations.

4 . The method of claim 1 , wherein the one or more criteria comprises a memory availability for the virtual machine on the NUMA node being less than a memory requirement for the virtual machine, or a processor availability for the virtual machine on the NUMA node being less than a processing requirement for the virtual machine.

5 . The method of claim 1 , wherein selecting the virtual machine for migration from the set of one or more virtual machines associated with the NUMA node comprises:

(a) identifying a first virtual machine in the set of one or more virtual machines associated with the NUMA node with a lowest memory requirement;

(b) determining whether the NUMA node satisfies one or more criteria if the first virtual machine were migrated from the NUMA node;

(c) when the NUMA node satisfies the one or more criteria if the first virtual machine were migrated from the NUMA node, selecting the first virtual machine for migration; and

(d) when the NUMA node does not satisfy the one or more criteria if the first virtual machine were migrated from the NUMA node, repeating steps (b), (c), and (d) with a second virtual machine in the set of one or more virtual machines associated with the NUMA node with a next lowest memory requirement.

6 . The method of claim 1 , further comprising initiating a migration of the selected virtual machine for migration to a second NUMA node on a host with the NUMA node.

7 . The method of claim 1 , further comprising initiating a migration of the selected virtual machine for migration to a second NUMA node on a host different from the NUMA node.

8 . The method of claim 1 further comprising:

identifying resource availability at one or more additional NUMA nodes;

selecting a second NUMA node from the one or more additional NUMA nodes based on the resource availability; and

initiating a migration of the selected virtual machine for migration to the second NUMA node.

9 . The method of claim 1 further comprising:

identifying resource availability at one or more additional NUMA nodes on a host with the NUMA node;

determining whether a NUMA node of the one or more additional NUMA nodes can support the selected virtual machine for migration;

when a NUMA node of the one or more additional NUMA nodes can support the selected virtual machine for migration, selecting the NUMA node of the one or more additional NUMA nodes for migration;

when a NUMA node of the one or more additional NUMA nodes cannot support the selected virtual machine for migration, determining whether a NUMA node on one or more additional hosts can support the selected virtual machine for migration;

when a NUMA node on the one or more additional hosts can support the selected virtual machine, selecting the NUMA node from the one or more additional hosts for migration; and

when a NUMA node on the one or more additional hosts cannot support the selected virtual machine, generating a notification that no migration is available for the selected virtual machine.

10 . A computing apparatus comprising:

a storage system;

a processing system is operatively coupled to the storage system; and

program instructions stored on the storage system that, when executed by the processing system, direct the computing apparatus to:

identify one or more virtual machines in a computing environment with a misconfiguration or overlapping non-uniform memory access (NUMA) node assignments;

select a virtual machine from the one or more virtual machines;

determine whether a NUMA node for the virtual machine satisfies one or more criteria; and

when the NUMA node satisfies the one or more criteria, select a virtual machine for migration from a set of one or more virtual machines associated with the NUMA node.

11 . The computing apparatus of claim 10 , wherein selecting a virtual machine from the one or more virtual machines comprises:

ranking the one or more virtual machines based on a severity of resource limitations associated with each of the one or more virtual machines;

selecting the virtual machine with a highest rank.

12 . The computing apparatus of claim 11 , wherein the resource limitations comprise processor resource limitations or memory resource limitations.

13 . The computing apparatus of claim 11 , wherein the one or more criteria comprises a memory availability for the virtual machine on the NUMA node being less than a memory requirement for the virtual machine, or a processor availability for the virtual machine on the NUMA node being less than a processing requirement for the virtual machine.

14 . The computing apparatus of claim 10 , wherein selecting the virtual machine for migration from the set of one or more virtual machines associated with the NUMA node comprises:

(a) identifying a first virtual machine in the set of one or more virtual machines associated with the NUMA node with a lowest memory requirement;

(b) determining whether the NUMA node satisfies one or more criteria if the first virtual machine were migrated from the NUMA node;

(c) when the NUMA node satisfies the one or more criteria if the first virtual machine were migrated from the NUMA node, selecting the first virtual machine for migration; and

(d) when the NUMA node does not satisfy the one or more criteria if the first virtual machine were migrated from the NUMA node, repeating steps (b), (c), and (d) with a second virtual machine in the set of one or more virtual machines associated with the NUMA node with a next lowest memory requirement.

15 . The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to initiate a migration of the selected virtual machine for migration to a second NUMA node on a host with the NUMA node.

16 . The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to initiate a migration of the selected virtual machine for migration to a second NUMA node on a host different from the NUMA node.

17 . The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to:

identify resource availability at one or more additional NUMA nodes;

select a second NUMA node from the one or more additional NUMA nodes based on the resource availability; and

initiate a migration of the selected virtual machine for migration to the second NUMA node.

18 . The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to:

identify resource availability at one or more additional NUMA nodes on a host with the NUMA node;

determine whether a NUMA node of the one or more additional NUMA nodes can support the selected virtual machine for migration;

when a NUMA node of the one or more additional NUMA nodes can support the selected virtual machine for migration, select the NUMA node of the one or more additional NUMA nodes for migration;

when a NUMA node of the one or more additional NUMA nodes cannot support the selected virtual machine for migration, determine whether a NUMA node on one or more additional hosts can support the selected virtual machine for migration;

when a NUMA node on the one or more additional hosts can support the selected virtual machine, select the NUMA node from the one or more additional hosts for migration; and

when a NUMA node on the one or more additional hosts cannot support the selected virtual machine, generate a notification that no migration is available.

19 . A method comprising:

identifying one or more virtual machines in a computing environment with a misconfiguration or overlapping non-uniform memory access (NUMA) node assignments;

for each virtual machine of the one or more virtual machines, identifying resource usage in association with a NUMA node for the virtual machine; and

identifying at least one virtual machine of the one or more virtual machines with resource usage that satisfies one or more criteria;

generating a display indicating the at least one virtual machine.

20 . The method of claim 19 , wherein the one or more criteria comprises a threshold amount of memory usage associated with the NUMA node, or a threshold processor resource usage associated with the 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 21, 2022
From: UPPALAPATI, VENU MAHESH; SINGH, RIMALPREET; PAINDLA, ANIL BHARGAV; JAGADEESHWARAN, ADARSH
To: VMWARE, INC.
Reel/Frame 061834/0886 →