Interposing Library for Page Size Dependency Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems face challenges in detecting and managing page size dependencies between user-level and kernel-level applications, which can lead to functional issues when the default page size is modified, as these dependencies are often subtle and difficult to detect using static analysis.
Innovation Solution
An interposing library is used to intercept and modify calls between user-level applications and the kernel, emulating a non-native page size without changing the native page size, allowing for the identification of applications with page size dependencies by providing a modified interface that operates on the native page size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the page size is increased to improve TLB coverage and system performance, then memory mapping efficiency improves, but applications with page size dependencies cease to function correctly
Solution Approach 1:
The patent introduces an interposing library as an intermediary layer between user-level applications and the kernel. This library intercepts system calls related to memory management and emulates the requested page size by performing additional translations and adjustments. The interposing library allows applications to operate as if a larger page size is available while the kernel continues to use the native page size, thus resolving the contradiction between improved memory efficiency and application compatibility.
2Ease of manufacture
If static analysis is used to detect page size dependencies, then analysis simplicity is maintained, but detection accuracy is insufficient due to subtle and implicit dependencies
Solution Approach 1:
The patent creates a copy or emulation of the page size interface through the interposing library. Instead of attempting to statically analyze and detect subtle dependencies, the system creates a virtual copy of the desired page size environment. Applications are run in this emulated environment, and their behavior is observed. This dynamic copying approach allows for accurate detection of dependencies that would be invisible to static analysis tools.
3Adaptability or versatility
If the kernel is modified to support alternate page sizes for testing, then testing capability is improved, but kernel complexity increases
Solution Approach 1:
The patent extracts the page size emulation functionality from the kernel and places it in a separate user-level interposing library. This extraction allows the kernel to remain unchanged and maintain its simplicity, while the testing capability is provided by the external library that intercepts and modifies system calls. The complex emulation logic is isolated in the interposing library, preventing kernel complexity from increasing.
Data Source
AI summary
A method for checking page size dependency including generating an interposing library comprising a first modified interface, wherein the first modified interface is dependent on a native page size, intercepting a call into a kernel by the interposing library, wherein the call is dependent on a non-native page size, modifying the call using the first modified interface to obtain a modified call, and generating a response to the modified call by the kernel using the native page size.


