Machine learning-based power capping and virtual machine placement in cloud platforms
US-2021103458-A1 · Apr 8, 2021 · US
US11455239B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11455239-B1 |
| Application number | US-202117367061-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jul 2, 2021 |
| Priority date | Jul 2, 2021 |
| Publication date | Sep 27, 2022 |
| Grant date | Sep 27, 2022 |
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.
Methods and systems related to memory reduction in a system by oversubscribing physical memory shared among compute entities are provided. A portion of the memory includes a combination of a portion of a first physical memory of a first type and a logical pooled memory associated with the system. A logical pooled memory controller is configured to: (1) track both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory, and (2) allow the write operation to write data to any available space in the second physical memory of the first type only up to an extent of physical memory that corresponds to the portion of the logical pooled memory previously allocated to the compute entity.
Opening claim text (preview).
What is claimed: 1. A method comprising: allocating a portion of a memory associated with a system to a compute entity, wherein the portion of the memory comprises a combination of a portion of a first physical memory of a first type and a portion of a logical pooled memory for use with a plurality of compute entities associated with the system, wherein the logical pooled memory is mapped to a second physical memory of the first type, and wherein an amount of the logical pooled memory indicated as being available for allocation to the plurality of compute entities is greater than an amount of the second physical memory of the first type; indicating to a logical pooled memory controller associated with the logical pooled memory that all pages associated with the logical pooled memory initially allocated to any of the plurality of compute entities are known-pattern pages; the logical pooled memory controller tracking both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities; and in response to a write operation initiated by the compute entity, the logical pooled memory controller allowing writing of data to any available space in the second physical memory of the first type only up to an extent of physical memory that corresponds to the portion of the logical pooled memory previously allocated to the compute entity. 2. The method of claim 1 , wherein an amount of the logical pooled memory associated with the system equals an amount of the second physical memory of the first type combined with an amount of memory corresponding to known-pattern pages backed by no physical memory of any type. 3. The method of claim 1 , wherein tracking both the status of whether the page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between the logical memory addresses and the physical memory addresses comprises maintaining a mapping table. 4. The method of claim 3 , wherein the mapping table is implemented using a translation lookaside buffer. 5. The method of claim 1 , further comprising allocating the portion of the first physical memory of the first type based on a predicted use of the first physical memory of the first type by the compute entity. 6. The method of claim 1 , further comprising dynamically changing an amount of the portion of the first physical memory of the first type allocated to the compute entity based on a usage pattern associated with a use of the first physical memory of the first type allocated to the compute entity. 7. The method of claim 1 , further comprising exposing the portion of the logical pooled memory allocated to the compute entity via a software mechanism to allow the compute entity to distinguish between the portion of the logical pooled memory allocated to the compute entity and the portion of the first physical memory of the first type allocated to the compute entity. 8. The method of claim 1 , wherein the logical pooled memory is coupled to a processor for executing any of the plurality of compute entities that have been allocated at least a portion of the logical pooled memory associated with the system via a respective link managed by a fabric manager. 9. A system comprising: a memory, wherein a portion of the memory comprises a combination of a portion of a first physical memory of a first type and a portion of a logical pooled memory associated with the system, wherein the logical pooled memory is mapped to a second physical memory of the first type, and wherein an amount of the logical pooled memory indicated as being available for allocation to a plurality of compute entities is greater than an amount of the second physical memory of the first type; and a logical pooled memory controller, coupled to the logical pooled memory associated with the system, configured to: (1) track both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities, and (2) in response to a write operation initiated by a compute entity to write any data other than a known pattern, allow the write operation to write the data to any available space in the second physical memory of the first type only up to an extent of physical memory that corresponds to a portion of the logical pooled memory previously allocated to the compute entity. 10. The system of claim 9 , wherein an amount of the logical pooled memory associated with the system equals an amount of the second physical memory of the first type combined with an amount of memory corresponding to known-pattern pages backed by no physical memory of any type. 11. The system of claim 9 , wherein the logical pooled memory controller is further configured to maintain a mapping table to track both the status of whether the page of the logical pooled memory allocated to any of the plurality of compute entities is the known-pattern page and the relationship between the logical memory addresses and the physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities, and wherein the mapping table is implemented using a translation lookaside buffer. 12. The system of claim 9 , further comprising a scheduler configured to allocate the portion of the first physical memory of the first type to the compute entity based on a predicted use of the first physical memory of the first type by the compute entity. 13. The system of claim 12 , wherein the scheduler is configured to dynamically change an amount of the portion of the first physical memory of the first type allocated to the compute entity based on a usage pattern associated with a use of the first physical memory of the first type allocated to the compute entity. 14. The system of claim 9 , wherein the logical pooled memory controller is further configured to indicate to each of the plurality of compute entities that all pages associated with the logical pooled memory initially allocated to any of the plurality of compute entities are known-pattern pages. 15. A system comprising: a plurality of host servers configurable to execute one or more of a plurality of compute entities; a memory, wherein a portion of the memory comprises a combination of a portion of a first physical memory of a first type and a portion of a logical pooled memory shared among the plurality of host servers, wherein the logical pooled memory is mapped to a second physical memory of the first type, and wherein an amount of the logical pooled memory indicated as being available for allocation to the plurality of compute entities is greater than an amount of the second physical memory of the first type; and a logical pooled memory controller, coupled to the logical pooled memory associated with the system, configured to: (1) track both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities, and (2) in response to a write operation initiated by a compute entity, being executed by
Free address space management · CPC title
the resource being the memory · CPC title
Virtual address space management · CPC title
Server or database system · CPC title
Networked environment · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.