IP Library Granted Patent US 11,068,946
Granted Patent B2
US 11,068,946 · App. 16/352,131 · Granted Jul 20, 2021

NUMA-based client placement

Inventors: Aashish Parikh (Santa Clara, CA); Puneet Zaroo (Santa Clara, CA); Ganesha Shanmuganathan (Santa Clara, CA)
Assignee: VMware, Inc.
G06Q30/0283G06F1/26G06F1/3209G06F9/5094G06F11/3062G06Q50/06H04L67/1002H04L67/1097H04L67/42G06F9/505G06F9/5044G06F9/5077Y02D10/00
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,068,946
App. No.
16/352,131
Granted
Jul 20, 2021
Kind
B2
Abstract

A management server and method for performing resource management operations in a distributed computer system takes into account information regarding multi-processor memory architectures of host computers of the distributed computer system, including information regarding Non-Uniform Memory Access (NUMA) architectures of at least some of the host computers, to make a placement recommendation to place a client in one of the host computers.

Claims (37)

1. A method comprising:

transmitting a query for Non-Uniform Memory Access (NUMA) data to a plurality of host computers of a distributed computer system;

receiving, from a respective host computer, data regarding at least one virtual processor associated with a NUMA node operating in the respective host computer;

receiving a virtual processor requirement of a client to be placed in one of the plurality of host computers of the distributed computer system; and

determining a target host computer of the distributed computer system for placing the client based on the data regarding the at least one virtual processor in the respective host computer of the distributed computer system and the virtual processor requirement of the client to be placed.

2. The method of claim 1 , wherein the data regarding the at least one virtual processor associated with the NUMA node further includes at least one physical processor associated with the NUMA node operating in the respective host computer.

3. The method of claim 1 , wherein the at least one virtual processor represents an average quantity of virtual processors operating for the NUMA node for a predefined period of time.

4. The method of claim 1 , wherein transmitting the query for NUMA data to the plurality of host computers of the distribution computer system is performed in an instance in which a generation of the client in the distributed computer system has occurred.

5. The method of claim 1 , further comprising:

determining a NUMA score for the NUMA node associated with the respective host computer based on a virtual and physical processor ratio associated with the NUMA node.

6. The method of claim 5 , wherein the determining the NUMA score for the NUMA node associated with the respective host computer further comprises selecting a maximum value from the virtual and physical processor ratio for the respective host computer.

7. The method of claim 5 , wherein the determining the NUMA score for the NUMA node associated with the respective host computer further comprises determining a vector magnitude of a vector of the virtual and physical processor ratio for the respective host computer.

8. A non-transitory computer-readable storage medium comprising executable instructions which, when executed by a computing device, cause the computing device to at least:

transmit a query for Non-Uniform Memory Access (NUMA) data to a plurality of host computers of a distributed computer system;

receive, from a respective host computer, data regarding at least one virtual processor associated with a NUMA node operating in the respective host computer;

receive a virtual processor requirement of a client to be placed in one of the plurality of host computers of the distributed computer system; and

determine a target host computer of the distributed computer system for placing the client based on the data regarding the at least one virtual processor in the respective host computer of the distributed computer system and the virtual processor requirement of the client to be placed.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the data regarding the at least one virtual processor associated with the NUMA node further includes at least one physical processor associated with the NUMA node operating in the respective host computer.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one virtual processor represents an average quantity of virtual processors operating for the NUMA node for a predefined period of time.

11. The non-transitory computer-readable storage medium of claim 8 , wherein transmitting the query for NUMA data to the plurality of host computers of the distribution computer system is performed in an instance in which a generation of the client in the distributed computer system has occurred.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the executable instructions are further configured to cause the computing device to at least:

determine a NUMA score for the NUMA node associated with the respective host computer based on a virtual and physical processor ratio associated with the NUMA node.

13. The non-transitory computer-readable medium of claim 12 , wherein the determining the NUMA score for the NUMA node associated with the respective host computer further comprises selecting a maximum value from the virtual and physical processor ratio for the respective host computer.

14. The non-transitory computer-readable medium of claim 12 , wherein the determining the NUMA score for the NUMA node associated with the respective host computer further comprises determining a k-th percentile of the virtual and physical processor ratio for a particular host computer, where k is a number less than 100.

15. A system, comprising:

a computing device that comprises a processor and memory; and

program instructions executable in the computing device that, when executed by the computing device, cause the computing device to at least:

transmit a query for Non-Uniform Memory Access (NUMA) data to a plurality of host computers of a distributed computer system;

receive, from a respective host computer, data regarding at least one virtual processor associated with a NUMA node operating in the respective host computer;

receive a virtual processor requirement of a client to be placed in one of the plurality of host computers of the distributed computer system; and

determine a target host computer of the distributed computer system for placing the client based on the data regarding the at least one virtual processor in the respective host computer of the distributed computer system and the virtual processor requirement of the client to be placed.

16. The system of claim 15 , wherein the data regarding the at least one virtual processor associated with the NUMA node further includes at least one physical processor associated with the NUMA node operating in the respective host computer.

17. The system of claim 15 , wherein the at least one virtual processor represents an average quantity of virtual processors operating for the NUMA node for a predefined period of time.

18. The system of claim 15 , wherein transmitting the query for NUMA data to the plurality of host computers of the distribution computer system is performed in an instance in which a generation of the client in the distributed computer system has occurred.

19. The system of claim 15 , wherein the program instructions are further configured to cause the computing device to at least:

determine a NUMA score for the NUMA node associated with the respective host computer based on a virtual and physical processor ratio associated with the NUMA node.

20. The system of claim 19 , wherein the determining the NUMA score for the NUMA node associated with the respective host computer further comprises selecting a maximum value from the virtual and physical processor ratio for the respective host computer.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →