Network-Attached Memory Cache Controller for Cluster Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer clusters, existing technologies face challenges in efficiently managing and sharing memory resources across interconnected computers, leading to limitations in memory availability and access latency.

Innovation Solution

The implementation of a method and apparatus that define a physical memory range for each computer in a cluster, including a local memory range and a remote memory range allocated from another computer, allowing for remote direct memory access (RDMA) operations over a network to fetch data when it is not available locally, and utilizing a RAM cache controller to manage and maintain memory coherency between local and remote ranges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory is shared among computers in a cluster over a network, then memory availability and scalability are improved, but memory access latency increases compared to local RAM

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory access latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments memory into local memory ranges and remote memory ranges, allowing the system to maintain fast local access for frequently used data while providing access to larger remote memory pools when needed. The local RAM is divided into portions that serve as caches for remote memory, creating a hierarchical memory structure that balances speed and capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-fetching data from remote memory to local cache before it is actually needed. The RAM cache controller anticipates memory access patterns and loads data into local memory in advance, reducing the latency impact when remote memory is accessed.

Inventive Principle:
Principle #10Preliminary action

2Speed

If local RAM is used as cache for remote memory, then memory access speed is improved, but local memory capacity is reduced for other uses

Engineering Contradiction:
Improvememory access speedVSAvoidlocal memory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory management where the boundaries between local and remote memory ranges are not fixed but can be adjusted based on system conditions. The RAM cache controller dynamically manages which portions of local RAM serve as cache for remote memory, allowing flexible allocation that adapts to changing workload requirements and memory pressure conditions.

Inventive Principle:
Principle #15Dynamics

3Productivity

If remote memory ranges are allocated from other computers in the cluster, then memory resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improvememory resource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service mechanisms where each computer in the cluster autonomously manages its own memory ranges, including local and remote portions. The RAM cache controller on each system independently handles cache management, data fetching, and memory coherence without requiring centralized control, allowing the system to scale while maintaining manageable complexity at each node.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9648081B2Network-attached memory
Publication Date: 2017.05.09 MELLANOX TECHNOLOGIES LTD(IL)
  • US9648081B2 patent drawing
  • US9648081B2 patent drawing
  • US9648081B2 patent drawing

AI summary

A method for memory access is applied in a cluster of computers linked by a network. For a given computer, a respective physical memory range is defined including a local memory range within the local RAM of the given computer and a remote memory range allocated to the given compute within the local RAM of at least one other computer in the cluster, which is accessible via the network using the network interface controllers of the computers. When a memory operation is requested at a given address in the respective physical memory range, the operation is executed on the data in the local RAM of the given computer when the data at the given address are valid in the local memory range. Otherwise the data are fetched from the given address in the remote memory range to the local memory range before executing the operation on the data.