Dynamic Cache Allocation for Remote Memory Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network accessible storage devices are slower than local storage devices, leading to underperformance, especially when scaling up to incorporate a high number of computers accessible over a network, even when using remote direct memory access.

Innovation Solution

Implementing a dynamic caching system in client devices with remote memory access to servers, which involves requesting and allocating memory for caching metadata related to access operations between the client and server, improving communication efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If remote direct memory access is used to access network storage devices, then direct memory access between computers is achieved, but access speed is significantly slower compared to local storage access

Engineering Contradiction:
Improveaccess speedVSAvoidaccess time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent pre-allocates and pre-populates cache memory with metadata from remote storage devices before actual data access operations occur. This preliminary caching of directory structures, file metadata, and access patterns allows subsequent data access operations to proceed faster by reducing the frequency and latency of remote memory access operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a local cache memory as an intermediary layer between the local computer's memory and the remote storage device. This cache acts as a buffer that stores frequently accessed metadata locally, mediating between fast local memory and slow remote storage to reduce overall access time and improve effective data transfer speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If more computers are incorporated into the network to scale up the system, then network accessibility increases, but aggregate access performance deteriorates due to accumulated access delays

Engineering Contradiction:
Improvenetwork scalabilityVSAvoidaggregate access performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the remote storage access operations by creating separate cache memory regions for different remote storage devices and different types of metadata. This segmentation allows multiple computers to access different portions of cached data independently, reducing contention and allowing the system to scale to more computers without proportionally increasing aggregate access delays.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10728331B2Techniques for dynamic cache use by an input/output device
Publication Date: 2020.07.28 NVIDIA CORP
  • US10728331B2 patent drawing
  • US10728331B2 patent drawing
  • US10728331B2 patent drawing

AI summary

A system and method for dynamic caching by a client device having remote memory access to a server. The system includes: a processing circuitry; and at least one memory, the at least one memory containing instructions that, when executed by the processing circuitry, configure the system to: configure a network interface of the client device to: request a memory allocation of at least a portion of a storage of the client device; receive, in real-time, the requested memory allocation of the client device storage; and store, in the allocated at least a portion of the client device storage, at least a first portion of cached metadata, wherein the cached metadata corresponds to at least an access operation between the client device and the server.