Cache Management Hierarchy for Distributed Data Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing a shared cache across a large number of processing nodes in data storage systems becomes inefficient due to excessive communication and computational resource consumption, as all nodes collectively manage cache access history, leading to congestion and resource overload.

Innovation Solution

Implementing a cache management hierarchy where only a subset of processing nodes act as cache managers, with other nodes collecting and aggregating cache access information, reducing the number of communications and resource usage by orders of magnitude.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all processing nodes collectively manage cache access history, then cache management comprehensiveness is improved, but communication overhead and computational resource consumption increase excessively

Engineering Contradiction:
Improvecache management comprehensivenessVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the cache management function into segments by designating specific processing nodes as cache managers for specific logical cache areas. Each cache manager independently manages its assigned area, while other nodes only collect and aggregate access information locally. This segmentation reduces the scope of communication required, as nodes no longer need to exchange information with all other nodes, only with their designated cache manager or locally aggregate data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary role (cache manager) that acts as a mediator between processing nodes and the cache system. Cache managers centralize the management of cache access history for their respective logical areas, receiving aggregated information from multiple nodes and making eviction decisions. This intermediary structure eliminates the need for all nodes to directly communicate with each other, significantly reducing communication overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If all processing nodes collectively manage cache access history, then cache eviction decisions are more accurate, but computational resource consumption increases excessively

Engineering Contradiction:
Improvecache eviction accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent segments the computational workload of cache management by assigning specific logical cache areas to specific cache managers. Each node only performs aggregation computations for its local access information and communicates with its designated cache manager, rather than all nodes performing comprehensive analysis of all cache access patterns. This segmentation distributes and reduces the overall computational burden while maintaining eviction accuracy through specialized cache manager nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Processing nodes perform self-service by locally aggregating their own cache access information before communicating with cache managers. This local aggregation reduces the volume of data that needs to be processed centrally, as nodes pre-process their own access patterns and only send summarized information to cache managers, thereby reducing overall computational resource consumption in the system.

Inventive Principle:
Principle #25Self-service

3Productivity

If all processing nodes exchange cache access information, then shared cache performance is optimized, but network congestion increases

Engineering Contradiction:
Improveshared cache performanceVSAvoiddata exchange volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the data exchange process by organizing processing nodes into groups, each with a designated cache manager. Nodes within a group exchange information only with their local cache manager or aggregate locally before external communication. This segmentation dramatically reduces the total volume of data exchanged across the network, as information does not need to be broadcast to or collected from all nodes in the system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges cache access information from multiple processing nodes at the cache manager level, which then processes the combined information for eviction decisions. This merging approach consolidates data exchange, as the cache manager receives aggregated information from multiple nodes rather than each node independently exchanging information with all others, thereby reducing overall network traffic while maintaining comprehensive cache performance optimization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11169927B2Efficient cache management
Publication Date: 2021.11.09 EMC IP HLDG CO LLC
  • US11169927B2 patent drawing
  • US11169927B2 patent drawing
  • US11169927B2 patent drawing

AI summary

A distributed cache is managed. In some embodiments, only a subset of a plurality of processing nodes may be designated as cache managers that manage the cache access history of a logical area, including having an exclusive right to control the eviction of data from cache objects of the logical area. In such embodiments, all of the processing nodes may collect cache access information, and communicate the cache access information to the cache managers. Some of the processing nodes that are not cache managers may collect cache access information from a plurality of the other non-cache managers. Each such processing node may combine this communicated cache access information with the cache access information of the processing node itself, sort the combined information per cache manager, and send the resulting sorted cache access information to the respective cache managers. The processing nodes may be arranged in a cache management hierarchy.