Hypervisor Memory Page Tracking via Dirty State Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for memory page tracking by a hypervisor can lead to performance issues due to unnecessary discarding of memory pages, resulting in page faults and decreased system performance, as they do not effectively differentiate between used and unused pages.

Innovation Solution

A method where the guest operating system initiates a dirty tracking operation with the hypervisor to identify used memory pages, allowing the hypervisor to discard only unused pages, thereby reducing page faults and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the hypervisor discards memory pages without tracking usage status, then memory resource allocation is simplified, but page faults increase and system performance decreases

Engineering Contradiction:
Improvememory page management complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The hypervisor performs preliminary tracking of memory page usage status before discarding pages. By maintaining a dirty tracking operation that monitors whether pages have been accessed since being marked as candidate for discard, the system prevents unnecessary page faults while still enabling efficient memory reclamation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the hypervisor tracks all memory pages to prevent page faults, then system performance improves, but the complexity of memory management increases

Engineering Contradiction:
Improvesystem performanceVSAvoidmemory page tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The hypervisor applies selective tracking only to memory pages marked as candidate for discard, rather than tracking all memory pages uniformly. This local quality approach allows the system to monitor usage status of potentially discarded pages while avoiding the overhead of tracking pages that are definitely needed or actively in use.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If the hypervisor discards unused memory pages, then memory resource utilization improves, but unnecessary discards cause page faults and performance degradation

Engineering Contradiction:
Improvememory resource utilizationVSAvoidpage fault rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The hypervisor implements a feedback mechanism through dirty tracking that continuously monitors whether memory pages have been accessed since being marked as candidate for discard. When a tracked page is accessed, the tracking operation is updated to reflect its usage status, providing feedback that prevents incorrect discards and reduces page faults.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10394596B2Tracking of memory pages by a hypervisor
Publication Date: 2019.08.27 RED HAT INC
  • US10394596B2 patent drawing
  • US10394596B2 patent drawing
  • US10394596B2 patent drawing

AI summary

An identification of one or more memory pages that are associated with the guest operating system may be received by a hypervisor and from a guest operating system. The hypervisor may receive a request from the guest operating system to initiate a tracking operation for the one or more memory pages. The tracking operation may be initiated for the one or more memory pages in response to receiving the request from the guest operating system. Furthermore, the one or more memory pages may be freed in view of the tracking operation that has been initiated by the hypervisor.