VMA Container Fast Launch via Hot Page Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional checkpoint and restore processes in applications and systems are inefficient due to the need for extensive input/output operations, page faults, and memory copy operations when loading process contexts from storage, especially when not all memory pages are frequently used or predicted to be used.

Innovation Solution

The implementation of a virtual memory address area (VMA) container system that identifies and prioritizes 'hot' pages for immediate restoration, delaying or avoiding the restoration of 'not hot' pages, thereby reducing input/output operations and resource consumption by mapping physical memory pages directly to VMA container pages based on access requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the checkpoint thread reads and writes the process context of each page of saved anonymous VMA back to the process space, then the process context is fully restored, but many input/output operations, page faults, and memory copy operations are caused

Engineering Contradiction:
Improveprocess context restoration completenessVSAvoidlaunch speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary identification of hot pages during the checkpoint phase, categorizing memory pages by their access frequency and importance. This preliminary classification enables the restore process to prioritize loading only the most frequently accessed pages first, rather than restoring all pages uniformly, thus accelerating the launch process while maintaining reliability for critical process context

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements partial restoration by initially loading only hot pages (frequently accessed memory pages) during the launch process, rather than restoring all memory pages completely at once. This partial action approach allows the application to start with essential process context while non-critical pages are restored later, significantly reducing I/O operations and page faults during the critical launch phase

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all physical memory pages are restored from the VMA container upon launch, then complete process context is available, but time and resource consumption increase

Engineering Contradiction:
Improveprocess context availabilityVSAvoidlaunch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the memory restoration process into distinct phases: first restoring hot pages (frequently accessed) and then restoring cold pages (infrequently accessed). This segmentation divides the large task of restoring all memory pages into smaller, prioritized batches, allowing the system to achieve functional launch with critical pages while deferring non-critical page restoration, thereby reducing overall launch time without compromising process context availability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial restoration by initially loading only hot pages upon launch, rather than restoring all memory pages completely at once. This partial action provides sufficient process context for the application to become operational, with the understanding that complete restoration will follow as needed, thus eliminating unnecessary time consumption for restoring pages that may not be immediately required

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the VMA container restores all memory pages, then no page faults occur, but resource consumption increases unnecessarily

Engineering Contradiction:
Improvememory access reliabilityVSAvoidrestoration resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system implements partial restoration by initially loading only hot pages (frequently accessed memory pages) into physical memory, rather than restoring all pages. This approach accepts that some page faults may occur for cold pages but eliminates the wasteful resource consumption of pre-loading pages that will not be accessed, thereby optimizing the balance between memory access reliability and resource consumption

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the restoration parameter from restoring all pages to restoring only hot pages based on access frequency analysis. By dynamically adjusting which pages are restored based on their access patterns and importance, the system reduces unnecessary resource consumption while maintaining adequate memory access reliability for critical process operations

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11385926B2Application and system fast launch by virtual address area container
Publication Date: 2022.07.12 INTEL CORP
  • US11385926B2 patent drawing
  • US11385926B2 patent drawing
  • US11385926B2 patent drawing

AI summary

An application and system fast launch may provide a virtual memory address area (VMA) container to manage the restore of a context of a process, i.e., process context, saved in response to a checkpoint to enhance performance and to provide a resource efficient fast launch. More particularly, the fast launch may provide a way to manage, limit and/or delay the restore of a process context saved in response to a checkpoint, by generating a VMA container comprising VMA container pages, to restore physical memory pages following the checkpoint based on the most frequently used or predicted to be used. The application and system fast launch with the VMA container may avoid unnecessary input/output (I/O) bandwidth consumption, page faults and/or memory copy operations that may otherwise result from restoring the entire context of a VMA container without regard to frequency of use.