Preemptive Page Eviction Using Markup Constructs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management algorithms in computer systems often waste resources by initially writing infrequently accessed pages to faster memory, leading to inefficient use of valuable storage resources, as they rely on time-based monitoring to identify and evict unused pages.

Innovation Solution

Implementing a preemptive page eviction method where a markup construct is used to identify infrequently accessed regions of code or data during software development, allowing development tools to flag these regions for immediate transfer to slower memory levels, thereby avoiding the initial waste of writing them to faster memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory managers use time-based algorithms (LRU/LFU) to determine page allocation, then pages are eventually swapped out based on access patterns, but infrequently accessed pages initially occupy faster memory for extended periods wasting valuable storage resources

Engineering Contradiction:
Improvememory management accuracyVSAvoidtime pages occupy faster memory
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary identification of infrequently accessed code regions during the compilation phase using markup constructs. This allows the memory manager to preemptively evict these pages to slower memory before they are loaded into faster memory, avoiding the time waste of having them occupy premium storage resources unnecessarily.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compilation process itself generates the information needed for memory management decisions. By embedding markup constructs in the source code that identify infrequently accessed regions, the system enables the memory manager to make informed decisions without requiring runtime monitoring and analysis of access patterns.

Inventive Principle:
Principle #25Self-service

2Reliability

If memory managers monitor access patterns to make swapping decisions, then pages can be swapped based on actual usage, but this requires large amounts of computational and storage overhead

Engineering Contradiction:
Improvepage swapping accuracyVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of monitoring access patterns at runtime, the system performs the analysis phase during compilation. Markup constructs are inserted into the source code to identify regions that will be infrequently accessed, allowing the memory manager to make decisions based on pre-computed information rather than requiring complex runtime monitoring infrastructure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts the memory management decision-making process from runtime operations and moves it to the compilation phase. By separating the identification of infrequently accessed regions from the actual execution, the system eliminates the need for complex runtime monitoring while maintaining accurate page swapping decisions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If memory managers place pages in faster memory initially, then pages are readily accessible, but infrequently accessed pages waste valuable faster memory storage resources

Engineering Contradiction:
Improvememory access speedVSAvoidfaster memory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system preemptively identifies and evicts infrequently accessed pages to slower memory before they are needed, based on markup constructs in the source code. This ensures that faster memory capacity is reserved for frequently accessed pages, maximizing the utilization of premium storage resources while maintaining quick access when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different memory allocation strategies to different regions of code based on their access characteristics. By identifying specific regions marked with markup constructs as infrequently accessed, the system allocates them to slower memory while keeping frequently accessed regions in faster memory, optimizing the overall memory hierarchy utilization.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8769221B2Preemptive page eviction
Publication Date: 2014.07.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8769221B2 patent drawing
  • US8769221B2 patent drawing
  • US8769221B2 patent drawing

AI summary

A method, system, and computer program product for preemptive page eviction in a computer system are provided. The method includes identifying a region in an input file for preemptive page eviction, where the identified region is infrequently accessed relative to other regions of the input file. The method also includes generating an output file from the input file, where the identified region is flagged as a page for preemptive page eviction in the output file. The method further includes loading the output file to a memory hierarchy including a faster level of memory and a slower level of memory, wherein the flagged page is preemptively written to the slower level of memory.