Virtual Machine Memory Allocation Recycling via Dedicated Pools
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In shared virtualized hosting environments, memory scrubbing is resource-intensive and inefficient, as it is often required before and after memory allocation to prevent information leakage between virtual machine instances, which can lead to performance issues and resource wastage.
Innovation Solution
Implementing memory allocation recycling by marking memory portions for reuse without scrubbing when a virtual machine reboots, allowing these portions to be reallocated directly to the same virtual machine, thereby avoiding unnecessary scrubbing and resource expenditure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory is scrubbed after every deallocation and before every allocation to prevent information leakage, then data security is improved, but resource consumption and processing time increase significantly
Solution Approach 1:
The patent applies local quality by differentiating memory management approaches based on the specific virtual machine context. Memory allocated to a virtual machine that has crashed or been forcibly stopped undergoes scrubbing, while memory allocated to normally terminating virtual machines does not require scrubbing. This selective approach maintains security where needed while avoiding unnecessary resource consumption.
Solution Approach 2:
The patent inverts the conventional memory management approach by assuming memory does not need scrubbing unless there is evidence of abnormal termination. Instead of scrubbing all memory allocations, the system tracks virtual machine termination status and only applies scrubbing to cases where security risks are present, effectively inverting the default security model.
2Reliability
If memory scrubbing is performed before and after every memory allocation, then information leakage prevention is improved, but processing speed and system performance deteriorate
Solution Approach 1:
The system applies different memory management treatments to different virtual machine instances based on their termination status. Memory from virtual machines that terminated normally is reused without scrubbing, maintaining high processing speed, while memory from crashed or forcibly stopped virtual machines undergoes scrubbing to prevent information leakage.
Solution Approach 2:
The patent implements partial action by performing scrubbing only on a subset of memory allocations - specifically those from virtual machines that crashed or were forcibly stopped. This partial application of the scrubbing operation maintains security for high-risk cases while avoiding the performance penalty of universal scrubbing.
3Reliability
If dedicated memory pools are allocated to each virtual machine instance, then information leakage risk is reduced, but memory resource utilization efficiency decreases
Solution Approach 1:
The patent implements a hybrid memory management system where memory is effectively dedicated to virtual machines that crash or are forcibly stopped, while memory from normally terminating virtual machines can be reused. This selective dedication approach maintains security isolation where needed while enabling resource sharing to improve overall utilization efficiency.
Solution Approach 2:
The system segments memory management into different categories based on virtual machine termination status. Memory from abnormal terminations is isolated and scrubbed, while memory from normal terminations is pooled for reuse. This segmentation allows the system to balance security requirements with resource efficiency by treating different memory pools differently.
Data Source
AI summary
Embodiments are disclosed for recycling memory from a memory pool dedicated to a virtual machine instance. For example, memory sub-pools can be pre-allocated to respective virtual machine instances. Memory scrubbing can be ordinarily performed to avoid data leakage between different customers. However, scrubbing can be inhibited when a given virtual machine reclaims memory previously released to the dedicated pool because the memory remains dedicated to the instance. Further features, such as partition and merge of sub-pools can be supported. Control of the features can be accomplished via API calls as part of a web service.


