Data Hashing Engine Offloads CPU Load for VM Page Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems running multiple virtual machines face memory resource constraints due to inefficiencies in hash operations for page sharing, particularly because hypervisors perform these operations on the CPU, which can lead to resource bottlenecks.
Innovation Solution
Implementing a data hashing engine (DHE) within the memory sub-system to offload hash operations from the host system to the memory sub-system, allowing the host to focus on other tasks while the DHE performs hash operations on data stored in the memory sub-system, generating unique signatures for page sharing optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hash operations are performed on the CPU by the host system, then page sharing functionality is achieved, but computational resources are consumed and performance bottlenecks occur
Solution Approach 1:
The patent extracts the hash operation functionality from the host system CPU and relocates it to a dedicated data hashing engine (DHE) within the memory sub-system. This separation allows the CPU to focus on other tasks while the DHE handles hash operations independently, resolving the contradiction between achieving page sharing and consuming computational resources.
Solution Approach 2:
The data hashing engine acts as an intermediary component between the host system and the memory devices. It receives data from the memory sub-system, performs hash operations, and returns results to the host, thereby enabling page sharing functionality without burdening the CPU with computational load.
2Ease of operation
If hash operations are offloaded to the memory sub-system, then host system resources are freed for other operations, but the memory sub-system must perform additional processing functions
Solution Approach 1:
The data hashing engine within the memory sub-system performs multiple functions: it manages hash operations for page sharing, maintains translation tables, and coordinates with the host system. This multi-functionality allows the memory sub-system to handle both traditional memory operations and hash operations, freeing host resources while managing the increased complexity internally.
3Quantity of substance
If multiple virtual machines share memory pages, then memory resource utilization improves, but hash operation overhead increases
Solution Approach 1:
The data hashing engine performs hash operations in advance when pages are allocated or modified, generating and storing translation table entries before they are needed for page sharing decisions. This preliminary action reduces the time required during actual page sharing operations, allowing multiple virtual machines to share memory pages efficiently without incurring hash operation overhead during runtime.
Data Source
AI summary
A method includes receiving a command, from a host, to an address of a memory device, the command comprising a different address. The method also includes determining based on the address whether to perform a hash operation and, responsive to determining to perform the hash operation, accessing data stored in memory cells having the different address. The method further includes performing the hash operation using the data to generate a signature for the data and providing the host access to the signature to determine whether the data is duplicate data.


