IP Library Granted Patent US 11,106,500
Granted Patent B2
US 11,106,500 · App. 16/397,820 · Granted Aug 31, 2021

Managing memories of computing resources based on data access speeds

Inventors: Junping Zhao (Beijing, CN); Kun Wang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F9/5016G06F9/5083
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,106,500
App. No.
16/397,820
Granted
Aug 31, 2021
Kind
B2
Abstract

A method, apparatus and computer program product for managing memories of computing resources is disclosed. In the method, a computing task processed by a first computing resource in a group of computing resources is determined. In response to a second memory of a second computing resource other than the first computing resource in the group of computing resources being allocated to the computing task, a second access speed with which the first computing resource accesses the second memory is determined. A target computing resource is selected from the group of computing resources based on an access speed with which the first computing resource accesses a target memory of the target computing resource, where the access speed is higher than the second access speed. At least one part of data in the second memory is migrated to the target memory.

Claims (75)

1. A method for managing memories of computing resources, the method comprising:

selecting a computing resource in a group of computing resources as a first computing resource in response to detecting that a size of a storage space in a released portion of a first memory of the first computing resource exceeds a specified threshold, the first computing resource accessing the first memory at a first access speed;

determining a computing task processed by the first computing resource;

in response to a second memory of a second computing resource other than the first computing resource in the group of computing resources being allocated to the computing task, determining a second access speed with which the first computing resource accesses the second memory;

selecting a target computing resource from the group of computing resources based on a target access speed with which the first computing resource accesses a target memory of the target computing resource, wherein the target access speed is greater than the second access speed; and

migrating at least one part of data in the second memory to the target memory.

2. The method of claim 1 , further comprising:

obtaining usage loads of memories of various computing resources in the group of computing resources; and

selecting the first computing resource from the group of computing resources based on the usage loads.

3. The method of claim 2 , further comprising:

after having migrated at least one part of data in the second memory to the target memory, updating the usage loads of memories of various computing resources in the group of computing resources.

4. The method of claim 1 , further comprising:

determining at least one memory allocated to the computing task among memories of the group of computing resources;

selecting the second memory from the at least one memory based on at least one of:

a size of a storage space allocated to the computing task in the at least one memory;

a proportion of the size to a total amount of storage spaces allocated to the computing task;

a usage load of the at least one memory; and

access frequency with which the at least one memory is accessed by the computing task.

5. The method of claim 1 , wherein selecting the target computing resource comprises: selecting the first computing resource as the target computing resource.

6. The method of claim 1 , wherein selecting the target computing resource comprises:

determining connection types between the first computing resource and various computing resources in the group of computing resources; and

selecting the target computing resource based on the connection types.

7. The method of claim 1 , wherein selecting the target computing resource comprises:

determining at least one memory allocated to the computing task in the group of computing resources; and

selecting the target computing resource from a computing resource where a memory of the at least one memory resides.

8. The method of claim 1 , wherein migrating at least one part of data in the second memory to the target memory comprises:

determining a storage space allocated to the computing task in the second memory;

determining an available space in the target memory; and

migrating data in the storage space to the available space in the target memory in response to a size of the storage space not being greater than a size of the available space.

9. The method of claim 8 , wherein migrating at least one part of data in the second memory to the target memory further comprises:

migrating at least one part of data in the storage space to the available space in the target memory in response to the size of the storage space being greater than the size of the available space.

10. An apparatus for managing memories of computing resources, comprising:

at least one processor;

a volatile memory; and

a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the apparatus to perform steps comprising:

selecting a computing resource in a group of computing resources as a first computing resource in response to detecting that a size of a storage space in a released portion of a first memory of the first computing resource exceeds a specified threshold, the first computing resource accessing the first memory at a first access speed;

determining a computing task processed by the first computing resource;

in response to a second memory of a second computing resource other than the first computing resource in the group of computing resources being allocated to the computing task, determining a second access speed with which the first computing resource accesses the second memory;

selecting a target computing resource from the group of computing resources based on a target access speed with which the first computing resource accesses a target memory of the target computing resource, wherein the target access speed is greater than the second access speed; and

migrating at least one part of data in the second memory to the target memory.

11. The apparatus of claim 10 , wherein the steps further comprise:

obtaining usage loads of memories of various computing resources in the group of computing resources; and

selecting the first computing resource from the group of computing resources based on the usage loads.

12. The apparatus of claim 11 , wherein the steps further comprise:

after having migrated at least one part of data in the second memory to the target memory, updating the usage loads of memories of various computing resources in the group of computing resources.

13. The apparatus of claim 10 , wherein the steps further comprise:

determining at least one memory allocated to the computing task among memories of the group of computing resources;

selecting the second memory from the at least one memory based on at least one of:

a size of a storage space allocated to the computing task in the at least one memory;

a proportion of the size to a total amount of storage spaces allocated to the computing task;

a usage load of the at least one memory; and

access frequency with which the at least one memory is accessed by the computing task.

14. The apparatus of claim 10 , wherein selecting the target computing resource comprises: selecting the first computing resource as the target computing resource.

15. The apparatus of claim 10 , wherein selecting the target computing resource comprises:

determining connection types between the first computing resource and various computing resources in the group of computing resources; and

selecting the target computing resource based on the connection types.

16. The apparatus of claim 10 , wherein selecting the target computing resource comprises:

determining at least one memory allocated to the computing task in the group of computing resources; and

selecting the target computing resource from a computing resource where a memory of the at least one memory resides.

17. The apparatus of claim 10 , wherein migrating at least one part of data in the second memory to the target memory comprises:

determining a storage space allocated to the computing task in the second memory;

determining an available space in the target memory; and

performing one of:

migrating data in the storage space to the available space in the target memory in response to a size of the storage space not being greater than a size of the available space; or

migrating at least one part of data in the storage space to the available space in the target memory in response to the size of the storage space being greater than the size of the available space.

18. A computer program product, tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions which, when executed, causes a machine to implement the steps of:

selecting a computing resource in a group of computing resources as a first computing resource in response to detecting that a size of a storage space in a released portion of a first memory of the first computing resource exceeds a specified threshold, the first computing resource accessing the first memory at a first access speed;

determining a computing task processed by the first computing resource;

in response to a second memory of a second computing resource other than the first computing resource in the group of computing resources being allocated to the computing task, determining a second access speed with which the first computing resource accesses the second memory;

selecting a target computing resource from the group of computing resources based on a target access speed with which the first computing resource accesses a target memory of the target computing resource, wherein the target access speed is greater than the second access speed; and

migrating at least one part of data in the second memory to the target memory.

19. The computer program product of claim 18 , wherein the steps further comprise:

obtaining usage loads of memories of various computing resources in the group of computing resources; and

selecting the first computing resource from the group of computing resources based on the usage loads.

20. The computer program product of claim 18 , wherein selecting the target computing resource comprises: selecting the first computing resource as the target computing resource.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2019
From: ZHAO, JUNPING; WANG, KUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050984/0739 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
Priority Claims (1)
CN 201910053006.8 · Jan 21, 2019 · national
Continuity (1)
Related Publication 20200233713A1 · Jul 23, 2020