Prefetch Optimizer for In-Memory Computing Page Faults

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory computing programs, such as DBMS executing OLAP, often experience temporary stops due to lack of access locality, leading to frequent page-out and page-in operations when dealing with large data sets like images or speech data, exceeding the main memory capacity and resulting in performance degradation.

Innovation Solution

A computer system incorporating a main memory, a lower class memory, and a secondary storage medium, which executes an in-memory computing program and a prefetch optimizer. The prefetch optimizer identifies continuous areas in virtual memory and directs the OS to perform class-in processes for virtual pages, reducing the frequency of temporary stops by prefetching data from secondary storage to main memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is loaded from secondary storage medium into main memory for in-memory computing, then processing speed is improved, but when data amount exceeds main memory capacity, frequent page-out and page-in operations occur causing temporary stops and performance degradation

Engineering Contradiction:
Improveprocessing speedVSAvoidtemporary stop frequency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The prefetch optimizer performs preliminary actions by predicting which data will be needed soon and loading it into main memory in advance, before the in-memory computing program actually requests it. This prevents temporary stops by ensuring data is already available in main memory when needed, resolving the contradiction between maintaining high processing speed and avoiding frequent page-out/page-in operations.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If virtual memory space is used to extend storage capacity beyond main memory, then storage capacity is improved, but access speed deteriorates due to frequent swaps between main memory and secondary storage

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system maintains large storage capacity through virtual memory while preserving access speed by proactively loading predicted data into main memory before access occurs. The prefetch optimizer analyzes access patterns and pre-loads data that will be needed, reducing the frequency of slow swap operations between main memory and secondary storage, thus maintaining both large capacity and fast access.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If conventional LRU algorithm is used for determining pages to swap out, then implementation simplicity is improved, but performance deteriorates for in-memory computing programs lacking access locality

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The prefetch optimizer introduces feedback mechanisms that monitor actual data access patterns of in-memory computing programs and use this information to make intelligent predictions about future access needs. This feedback-driven approach replaces the simple LRU algorithm with a more sophisticated prediction mechanism that adapts to the specific access patterns of analytical processing workloads, significantly improving processing efficiency while maintaining reasonable implementation complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10402333B2Computer system including plurality of types of memory devices and method
Publication Date: 2019.09.03 HITACHI VANTARA LTD
  • US10402333B2 patent drawing
  • US10402333B2 patent drawing
  • US10402333B2 patent drawing

AI summary

A computer system includes a main memory, a lower class memory, and a secondary storage medium and executes an operating system, an in-memory computing program, and a prefetch optimizer program. The in-memory computing program writes processing target data including a plurality of data objects stored in the secondary storage medium into a plurality of continuous areas on a virtual memory space and executes a process while accessing the continuous area. When detecting that the operating system executes a class-in process triggered upon a page fault for a predetermined virtual page, the prefetch optimizer program acquires information of the continuous area from the in-memory computing program and directs the operating system to execute a class-in process for virtual pages included in the predetermined continuous area including the predetermined virtual page.