Network-Attached Memory Cache Controller for Cluster Latency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Productivity
If remote memory ranges are allocated from other computers in the cluster, then memory resource utilization is improved, but system complexity increases
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.
Data Source
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.


