Zero Copy Memory Reclaim via Application-Driven Offlining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Zero copy memory techniques can lead to performance degradation and memory exhaustion in applications due to unpredictable latency in network interface controller (NIC) processing, preventing memory reuse and causing applications to wait indefinitely for NIC completion.

Innovation Solution

Implementing application-based memory reclamation using timers or memory thresholds to monitor and manage memory states, allowing applications to request memory offlining and unlock virtual memory pages, enabling reuse and modification without impacting pending zero copy transmissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If zero copy technique is used to eliminate data copying overhead, then transport overhead is reduced, but application performance degrades due to unpredictable NIC processing latency

Engineering Contradiction:
Improvetransport overheadVSAvoidapplication performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The application proactively monitors memory usage and initiates memory reclamation requests before memory exhaustion occurs. By using timers or memory threshold monitoring, the application performs preliminary actions to reclaim memory that is no longer needed for zero copy transmissions, preventing performance degradation and memory exhaustion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through timers and memory threshold monitoring that continuously track memory usage states. When memory usage exceeds thresholds or timers indicate prolonged NIC processing, the system automatically triggers memory reclamation, creating a closed-loop control system that adapts to varying NIC processing latencies.

Inventive Principle:
Principle #23Feedback

2Reliability

If the application waits for NIC completion before reclaiming memory, then data integrity is ensured, but memory exhaustion occurs due to prolonged memory unavailability

Engineering Contradiction:
Improvedata integrityVSAvoidavailable memory
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The application monitors memory usage and initiates reclamation requests in advance, rather than waiting passively for NIC completion. This preliminary action allows the system to proactively manage memory resources while ensuring integrity through coordinated unpinning operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The application autonomously monitors its own memory usage and triggers reclamation operations based on its observed state. The application serves itself by detecting when memory can be safely reclaimed without requiring external intervention, thereby maintaining both data integrity and memory availability.

Inventive Principle:
Principle #25Self-service

3Device complexity

If the operating system manages memory reclamation, then centralized control is maintained, but application performance suffers due to OS wait states

Engineering Contradiction:
Improvememory management controlVSAvoidapplication processing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The application takes responsibility for monitoring its own memory usage and initiating reclamation requests, rather than passively waiting for OS-managed reclamation. This self-service approach allows the application to optimize its memory management timing based on its specific needs and NIC processing patterns.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The application performs preliminary monitoring of memory usage and proactively initiates reclamation requests before memory exhaustion or performance degradation occurs. This shifts the timing control from OS-scheduled reclamation to application-driven reclamation, improving responsiveness.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9921875B2Zero copy memory reclaim for applications using memory offlining
Publication Date: 2018.03.20 RED HAT ISRAEL
  • US9921875B2 patent drawing
  • US9921875B2 patent drawing
  • US9921875B2 patent drawing

AI summary

An application sends a first request to an operating system to provide a hardware device with direct memory access to contents of a virtual memory location in an application memory of the application, wherein the virtual memory location is mapped to a physical memory location. In response to determining that the virtual memory location is to be reclaimed, the application sends a second request to the operating system to unmap the physical memory location from the virtual memory location. The second request causes the virtual memory location to be mapped to a new physical memory location. Responsive to receiving an indication from the operating system that the request to unmap the physical memory location has completed, the application then accesses the new physical memory location mapped to the virtual memory location.