Page Preloading via Control Flow Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing systems face performance issues due to excessive overhead from accessing auxiliary storage devices at low speeds, leading to a high number of page faults when loading program code, as the operating system cannot accurately predict which code pages are needed next.
Innovation Solution
A method and system for preloading pages using control flow, where preload page information is extracted and stored in non-volatile memory, allowing the demand paging module to preload pages based on profiling information, thereby reducing page faults and increasing the hit ratio of preloaded pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the operating system loads only essential code in main memory, then the memory capacity is efficiently utilized, but page faults increase and system performance deteriorates
Solution Approach 1:
The invention extracts control flow information from program code and uses it to preload frequently accessed code pages into main memory before they are actually needed. This preliminary action reduces page faults and improves system performance while maintaining efficient memory capacity utilization.
Solution Approach 2:
The invention uses control flow information extracted from program code as feedback to guide the preload process. By analyzing branch instructions and target addresses, the system can intelligently predict which pages will be needed next and preload them accordingly, creating a feedback loop that optimizes memory loading.
2Ease of operation
If the demand paging module preloads code based on code locality, then the preload process is simple, but the hit ratio of preloaded pages is low and program execution time increases
Solution Approach 1:
The invention introduces control flow information as an intermediary between the demand paging module and the code pages. This intermediary provides accurate prediction about which pages will be needed next, improving the hit ratio of preloaded pages and reducing program execution time without significantly complicating the preload process.
3Quantity of substance
If auxiliary storage device is accessed frequently, then all program code can be loaded into main memory, but the low access speed causes excessive overhead and reduces system performance
Solution Approach 1:
Instead of loading all program code into main memory, the invention uses control flow information to preload only the frequently accessed pages that are likely to be needed soon. This selective preliminary action reduces the number of auxiliary storage accesses and minimizes access overhead while still improving system performance.
Data Source
AI summary
A method and system for page preloading using a control flow are provided. The method includes extracting preload page information from one or more pages in a first program code, and generating a second program code including the first program code and the extracted preload page information. The second program code is stored in non-volatile memory. When loading a page from the second program code stored in the non-volatile memory into main memory, preloading one or more pages from the non-volatile memory based on the preload page information stored in the loaded page.


