RDMA Memory De-duplication Offloading for Busy Compute Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments, the inefficiency in memory resource utilization due to storage of duplicate memory pages across compute nodes limits the number of Virtual Machines that can be hosted concurrently, as busy nodes lack sufficient CPU resources for effective de-duplication, leading to poor or delayed mitigation of duplicates and degraded VM performance.

Innovation Solution

Delegating the task of identifying and evicting duplicate memory pages from one compute node to another with free CPU resources using Remote Direct Memory Access (RDMA) protocols, offloading the scanning process and reducing CPU load, while calculating hash values using hardware in Network Interface Cards to efficiently identify and manage duplicate pages across the node cluster.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a compute node performs de-duplication scanning of memory pages using traditional methods, then duplicate memory pages can be identified and evicted, but the CPU resources of busy nodes are insufficient leading to poor or delayed mitigation of duplicates

Engineering Contradiction:
Improvede-duplication efficiencyVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the de-duplication scanning function from the compute node's CPU by implementing a separate scanning module that operates independently. This scanning module can be deployed as a standalone service or on dedicated hardware, separating the memory scanning task from the compute node's main processing responsibilities, thereby resolving the CPU resource conflict.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary scanning module that acts as a mediator between compute nodes and memory pages. This scanning module receives scanning requests, performs the actual memory page analysis using optimized algorithms, and returns results to the compute node without burdening the compute node's CPU with the scanning workload.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple compute nodes store duplicate memory pages, then each node has sufficient local memory capacity, but memory resource utilization efficiency decreases limiting the number of Virtual Machines that can be hosted concurrently

Engineering Contradiction:
ImproveVirtual Machine hosting capacityVSAvoidmemory resource utilization
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges memory resources across multiple compute nodes by implementing a cluster-wide memory pooling mechanism. The scanning module identifies duplicate memory pages across nodes and enables shared access to these pages, effectively combining the memory capacity of multiple nodes into a unified resource pool that can be dynamically allocated to Virtual Machines.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes memory pages universal by enabling the same memory page to be accessed by multiple compute nodes simultaneously. Through the scanning module's identification of duplicate pages and implementation of shared memory references, a single physical memory page can serve multiple Virtual Machines across different compute nodes, increasing overall memory utilization efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If de-duplication scanning is performed frequently to mitigate duplicates, then memory utilization improves, but the scanning process consumes significant CPU resources and degrades VM performance

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidVirtual Machine performance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements periodic scanning with adaptive intervals rather than continuous or fixed-frequency scanning. The scanning module dynamically adjusts the scanning frequency based on system conditions, memory change rates, and workload characteristics, performing scans at optimal intervals that balance memory utilization improvement with minimal impact on Virtual Machine performance.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent employs selective scanning that skips already-analyzed memory pages and focuses only on modified or potentially duplicate pages. The scanning module uses change tracking mechanisms to identify candidate pages for scanning, rushing through the identification process by concentrating resources on relevant pages rather than performing exhaustive scans of entire memory spaces.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS10061725B2Scanning memory for de-duplication using RDMA
Publication Date: 2018.08.28 MELLANOX TECHNOLOGIES LTD(IL)
  • US10061725B2 patent drawing
  • US10061725B2 patent drawing
  • US10061725B2 patent drawing

AI summary

A method for storage includes storing multiple memory pages in a memory of a first compute node. Using a second compute node that communicates with the first compute node over a communication network, duplicate memory pages are identified among the memory pages stored in the memory of the first compute node by directly accessing the memory of the first compute node. One or more of the identified duplicate memory pages are evicted from the first compute node. The identification of duplicate pages is performed by a node selected responsive to available processing or bandwidth resources.