Cost Based Cache Eviction for Heterogeneous Computational Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache eviction strategies, such as LRU and LFU, are inefficient when dealing with heterogeneous computational costs across cache entries, as they do not account for the varying resources used to generate data, leading to increased system work during cache misses.

Innovation Solution

Implement a cost-based management system that calculates and utilizes a cost measure for each cache entry, prioritizing eviction based on the lowest cost to recompute, thereby reducing overall system work by preserving higher-cost entries in the cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional cache eviction strategies (LRU, LFU, FIFO) are used, then cache management is simple and fast, but system work increases during cache misses due to heterogeneous computational costs

Engineering Contradiction:
Improvesystem efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the eviction parameter from simple metrics (access time, access count) to a composite cost parameter that includes computational expense. Each cache entry is tagged with a cost value representing the computational resources required to regenerate it, and eviction decisions are based on selecting entries with the lowest cost values, thereby reducing system work during cache misses.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If cache entries with lowest computational cost are prioritized for eviction, then system work during cache misses is reduced, but cache management complexity increases due to cost calculation and tracking

Engineering Contradiction:
Improvecomputational workVSAvoidcache management overhead
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system performs preliminary action by calculating and storing the computational cost value for each cache entry at the time of insertion or regeneration. This pre-calculated cost information is then used during eviction decisions, avoiding the need to perform complex cost analysis at eviction time and reducing the overhead of cache management.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If homogeneous cache eviction is used (treating all entries equally), then cache management is straightforward, but it fails to account for varying resources used to generate different data types

Engineering Contradiction:
Improvecache eviction simplicityVSAvoidhandling heterogeneous data costs
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by assigning different cost characteristics to different cache entries based on their specific computational requirements. Instead of treating all cache entries uniformly, the system evaluates and tags each entry with its own cost value, allowing the cache management to adapt locally to the specific needs of each data type while maintaining a unified eviction framework.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11940923B1Cost based cache eviction
Publication Date: 2024.03.26 AMAZON TECH INC
  • US11940923B1 patent drawing
  • US11940923B1 patent drawing
  • US11940923B1 patent drawing

AI summary

Technologies are described for cost based management of cache entries stored in a computer memory. In one example, a plurality of cache entries may be stored at a cache in a computer memory and the cache entries may have a cost measure associated with individual cache entries. A cost measure may represent a computing cost of an application to generate a cache entry. An incoming cache entry may be received at the cache, where the incoming cache entry has a cost measure associated with the incoming cache entry. In response to receiving the incoming cache entry, a cache entry that has a lower cost measure than the cost measure for other cache entries may be identified for eviction from the cache. The cache entry identified for eviction may be evicted from the cache, and the incoming cache entry may be written into the cache stored in the computer memory.