Optimization of operating system and virtual machine monitor memory management

US9753831B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9753831-B2
Application numberUS-201213483618-A
CountryUS
Kind codeB2
Filing dateMay 30, 2012
Priority dateMay 30, 2012
Publication dateSep 5, 2017
Grant dateSep 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and system for dynamically managing memory in a computing environment using a control monitor. The control monitor (e.g., a virtual machine monitor or operating system kernel) includes a nomination module configured to collect memory statistics associated with at least one memory node. Based on the memory statistics, the control monitor detects one or more first pages accessed from a remote memory node at or above an access threshold. The nomination module nominates, via a communication to at least one of a scheduler module and a memory manager of the control monitor, the one or more first pages for migration to the remote memory node.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: collecting, by a processing device from a performance monitoring unit (PMU) of a first memory node comprising a first processing device and a first local memory, memory statistics associated with the first memory node; determining, by the processing device in view of the memory statistics, a first page of the first local memory of the first memory node is accessed by a second processing device of a remote memory node at or above an access threshold value; nominating, by the processing device, the first page to be migrated from the first local memory to a second local memory of the remote memory node; migrating the first page to the second local memory of the remote memory node comprising the second processing device; determining, by the processing device, in view of memory statistics collected from a PMU of the remote memory node, the first page previously migrated to the second local memory of the remote memory node is being accessed by the second processing device below the access threshold value; nominating, by the processing device, the first page to be migrated from the second local memory of the remote memory node to another memory node; determining, by the processing device, in view of the memory statistics associated with a plurality of memory nodes, a read-only page is read accessed in aggregate by a plurality of processing devices of the plurality of memory nodes at or above a multiple access threshold value; replicating, by the processing device, the read-only page to an additional memory node; determining, by the processing device, in view of the memory statistics associated with a plurality of memory nodes, the read-only page is read accessed in aggregate by the plurality of processing devices of the plurality of memory nodes below the multiple access threshold value; and de-replicating, by the processing device, the read-only page upon receipt of a write request associated with the read-only page. 2. The method of claim 1 , further comprising: determining, by the processing device, in view of the memory statistics associated with the first memory node, a region of the first local memory comprising a plurality of additional pages accessed at or above the access threshold value; and nominating, by the processing device, the region to be promoted into an updated region. 3. The method of claim 1 , further comprising: nominating, by the processing device, the read-only page to be de-replicated. 4. The method of claim 2 , further comprising: determining, by the processing device, in view of the memory statistics associated with the first memory node, the region previously promoted is accessed below the access threshold value; and nominating, by the processing device, the region for demotion into a further updated region comprising a plurality of small pages. 5. The method of claim 1 , wherein the processing device executes a control monitor comprising a virtual machine monitor (VMM). 6. The method of claim 1 , wherein the processing device executes a control monitor comprising an operating system kernel (OSK). 7. The method of claim 1 , wherein the memory node comprises a non-uniform memory access (NUMA) node. 8. The method of claim 1 , wherein the memory statistics comprise at least one of cache miss information or cross node reference information. 9. A non-transitory computer readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to: collect, by the processing device from a performance monitoring unit (PMU) of a first memory node-comprising a first processing device and a first local memory, memory statistics associated with the first memory node; determine, by the processing device, in view of the memory statistics, a first page of the first local memory of the first memory node is accessed by a second processing device of a remote memory node at or above an access threshold value; nominate, by the processing device, the first page to be migrated from the first local memory to a second local memory of the remote memory node; migrate the first page to the second local memory of the remote memory node comprising the second processing device; determine, by the processing device, in view of memory statistics collected from a PMU of the remote memory node, the first page previously migrated to the second local memory of the remote memory node is being accessed by the second processing device below the access threshold value; nominate, by the processing device, the first page for migration from the second local memory of the remote memory node to another memory node; determine, by the processing device, in view of the memory statistics associated with a plurality of memory nodes, a read-only page is read accessed in aggregate by a plurality of processing devices of the plurality of memory nodes at or above a multiple access threshold value; replicate, by the processing device, the read-only page to an additional memory node; determine, by the processing device, in view of the memory statistics associated with a plurality of memory nodes, the read-only page is read accessed in aggregate by the plurality of processing devices of the plurality of memory nodes below the multiple access threshold value; and de-replicate, by the processing device, the read-only page upon receipt of a write request associated with the read-only page. 10. The non-transitory computer readable storage medium of claim 9 , comprising further instructions to cause the processing device to: determine, by the processing device, in view of the memory statistics associated with the first memory node, a region of the first local memory comprising a plurality of additional pages accessed at or above the access threshold value; and nominate, by the processing device, the region to be promoted into an updated region comprising a plurality of large pages. 11. The non-transitory computer readable storage medium of claim 9 , comprising further instructions to cause the processing device to: nominate, by the processing device, the read-only page to be de-replicated. 12. The non-transitory computer readable storage medium of claim 10 , comprising further instructions to cause the processing device to: determine, by the processing device, in view of the memory statistics associated with the first memory node, the region previously promoted is accessed below the access threshold value; and nominate, by the processing device, the region to be demoted into a further updated region comprising a plurality of small pages. 13. The non-transitory computer readable storage medium of claim 9 , the processing device to execute a control monitor comprising a virtual machine monitor (VMM). 14. The non-transitory computer readable storage medium of claim 9 , the processing device to execute a control monitor comprising an operating system kernel (OSK). 15. The non-transitory computer readable storage medium of claim 9 , wherein the memory node comprises a non-uniform memory access (NUMA) node. 16. The non-transitory computer readable storage medium of claim 9 , wherein the memory statistics comprise at least one of cache miss information or cross node reference information. 17. A system comprising: a memory to store memory statistics associated with a first memory node; and a processing device operatively coupled to the memory, the processing device to: collect, from a performance monitoring unit (PMU) of the first memory node comprising a first local memory, the memory statistics

Assignees

Inventors

Classifications

  • Threshold · CPC title

  • for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title

  • Circuit details, i.e. tracer hardware · CPC title

  • Virtual · CPC title

  • Emulated environment, e.g. virtual machine · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9753831B2 cover?
A method and system for dynamically managing memory in a computing environment using a control monitor. The control monitor (e.g., a virtual machine monitor or operating system kernel) includes a nomination module configured to collect memory statistics associated with at least one memory node. Based on the memory statistics, the control monitor detects one or more first pages accessed from a r…
Who is the assignee on this patent?
Kivity Avi, Red Hat Israel Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/3433. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).