Distributed Cache Data Relocation for Access Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems lack efficient mechanisms for managing and optimizing data access and caching in distributed shared memory environments, leading to suboptimal performance and scalability in processing and storing information across multiple computing systems.

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 efficient data access, caching, and replication across the network, with policies governing cache insertion and eviction to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored in distributed shared memory across multiple computing systems, then scalability and fault tolerance are improved, but data access speed and system complexity worsen

Engineering Contradiction:
Improvefault toleranceVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The distributed shared memory is segmented into multiple cache regions distributed across different computing systems, allowing data to be divided and stored in proximity to accessing processes while maintaining logical unity through virtual memory addressing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory management intermediary layer is introduced that translates virtual memory addresses to physical locations across the distributed system, managing cache coherence and data movement transparently to applications while optimizing access patterns

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If data is cached in distributed memory locations, then data access speed is improved, but system complexity and management difficulty worsen

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

Solution Approach 1:

The distributed cache system provides multiple functions including caching, load balancing, and fault tolerance through a unified interface, allowing the same infrastructure to serve multiple purposes without requiring separate management systems

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements automatic cache management where the memory management layer autonomously handles cache insertion, eviction, and relocation based on usage patterns, reducing the need for manual intervention and complex configuration

Inventive Principle:
Principle #25Self-service

3Productivity

If cache memory is dynamically managed across distributed systems, then productivity and scalability are improved, but loss of information and data consistency worsen

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements feedback mechanisms where memory access patterns are monitored and used to dynamically adjust cache placement and retention policies, ensuring frequently accessed data remains in cache while maintaining consistency through coherence protocols

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Data is pre-loaded into the distributed cache before actual access occurs based on predictive algorithms that analyze usage patterns, reducing access latency while maintaining data consistency through coordinated insertion protocols

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9491254B2Location and relocation of data within a cache
Publication Date: 2016.11.08 DELL PROD LP
  • US9491254B2 patent drawing
  • US9491254B2 patent drawing
  • US9491254B2 patent drawing

AI summary

In one embodiment, a computer system includes a cache having one or more memories and a metadata service. The metadata service is able to receive requests for data stored in the cache from a first client and from a second client. The metadata service is further able to determine whether the performance of the cache would be improved by relocating the data stored in the cache. The metadata service is further operable to relocate the data stored in the cache when such relocation would improve the performance of the cache.