Dynamic Cache Partitioning for Hit Rate Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in dynamically optimizing cache sizes due to the unpredictability of workloads and limited physical cache resources, leading to inadequate resource utilization and potential Service Level Agreement (SLA) infringement, as existing methods rely on costly experimentation or conservative heuristics.

Innovation Solution

A method that estimates potential cache hit gains and losses for each cache partition by using data structures to determine optimal size adjustments, balancing increases and decreases to maximize overall cache hit rates while ensuring SLA compliance, employing the Least Recently Used (LRU) eviction policy and real-time monitoring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache size is increased to improve hit rates, then cache performance is improved, but physical cache resources are depleted and other cache partitions suffer

Engineering Contradiction:
Improvecache hit rateVSAvoidavailable cache resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic cache partitioning where the size of each cache partition is not fixed but can be adjusted in real-time based on current workload conditions. The system continuously monitors cache performance metrics and automatically redistributes cache resources among partitions, allowing each partition to expand or contract its size dynamically to optimize overall cache hit rates while fully utilizing available physical cache resources.

Inventive Principle:
Principle #15Dynamics

2Productivity

If cache partition sizes are adjusted dynamically, then cache performance is optimized, but system complexity increases

Engineering Contradiction:
Improvecache throughputVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs a feedback-driven cache management system that continuously monitors cache performance metrics such as hit rates and workload patterns. Based on this feedback, the system automatically adjusts cache partition sizes to optimize performance. The feedback loop includes measuring current cache performance, comparing it against targets, and making automated adjustments to partition sizes, thereby reducing the need for complex manual configuration while maintaining high productivity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache management system operates autonomously by self-adjusting partition sizes based on monitored performance metrics without requiring external intervention. The system automatically detects performance degradation or suboptimal resource allocation and reconfigures cache partitions accordingly, enabling the cache subsystem to service itself and reducing operational complexity.

Inventive Principle:
Principle #25Self-service

3Reliability

If cache resources are over-allocated to meet peak demand, then service level agreements are maintained, but resource utilization efficiency decreases

Engineering Contradiction:
ImproveSLA complianceVSAvoidwasted cache resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts cache allocation based on real-time workload demand rather than using static over-provisioning. During peak demand periods, cache resources are automatically expanded to meet SLA requirements, while during low-demand periods, resources are contracted to eliminate waste. This dynamic adaptation allows the system to maintain SLA compliance when needed while avoiding the continuous resource consumption that characterizes over-allocation strategies.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11113192B2Method and apparatus for dynamically adapting cache size based on estimated cache performance
Publication Date: 2021.09.07 EMC IP HLDG CO LLC
  • US11113192B2 patent drawing
  • US11113192B2 patent drawing
  • US11113192B2 patent drawing

AI summary

A method of dynamically adjusting sizes of cache partitions includes, for each cache partition, estimating a number of hits that would occur on the cache partition for a set of potential size increases of the cache partition and a set of potential size decreases of the cache partition. Based on these estimates, a determination is made for each cache partition, whether to increase the size of the cache partition, maintain a current size of the cache partition, or decrease the size of the cache partition. Cache partition size increases are balanced with cache partition size decreases to allocate the entirety of the cache to the set of cache partitions without over allocating cache resources and while optimizing a sum of total cache hit rates of the set of cache partitions. A set of data structures is used to efficiently determine the estimated hit increases and decreases for each cache partition.