Tenant based allocation for pooled memory
US-2020363975-A1 · Nov 19, 2020 · US
US11983408B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11983408-B2 |
| Application number | US-202318142942-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 3, 2023 |
| Priority date | Jun 26, 2020 |
| Publication date | May 14, 2024 |
| Grant date | May 14, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An embodiment of an electronic apparatus may include one or more substrates, and logic coupled to the one or more substrates, the logic to allocate a first memory portion to a first application as a combination of a local memory and remote memory, wherein the remote memory is shared between multiple compute nodes, and manage a first memory balloon associated with the first memory portion based on two or more memory tiers associated with the local memory and the remote memory. Other embodiments are disclosed and claimed.
Opening claim text (preview).
What is claimed is: 1. An electronic apparatus, comprising: one or more substrates; and logic coupled to the one or more substrates, the logic to: allocate a first memory portion to a first application as a combination of a main memory of a compute node and re-allocatable pooled memory, wherein the re-allocatable pooled memory is shared between multiple compute nodes, and manage a first memory allocation amount associated with the first memory portion based on two or more memory tiers associated with the main memory and the re-allocatable pooled memory. 2. The apparatus of claim 1 , wherein the logic is further to: initialize the first memory allocation amount to an amount that is less than an amount of memory for the entire first memory portion when the first application is first initialized. 3. The apparatus of claim 1 , wherein the first application corresponds to a virtual machine, and wherein the logic is further to: virtually map a first amount of memory for the entire first memory portion for the virtual machine when the virtual machine is instantiated; physically map a second amount of memory from the main memory for the virtual machine when the virtual machine is instantiated, wherein the second amount of memory is less than the first amount of memory; and initialize the first memory allocation amount based on a third amount of memory that remains to be physically mapped for the first portion of memory. 4. The apparatus of claim 1 , wherein the logic is further to: allocate the first memory allocation amount to a particular memory tier of the two or more memory tiers associated with the main memory and the re-allocatable pooled memory based on a performance characteristic associated with the first application. 5. The apparatus of claim 1 , wherein the logic is further to: maintain information that associates respective performance values with one or more tiers of the two or more memory tiers; and in response to a decrease of the first memory allocation amount, map one or more pages of the first memory allocation amount to a particular tier of the two or more memory tiers based on an evaluation of a performance characteristic associated with the first application relative to the respective performance values. 6. The apparatus of claim 1 , wherein the logic is further to: determine that the first application needs additional memory outside the first memory allocation amount; determine a preferred memory tier for the additional memory; and identify a second memory allocation amount associated with a second memory portion to provide the additional memory based on available memory from the second memory allocation amount in the preferred memory tier. 7. The apparatus of claim 6 , wherein the logic is further to: increase the second memory allocation amount to free the available memory from the second memory portion; and allocate the freed available memory to the first memory portion for the additional memory. 8. An electronic system, comprising: a processor; a local memory communicatively coupled to the processor; and logic communicatively coupled to the processor and the local memory, the logic to: allocate a first memory portion to a first application as a combination of the local memory and remote memory, wherein the remote memory is remote with respect to the local memory and shared between multiple compute nodes, and manage a first memory allocation amount associated with the first memory portion based on two or more memory tiers associated with the local memory and the remote memory. 9. The system of claim 8 , wherein the first application corresponds to a virtual machine, and wherein the logic is further to: initialize the first memory allocation amount to an amount that is less than an amount of memory for the entire first memory portion when the virtual machine is instantiated. 10. The system of claim 8 , wherein the first application corresponds to a virtual machine, and wherein the logic is further to: virtually map a first amount of memory for the entire first memory portion for the virtual machine when the virtual machine is instantiated; physically map a second amount of memory from the local memory for the virtual machine when the virtual machine is instantiated, wherein the second amount of memory is less than the first amount of memory; and initialize the first memory allocation amount based on a third amount of memory that remains to be physically mapped for the first portion of memory. 11. The system of claim 8 , wherein the logic is further to: maintain a table that maps respective performance values with each tier of the two or more memory tiers; and in response to a decrease of the first memory allocation amount, determine a particular tier of the two or more memory tiers based on an evaluation of a performance characteristic associated with the first application relative to the respective performance values in the table, and physically map one or more pages of the first memory allocation amount to the particular tier. 12. The system of claim 11 , wherein the local memory comprises main memory and wherein the remote memory comprises remote re-allocatable pooled memory. 13. The system of claim 8 , wherein the logic is further to: determine that the first application needs additional memory outside the first memory allocation amount; determine a preferred memory tier for the additional memory; and identify a second memory allocation amount associated with a second memory portion to provide the additional memory based on available memory from the second memory allocation amount in the preferred memory tier. 14. The system of claim 13 , wherein the logic is further to: increase the second memory allocation amount to free the available memory from the second memory portion; and allocate the freed available memory to the first memory portion for the additional memory. 15. A method of managing memory, comprising: allocating a first memory portion to a first application as a combination of a local memory of a compute node and re-allocatable pooled memory, wherein the re-allocatable pooled memory is shared between multiple compute nodes; and managing a first memory allocation amount associated with the first memory portion based on two or more memory tiers associated with the local memory and the re-allocatable pooled memory. 16. The method of claim 15 , further comprising: initialize the first memory allocation amount to an amount that is less than an amount of memory for the entire first memory portion when the first application is first initialized. 17. The method of claim 15 , wherein the first application corresponds to a virtual machine, further comprising: virtually mapping a first amount of memory for the entire first memory portion for the virtual machine when the virtual machine is instantiated; physically mapping a second amount of memory from the local memory for the virtual machine when the virtual machine is instantiated, wherein the second amount of memory is less than the first amount of memory; and initializing the first memory allocation amount based on a third amount of memory that remains to be physically mapped for the first portion of memory. 18. The method of claim 15 , further comprising: allocating the first memory allocation amount to a particular memory tier of the two or more memory tiers associated with the local memory and the re-allocatable pooled memory based on a performance characteristic associated with the first application.
Saving storage space on storage systems · CPC title
by allocating resources to storage systems · CPC title
at area level, e.g. provisioning of virtual or logical volumes · CPC title
Single storage device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.