Dynamic Memory Aging Schedule for Page Trimming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer systems face inefficiencies in memory management due to inadequate aging schedules, which lead to poor discrimination among pages in the working set, resulting in suboptimal trimming decisions and increased CPU and memory costs.

Innovation Solution

Implementing a dynamic aging schedule that computes a projected time for trimming pages, allowing for a distribution of aging counts across pages based on activity levels, thereby selecting less active pages for trimming and reducing unnecessary page swapping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If aging is performed frequently to improve page discrimination accuracy, then measurement precision of page activity improves, but productivity of the system deteriorates due to increased CPU and memory costs

Engineering Contradiction:
Improvepage activity discrimination accuracyVSAvoidsystem operation efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary aging operations at scheduled intervals before trimming occurs, rather than continuously aging pages. The aging scheduler computes a projected trimming time and schedules aging passes to complete before this time, allowing the system to prepare aging information in advance without continuous overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The aging schedule is made dynamic by adjusting the timing and scope of aging operations based on system conditions. The aging scheduler monitors memory usage and trimming needs, then adapts the aging schedule accordingly, performing more aggressive aging when trimming is imminent and reducing aging activity when memory pressure is low.

Inventive Principle:
Principle #15Dynamics

2Reliability

If aging is performed continuously to maintain accurate age counts, then reliability of trimming decisions improves, but loss of time increases due to constant CPU intervention

Engineering Contradiction:
Improvetrimming decision accuracyVSAvoidCPU time consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of continuous aging, the system implements periodic aging at scheduled intervals. The aging scheduler establishes specific times for aging passes and allows the system to operate normally between these periodic operations, significantly reducing CPU time consumption while maintaining sufficient aging information for reliable trimming decisions.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The aging system uses existing access bit information that is already being tracked by the memory management unit for other purposes. By checking access bits during periodic aging passes rather than implementing a separate continuous tracking mechanism, the system leverages existing infrastructure to reduce overhead.

Inventive Principle:
Principle #25Self-service

3Productivity

If the aging interval is extended to reduce CPU overhead, then productivity improves, but measurement precision of page activity deteriorates

Engineering Contradiction:
Improvesystem operation efficiencyVSAvoidage count accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary aging operations at scheduled intervals before trimming occurs, rather than continuously aging pages. The aging scheduler computes a projected trimming time and schedules aging passes to complete before this time, allowing the system to prepare aging information in advance without continuous overhead.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If aggressive trimming is performed to free memory space, then productivity improves, but reliability deteriorates due to potential removal of active pages

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidsystem performance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The trimming decision process uses feedback from age count information to guide page selection. Pages with higher age counts (indicating less recent activity) are prioritized for trimming, while pages with lower age counts are protected. This feedback mechanism ensures that trimming decisions are based on actual page activity patterns, reducing the risk of removing actively used pages.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9916260B2Computer system with memory aging for high performance
Publication Date: 2018.03.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9916260B2 patent drawing
  • US9916260B2 patent drawing
  • US9916260B2 patent drawing

AI summary

A memory manager in a computer system that ages memory for high performance. The efficiency of operation of the computer system can be improved by dynamically setting an aging schedule based on a predicted time for trimming pages from a working set. An aging schedule that generates aging information that better discriminates among pages in a working set based on activity level enables selection of pages to trim that are less likely to be accessed following trimming. As a result of being able to identify and trim less active pages, inefficiencies arising from restoring trimmed pages to the working set are avoided.