Virtual PCIe Memory Allocation for VMs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for managing memory in virtual machines rely on static allocation or require external tools, leading to inefficient resource utilization and lack of flexibility, as they cannot dynamically adjust memory allocation during the runtime of virtual machines.
Innovation Solution
A method and apparatus that enables dynamic memory allocation for virtual machines by using a virtual PCIe device to request memory from a host memory management module, allowing for self-contained memory management without external tools, through a virtual machine memory management module that communicates with a virtual machine manager and configures memory spaces according to user process requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If static memory allocation is used, then memory allocation is simple, but memory utilization efficiency deteriorates due to excessive pre-allocation
Solution Approach 1:
The patent implements dynamic memory allocation by introducing a memory management module that allows virtual machines to request and allocate memory spaces on-demand during runtime. The host memory management module receives allocation requests from virtual machines and dynamically assigns physical memory spaces, transforming the static allocation model into a dynamic one that adapts to actual memory needs, thereby improving memory utilization efficiency while maintaining allocation simplicity through automated management.
2Adaptability or versatility
If memory hot-plugging is used, then memory can be dynamically allocated, but system complexity deteriorates due to requirement of external management software
Solution Approach 1:
The patent implements a self-contained memory management system where the memory management module embedded within the virtual machine can independently initiate memory allocation requests without requiring external management software. The host memory management module automatically processes these requests and allocates memory spaces, enabling the system to serve itself and eliminating the need for additional external tools, thus maintaining adaptability while reducing system complexity.
3Loss of energy
If dynamic memory allocation is implemented, then memory utilization efficiency improves, but ease of operation deteriorates due to complex allocation management
Solution Approach 1:
The patent implements a feedback mechanism where the memory management module continuously monitors memory allocation requests from virtual machines and automatically adjusts memory space assignments. The host memory management module receives feedback from allocation requests, processes them according to available resources, and returns allocation results, creating a closed-loop system that maintains high memory utilization efficiency while keeping operations simple through automated decision-making and eliminating the need for manual intervention.
Data Source
AI summary
A method and apparatus for managing memory are provided. The method for managing memory includes: while a virtual machine is running, receiving, by a virtual machine memory management module, a memory allocation request sent by a user process in the virtual machine; sending, by the virtual machine memory management module according to the memory allocation request sent by the user process, the memory allocation request to a virtual PCIe device in a virtual machine manager to enable the virtual PCIe device to request memory from a host memory management module; and acquiring, by the virtual machine memory management module via the virtual PCIe device, a memory space allocated by the host memory management module and configuring the memory space to the user process. The method for managing memory can improve the efficiency of memory utilization.


