Memory Page Placement Using Neural Prediction to Reduce Thrashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Centralized data center application software runtime environments face challenges in reducing the propagation and execution times of complex software processes due to the inefficiencies in managing memory page access between local and pooled memory.
Innovation Solution
A system utilizing a neural network-based prediction model to determine the optimal placement of memory pages between local and pooled memory by analyzing historical access patterns and future predictions, minimizing thrashing and optimizing memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory pages are frequently moved between local and pooled memory based on current access patterns, then memory access efficiency is improved, but system stability deteriorates due to thrashing
Solution Approach 1:
The system performs preliminary actions by predicting future memory access patterns using a neural network model before actual access occurs. This allows memory pages to be pre-positioned in local memory based on predicted future activity, improving access efficiency while avoiding thrashing caused by reactive page movement. The prediction mechanism proactively identifies pages that will be needed soon and prepares their placement in advance.
Solution Approach 2:
The system implements feedback by continuously monitoring actual memory access patterns and comparing them with predicted patterns. This feedback loop allows the neural network model to learn from discrepancies between predicted and actual behavior, refining its predictions over time. The feedback mechanism ensures that page placement decisions are continuously optimized based on real system behavior, balancing efficiency improvements with system stability.
2Measurement precision
If a neural network model is implemented for memory page prediction, then prediction accuracy is improved, but device complexity increases
Solution Approach 1:
The neural network model serves as an intermediary between raw memory access data and page placement decisions. Instead of implementing complex decision-making logic directly in the memory management system, the neural network acts as a mediator that processes access patterns and generates predictions. This intermediary approach encapsulates complexity in a specialized component while keeping the core memory management system relatively simple and maintainable.
Solution Approach 2:
The system segments the memory management functionality by separating the prediction function (neural network model) from the execution function (page placement logic). This segmentation allows each component to be optimized independently - the neural network focuses on accurate prediction while the placement logic focuses on efficient implementation. The modular architecture reduces overall system complexity by dividing responsibilities into distinct, manageable components.
Data Source
AI summary
A method is described. The method includes determining that a memory page is in one of an active state and an idle state from meta data that is maintained for the memory page. The method includes recording a past history of active/idle state determinations that were previously made for the memory page. The method includes training a neural network on the past history of the memory page. The method includes using the neural network to predict one of a future active state and future idle state for the memory page. The method includes determining a location for the memory page based on the past history of the memory page and the predicted future state of the memory page, the location being one of a faster memory and a slower memory. The method includes moving the memory page to the location from the other one of the faster memory and the slower memory.


