Memory Page Eviction Using Access-Frequency Hierarchy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems that run Virtual Machines face performance degradation due to the computational overhead of tracking memory page access frequencies, which is necessary for efficient memory management, especially when transitioning pages between volatile memory and non-volatile storage.

Innovation Solution

Implementing a method that classifies memory pages into multiple lists with different scanning periods based on access frequencies, where frequently accessed pages are scanned less often and rarely accessed pages are scanned more frequently, and evicting pages to storage tiers based on their access history using a weighted average calculation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory page access frequencies are tracked continuously to make accurate eviction decisions, then memory management efficiency is improved, but computational overhead increases

Engineering Contradiction:
Improvememory management efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments memory pages into multiple lists (first list for frequently accessed pages, second list for rarely accessed pages) and applies different scanning frequencies to each list. This segmentation allows the system to track access patterns of frequently accessed pages more closely while reducing the tracking overhead for rarely accessed pages, thereby resolving the contradiction between tracking accuracy and computational overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different scanning periods to different memory page lists based on their access characteristics. The first list (frequently accessed pages) is scanned with a first scanning period, while the second list (rarely accessed pages) is scanned with a second scanning period that is a multiple of the first. This local differentiation optimizes the balance between tracking accuracy and computational resources consumed.

Inventive Principle:
Principle #3Local quality

2Speed

If frequently accessed memory pages are scanned more often to ensure they remain in memory, then memory access performance is improved, but system resources are consumed

Engineering Contradiction:
Improvememory access performanceVSAvoidsystem resources
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent implements periodic scanning of memory pages with different scanning periods based on their access frequency. Frequently accessed pages in the first list are scanned with a shorter scanning period, while rarely accessed pages in the second list are scanned with a longer scanning period (a multiple of the first). This periodic action with varying frequencies ensures that frequently accessed pages are monitored more closely to maintain memory access performance, while reducing the scanning frequency for rarely accessed pages to conserve system resources.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9971698B2Using access-frequency hierarchy for selection of eviction destination
Publication Date: 2018.05.15 MELLANOX TECHNOLOGIES LTD(IL)
  • US9971698B2 patent drawing
  • US9971698B2 patent drawing
  • US9971698B2 patent drawing

AI summary

A method includes, in a computing system in which one or more workloads access memory pages in a memory, defining multiple memory-page lists, and specifying for each memory-page list a respective different scanning period. Access frequencies, with which the memory pages are accessed, are estimated continually by periodically checking the memory pages on each memory-page list in accordance with the scanning period specified for that memory-page list, and re-assigning the memory pages to the memory-page lists based on the estimated access frequencies. One or more of the memory pages are evicted from the memory based on a history of assignments of the memory pages to the memory-page lists.