Distributed Shared Memory Cache Solvency Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems lack an efficient mechanism for distributed shared memory access, leading to suboptimal performance in caching and data management across multiple computing systems, particularly in scenarios requiring fast data access and synchronization.

Innovation Solution

A distributed shared memory system is implemented, utilizing a clustered memory cache that aggregates physical memory from multiple computing systems, managed by local memory managers and a metadata service, enabling clients to access and manage data across the network with RDMA and policy-driven cache insertion and eviction strategies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a distributed shared memory system is implemented to enable fast data access across multiple computing systems, then data access speed and efficiency are improved, but system complexity increases due to the need for coordinated memory management across multiple nodes

Engineering Contradiction:
Improvedata access speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The distributed shared memory system is segmented into multiple independent cache nodes, each with its own local memory manager. Each node manages a portion of the total cache memory independently, allowing parallel access operations across nodes while maintaining individual node simplicity. This segmentation enables fast data access across the distributed system without requiring each node to handle the complexity of the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A metadata service acts as an intermediary between clients and the distributed cache nodes. The metadata service maintains information about data location and cache state across all nodes, enabling clients to access distributed memory efficiently without directly managing the complexity of multiple nodes. This intermediary layer abstracts the system complexity from both clients and individual cache nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If cache memory is aggregated from multiple computing systems to increase available cache capacity, then cache size and data storage capability are improved, but maintaining cache solvency becomes more difficult due to distributed memory management

Engineering Contradiction:
Improvecache capacityVSAvoidcache management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where each local memory manager monitors its own cache solvency status and reports to the metadata service. The metadata service aggregates this information and coordinates evictions across nodes when the global solvency threshold is approached. This feedback loop enables the system to maintain cache solvency across distributed nodes without requiring complex centralized control, as each node autonomously responds to solvency conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Each cache node is equipped with a local memory manager that autonomously manages its own cache segments, including handling evictions and maintaining solvency for its portion of the cache. This self-service capability allows each node to independently maintain cache integrity without requiring constant intervention from central control, simplifying the overall management of distributed cache capacity.

Inventive Principle:
Principle #25Self-service

3Productivity

If policy-driven cache insertion and eviction strategies are implemented to optimize cache usage, then cache efficiency and data retrieval performance are improved, but the overhead of policy management and coordination increases

Engineering Contradiction:
Improvecache efficiencyVSAvoidmanagement overhead
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The system implements partial policy enforcement at each local memory manager, where nodes apply eviction and insertion policies independently based on their local cache state and solvency requirements. Rather than requiring centralized coordination for every cache operation, each node performs partial policy actions autonomously. This approach maintains cache efficiency through policy-driven management while minimizing coordination overhead by avoiding excessive central control for routine operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9549037B2System and method for maintaining solvency within a cache
Publication Date: 2017.01.17 DELL PROD LP
  • US9549037B2 patent drawing
  • US9549037B2 patent drawing
  • US9549037B2 patent drawing

AI summary

In one embodiment, a computing system includes a cache including one or more memories and a cache manager. The cache manager is able to determine an amount of accessible data for a portion of the cache associated with the cache manager; compare the amount of accessible data to a threshold value; determine, for one or more clients associated with the cache manager, an amount of releasable data if the amount of accessible data exceeds the threshold value; communicate, to one or more clients associated with the cache manager, the amount of releasable data for the client; receive from one or more clients associated with the cache manager information associated with data released by the one or more clients; and determine an amount of data released by the one or more clients associated with the cache manager.