Virtual Machine Memory-Page Translation for Software Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software programs configured for a specific memory page size often face execution issues when deployed in a host computing environment using a different page size, leading to compatibility problems.
Innovation Solution
Deploying a virtual machine configured to match the software program's memory page size within the host environment, utilizing a hypervisor to translate between different page sizes, and optionally using containers for additional isolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software programs are deployed in a host computing environment with a different memory page size, then the host environment can support larger page sizes for improved performance, but the software program experiences execution compatibility issues
Solution Approach 1:
The patent introduces a translation layer (virtual machine or kernel module) that acts as an intermediary between the software program and the host computing environment. This intermediary translates memory access operations from the software's expected page size to the host's actual page size, enabling compatibility while allowing the host to use larger pages for performance improvement.
Solution Approach 2:
The patent dynamically changes the memory page size parameter at runtime based on the software program's requirements. The system can switch between different page sizes (e.g., 4KB, 16KB, 64KB) depending on what the software expects, allowing the same host environment to support multiple page size requirements while maintaining optimal performance.
2Productivity
If the host computing environment uses a fixed large page size, then memory access performance is improved, but software programs requiring smaller page sizes cannot execute correctly
Solution Approach 1:
The patent makes the memory page size dynamic rather than fixed. The system can adjust the page size at runtime based on the software program's requirements, allowing the host environment to adapt between different page sizes (4KB, 16KB, 64KB) to maintain both performance and compatibility across different software workloads.
Solution Approach 2:
The patent creates a universal host computing environment that can support multiple page size requirements through a translation layer. This allows the same host system to serve as a compatible runtime for software programs designed for different page sizes while maintaining the ability to use larger pages for performance-critical operations.
3Reliability
If a virtual machine is deployed to provide page size translation, then software compatibility is maintained, but system complexity and resource overhead increase
Solution Approach 1:
The patent extracts the page size translation functionality from a full virtual machine into a lighter-weight kernel module or system library. This extraction removes unnecessary virtualization overhead while retaining the essential page size translation capability, reducing system complexity and resource consumption while maintaining compatibility.
Data Source
AI summary
Techniques for executing a software program that uses a different memory-page size than its host computing environment are described. As one example, a system can deploy a virtual machine in a host computing environment of the computing device. The host computing environment can include a host operating system that is configured to use a first memory page size. The virtual machine can be configured to use a second memory page size that is different from the first memory page size. Based on a software program being configured to use the second memory page size, the system can execute the software program in the virtual machine.


