Real-Time Memory Locking for Page Fault Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Real-time computing devices face performance issues due to the unpredictability of page faults and the time-consuming nature of memory paging, which can interfere with critical operations and render systems unusable, especially in applications requiring deterministic timing like GSM mobile phones.
Innovation Solution
A method to identify processes requiring real-time performance, lock the corresponding memory to prevent paging out, and unlock memory when no longer needed, ensuring that memory pages referenced by real-time threads are not paged out, thereby maintaining real-time guarantees without requiring applications to know specific memory addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If demand paging is used to manage virtual memory, then memory management efficiency is improved, but real-time performance is degraded due to unpredictable page faults
Solution Approach 1:
The patent segments memory management into two distinct modes: demand paging for non-real-time processes and locked paging for real-time processes. This segmentation allows the system to maintain efficient memory management overall while ensuring deterministic behavior for time-critical operations by preventing page faults in locked memory regions.
Solution Approach 2:
The patent introduces dynamic memory locking mechanisms where memory pages can be locked and unlocked based on real-time requirements. The system dynamically adjusts memory accessibility by locking pages referenced by real-time threads and unlocking them when no longer needed, allowing flexible adaptation between efficiency and reliability requirements.
2Reliability
If memory pages are locked to prevent paging out, then real-time performance is improved, but memory utilization is reduced
Solution Approach 1:
Instead of locking all memory pages, the patent applies locking only to specific pages referenced by real-time threads when needed. This partial action approach ensures real-time performance for critical operations while leaving other memory pages available for normal paging operations, thus maintaining overall memory utilization.
Solution Approach 2:
The patent implements a mechanism where locked memory pages are automatically unlocked when no longer referenced by real-time threads. This recovering aspect ensures that memory locked for real-time performance is returned to the general pool when no longer needed, optimizing long-term memory utilization while maintaining real-time guarantees during execution.
Data Source
AI summary
A component of a computing device, such as the kernel of an operating system, is arranged to identify real time processes running on the device and transparently lock the memory owned by such processes to avoid them being paged out. The kernel is also able to inspect all inter-process communications originated by the real time threads running in such processes, in order to ascertain what other processes they invoke, and, if they have the potential to block a real time operation, the kernel is arranged to lock the areas of memory these processes reference. This procedure operates recursively, and ensures that page faults which might affect the operation of any real time process do not occur.


