Virtual Memory Pre-backing Using Learned Access Patterns
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems lack the ability to optimize virtual memory backing in real memory due to the inability to predict which pages will be needed in advance, leading to increased page faults and performance delays during application execution.
Innovation Solution
Implementing a system that uses learned data to pre-allocate and pre-back virtual memory pages in real memory based on historical memory allocation and access patterns, allowing for optimized page size determination and reduced page faults.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the RSM backs virtual pages in real memory only when they are needed (on demand), then memory usage is optimized and fragmentation is reduced, but page faults increase and performance deteriorates
Solution Approach 1:
The system performs preliminary action by pre-backing virtual pages in real memory based on learned historical access patterns before they are actually needed. The processor analyzes historical data to predict which virtual pages will be accessed and backs them in advance, eliminating page faults and improving application performance while maintaining efficient memory usage.
2Productivity
If the RSM uses large memory pages to back virtual storage, then the number of TLB entries required is reduced and performance improves, but memory fragmentation increases if the storage is not fully used
Solution Approach 1:
The system applies local quality by using different page sizes for different virtual storage regions based on their specific access patterns. The learned data analysis identifies which regions benefit from large pages and which should use smaller pages, allowing the system to optimize TLB performance for accessed regions while minimizing fragmentation in regions that are not fully utilized.
3Speed
If the RSM backs the first page of virtual storage immediately upon allocation, then performance is improved for the first access, but subsequent pages still cause page faults and delays
Solution Approach 1:
The system extends preliminary action beyond just the first page by pre-backing multiple virtual pages in real memory based on learned access patterns. Instead of only backing the first page upon allocation, the system analyzes historical data to predict which subsequent pages will be needed and backs them in advance, eliminating the time loss from subsequent page faults.
Data Source
AI summary
A computer system includes memory and a processor configured to manage memory allocation. Aspects include receiving a request to execute a computer program and obtaining a learned data file for the computer program, the learned data file including a history of memory allocation requests and memory access requests by the computer program. Aspects also include receiving a memory allocation request from the computer program and allocating one or more pages of a virtual memory to the computer program, wherein a size of the one or more pages is based on the learned data file. Aspects further include backing at least one of the one or more pages of the virtual memory in the real memory prior to receiving an access request for the at least one of the one or more pages based on the learned data file.


