IP Library Granted Patent US 11,347,561
Granted Patent B1
US 11,347,561 · App. 16/016,360 · Granted May 31, 2022

Core to resource mapping and resource to core mapping

Inventors: Raju Kumar (San Jose, CA); Sreeram Iyer (Cupertino, CA)
Assignee: VMWARE, INC.
G06F9/5077G06F9/505G06F9/5044G06F9/5083H04L67/1008G06F2209/503
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,347,561
App. No.
16/016,360
Granted
May 31, 2022
Kind
B1
Abstract

Core to resource and resource to core mapping is disclosed. In an embodiment, a method includes obtaining an input pattern including a plurality of resource identifiers corresponding to resources. The method further includes applying the input pattern to a guaranteed regular and uniform distribution process to obtain a distribution pattern that indicates a distribution of resources across cores or a distribution of the cores across the resources. The method further includes distributing the resources across the cores or distributing the cores across the resources according to the distribution pattern.

Claims (30)

1. A method for generating a uniform assignment list assigning a plurality of resources to a plurality of processing cores of a multi-core processor of a device, the plurality of resources comprising at least one of servers and virtual services for processing resource requests, the method comprising:

obtaining an input pattern including a plurality of resource identifiers corresponding to the plurality of resources;

applying a stretch factor to the input pattern by repeating each resource identifier to obtain a second pattern comprising sets of contiguous resource identifiers each at least as long as the stretch factor;

applying a repeat factor to the second pattern by repeating the second pattern to obtain a third pattern, wherein the repeat factor is a parameter that affects a number of processing cores that a resource of the plurality of resources maps to;

partitioning the third pattern according to a number of processing cores in the plurality of processing cores to obtain a fourth pattern;

compressing the fourth pattern to generate the uniform assignment list that assigns different sets of resources in the plurality of resources to different processing cores in the plurality of processing cores; and

configuring each particular processing core of the multi-core processor of the device to select, for each resource request received by the particular processing core, a resource from the set of resources assigned to the particular processing core by the uniform assignment list and to forward the resource request to the selected resource, wherein each particular processing core forwards resource requests, which are directed to the plurality of resources and which the particular processing core receives, to the set of resources that are assigned to the particular processing core based on the uniform assignment list.

2. The method of claim 1 , wherein at least one of (1) a resource in the plurality of resources and (2) a processing core in the plurality of processing cores was previously the subject of an assignment based on a previously generated assignment pattern.

3. The method of claim 1 , wherein the stretch factor is equal to the number of processing cores in the plurality of processing cores divided by the greatest common divisor of: the number of processing cores in the plurality of processing cores and a number of resources in the plurality of resources.

4. The method of claim 1 , wherein the repeat factor is user configurable.

5. The method of claim 1 , wherein the plurality of resources includes at least one placeholder resource and the uniform assignment list includes the at least one placeholder resource.

6. The method of claim 1 , wherein different input patterns result in different uniform assignment lists.

7. The method of claim 1 , wherein the uniform assignment list is uniform with respect to the weights associated with the plurality of resources.

8. The method of claim 1 , wherein, after selecting the resource for processing the request, the particular processing core updates a counter associated with the resource selected.

9. The method of claim 8 , wherein the assignment of the sets of resources reduces the number of processing cores in the plurality of processing cores that update counters associated with each particular resource in the plurality of resources.

10. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program for generating a uniform assignment list assigning a plurality of resources to a plurality of processing cores of a multi-core processor of a device, the plurality of resources comprising at least one of servers and virtual services for processing resource requests, the program comprising sets of instructions for:

obtaining an input pattern including a plurality of resource identifiers corresponding to the plurality of resources;

applying a stretch factor to the input pattern by repeating each resource identifier to obtain a second pattern comprising sets of contiguous resource identifiers each at least as long as the stretch factor;

applying a repeat factor to the second pattern by repeating the second pattern to obtain a third pattern, wherein the repeat factor is a parameter that affects a number of processing cores that a resource of the plurality of resources maps to;

partitioning the third pattern according to a number of processing cores in the plurality of processing cores to obtain a fourth pattern;

compressing the fourth pattern to generate the uniform assignment list that assigns different sets of resources in the plurality of resources to different processing cores in the plurality of processing cores; and

configuring each particular processing core of the multi-core processor of the device to select, for each resource request received by the particular processing core, a resource from the set of resources assigned to the particular processing core by the uniform assignment list and to forward the resource request to the selected resource, wherein each particular processing core forwards resource requests, which are directed to the plurality of resources and which the particular processing core receives, to the set of resources that are assigned to the particular processing core based on the uniform assignment list.

11. The non-transitory machine readable medium of claim 10 , wherein at least one of (1) a resource in the plurality of resources and (2) a processing core in the plurality of processing cores was previously the subject of an assignment based on a previously generated assignment pattern.

12. The non-transitory machine readable medium of claim 10 , wherein the stretch factor is equal to the number of processing cores in the plurality of processing cores divided by the greatest common divisor of: the number of processing cores in the plurality of processing cores and a number of resources in the plurality of resources.

13. The non-transitory machine readable medium of claim 10 , wherein the repeat factor is user configurable.

14. The non-transitory machine readable medium of claim 10 , wherein the plurality of resources includes at least one placeholder resource and the uniform assignment list includes the at least one placeholder resource.

15. The non-transitory machine readable medium of claim 10 , wherein different input patterns result in different uniform assignment lists.

16. The non-transitory machine readable medium of claim 15 , wherein the uniform assignment list is uniform with respect to the weights associated with the plurality of resources.

17. The non-transitory machine readable medium of claim 10 , wherein, after selecting the resource for processing the request, the particular processing core updates a counter associated with the resource selected.

18. The non-transitory machine readable medium of claim 17 , wherein the assignment of the sets of resources reduces the number of processing cores in the plurality of processing cores that update counters associated with each resource in the plurality of resources.

Assignments (4)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
CHANGE OF NAME Recorded Mar 21, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066852/0272 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 24, 2019
From: AVI NETWORKS, INC.
To: VMWARE, INC.
Reel/Frame 050826/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2018
From: KUMAR, RAJU; IYER, SREERAM
To: AVI NETWORKS
Reel/Frame 046731/0231 →