Phased Distributed LRU Cache Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing a shared cache in data storage systems is complicated due to the need for efficient eviction of data, especially when multiple computing nodes share the cache, as existing methods like LRU algorithms require slow serial remote memory accesses and are computationally costly, and may lead to disjoint lists of recently used data.

Innovation Solution

Implementing a phased distributed management system where each computing node maintains an LRU FIFO queue and hash tables for local cache objects, with logic to distribute access information and update records based on temporal phases, using modulo arithmetic for ownership and allocating portions of local caches as ownership areas, to efficiently manage cache eviction and avoid disjoint lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional LRU algorithms are used for shared cache management, then cache eviction can be performed, but slow serial remote memory accesses and high computational costs occur

Engineering Contradiction:
Improvecache eviction efficiencyVSAvoidremote memory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The shared cache is divided into multiple ownership areas, with each area assigned to a specific computing node. Each node maintains local LRU FIFO queues and hash tables for its owned cache objects, eliminating the need for serial remote memory accesses across the entire cache. This segmentation allows parallel local operations while maintaining shared cache functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Hash tables serve as intermediary data structures that map cache object identifiers to their LRU queue positions. These hash tables are distributed among computing nodes and allow efficient local lookup and update operations without requiring remote memory accesses to the actual cache objects, significantly reducing access time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional LRU algorithms are used for shared cache management, then cache eviction can be performed, but computationally costly operations occur

Engineering Contradiction:
Improvecache eviction efficiencyVSAvoidcomputational cost
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

By dividing the cache management workload into separate ownership areas assigned to different computing nodes, each node performs LRU operations only on its local cache objects. This segmentation eliminates the need for computationally expensive global LRU calculations across all cache objects, reducing overall computational cost while maintaining eviction efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each computing node maintains local copies of LRU FIFO queues and hash tables for the cache objects it owns. These local copies allow nodes to perform update and eviction operations without accessing remote memory, significantly reducing computational overhead and energy consumption compared to centralized LRU management.

Inventive Principle:
Principle #26Copying

3Loss of time

If distributed cache management is implemented, then remote memory accesses are reduced, but maintaining accurate LRU information across nodes becomes complex

Engineering Contradiction:
Improveremote memory access timeVSAvoiddistributed coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache is segmented into ownership areas with clear boundaries, and each node is responsible for maintaining LRU information only for its owned objects. This segmentation simplifies distributed coordination by eliminating the need for nodes to track and synchronize LRU information for all cache objects, reducing system complexity while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Hash tables act as intermediary structures that localize LRU information management. Each node maintains hash tables mapping cache object IDs to LRU queue positions for its owned objects, allowing accurate LRU tracking without complex inter-node communication. The hash tables serve as local mediators that eliminate the need for centralized LRU management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10102147B1Phased based distributed LRU for shared cache systems
Publication Date: 2018.10.16 EMC IP HLDG CO LLC
  • US10102147B1 patent drawing
  • US10102147B1 patent drawing
  • US10102147B1 patent drawing

AI summary

In a system in which a plurality of computing elements share a cache, each computing element owns a stripe of the cache. Each stripe contains cache objects that are accessible to all computing elements but managed only by the owning computing element. Each computing element maintains an LRU FIFO queue in local memory for the cache objects owned by that computing element. Each computing element also maintains a separate hash table in local memory for each other computing element. The hash tables indicate access to cache objects that are owned by those other computing elements. Each computing element updates its LRU FIFO queue when it accesses cache objects that it owns. The hash tables are periodically distributed by all computing elements via RDMA so that the LRU FIFO queues of all computing elements can be updated based on accesses to owned cache objects by other non-owner computing elements.