Distributed Shared Memory Cache Management via Local Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current information handling systems face challenges in efficiently processing and storing data across multiple physically distinct computing systems, particularly in managing shared memory resources in a distributed network, which affects data access speed and availability.
Innovation Solution
A distributed shared memory system is implemented, where physical memory from multiple computing systems is aggregated and managed by local memory managers, allowing clients to access a unified logical memory resource through a network, with features like RDMA, metadata services, and policy managers to control cache insertion and eviction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If physical memory from multiple computing systems is aggregated into a distributed shared memory system, then data access speed and availability are improved, but device complexity increases
Solution Approach 1:
The distributed shared memory system segments memory management responsibilities by assigning local memory managers to each computing system. Each memory manager independently handles cache insertion, eviction, and data tracking for its local memory, dividing the complex system into manageable segments that operate autonomously while contributing to the unified memory pool.
Solution Approach 2:
The system introduces metadata services as intermediary components that mediate between local memory managers and clients. These metadata services maintain the mapping between logical memory addresses and physical locations across the distributed system, handling address translation and coordination without requiring direct complex interactions between all system components.
2Reliability
If cache insertion and eviction policies are implemented to manage memory resources, then data availability is improved, but device complexity increases
Solution Approach 1:
Local memory managers implement self-service cache management by autonomously making decisions about cache insertion and eviction based on local policies. Each memory manager independently evaluates whether to insert new data into its local cache or evict existing data, eliminating the need for centralized control and reducing overall system complexity while maintaining high data availability.
Solution Approach 2:
The system manages complexity by allowing flexible parameter changes in cache policies rather than rigid fixed rules. Memory managers can adjust insertion and eviction parameters dynamically based on local workload characteristics, enabling optimized performance without requiring complex centralized management of every detail.
3Adaptability or versatility
If distributed shared memory is implemented across multiple computing systems, then scalability is improved, but network communication overhead increases
Solution Approach 1:
The system applies local quality by making each local memory manager independently optimized for its specific computing system's workload and characteristics. Each memory manager tracks local access patterns and makes insertion/eviction decisions based on local data access behavior, reducing the need for cross-system network communication while maintaining scalability through the distributed architecture.
Data Source
AI summary
In one embodiment, a computing system includes a cache having one or more memories and a cache manager. The cache manager is able to receive a request to write data to a first portion of the cache, write the data to the first portion of the cache, update a first map corresponding to the first portion of the cache, receive a request to read data from the first portion of the cache, read from a storage communicatively linked to the computing system data according to the first map, and update a second map corresponding to the first portion of the cache. The cache manager may also be able to write data to the storage according to the first map.


