Dynamic Cache Balancing for Distributed Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy techniques for sizing multiple cache partitions in distributed storage systems fail to optimize performance across partitions, leading to suboptimal caching due to fixed memory allocation and independent cache management policies that do not consider the relative importance of data items to the overall system.

Innovation Solution

Implementing a heuristic cache partition balancing technique that dynamically adjusts cache sizes based on cost calculations, using normalized cache performance metrics derived from attributes like miss cost and access patterns to balance cache partitions and improve overall caching performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a fixed amount of memory is allocated to cache partitions with independent management policies, then each partition can be managed separately using legacy cache management techniques, but the overall cache performance is suboptimal because the relative importance of data items to the overall system is not considered

Engineering Contradiction:
Improveindependent cache managementVSAvoidoverall cache performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges the management of multiple cache partitions under a unified system that considers overall system performance. The cache manager dynamically adjusts partition sizes based on normalized cache performance metrics that evaluate the relative importance of data items to the entire system, rather than managing each partition independently. This combining of management approaches resolves the contradiction by maintaining operational simplicity while achieving optimal overall performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the parameter of cache partition sizes dynamically based on performance metrics. Instead of fixed allocation, the system continuously monitors normalized cache performance metrics and adjusts partition sizes to maximize overall system performance. This parameter change enables the system to adapt to varying data importance and access patterns, resolving the performance limitation of static allocation.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cache partition sizes are dynamically adjusted based on normalized cache performance metrics, then overall cache performance is maximized, but the system complexity increases due to cost calculations and metric derivations

Engineering Contradiction:
Improveoverall cache performanceVSAvoidcache management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the cache manager continuously monitors normalized cache performance metrics and uses this information to dynamically adjust cache partition sizes. The system calculates metrics such as miss cost and access patterns, then feeds this information back into the partition sizing decisions. This feedback loop enables performance optimization while managing complexity through systematic metric-based adjustments rather than ad-hoc changes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache management system performs self-adjustment by automatically monitoring its own performance metrics and reallocating cache partitions without external intervention. The normalized cache performance metrics provide self-service capability, allowing the system to optimize its own structure based on observed data patterns and access behavior, reducing the need for complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If legacy cache management techniques are applied to each cache partition independently, then implementation is simpler, but memory utilization is inefficient because the cache does not adapt to changing conditions

Engineering Contradiction:
Improveimplementation simplicityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent introduces dynamics into cache partition management by making partition sizes adjustable rather than fixed. The system dynamically responds to changing conditions by monitoring normalized cache performance metrics and reallocating memory among partitions as needed. This dynamic approach improves memory utilization efficiency while maintaining implementation feasibility through systematic adjustment rules based on performance metrics.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9984004B1Dynamic cache balancing
Publication Date: 2018.05.29 NUTANIX INC
  • US9984004B1 patent drawing
  • US9984004B1 patent drawing
  • US9984004B1 patent drawing

AI summary

Embodiments serve to balance overall performance of a finite-sized caching system having a first cache of a first cache size and a second cache of a second cache size. A tail portion and a head portion of each of the caches are defined wherein incoming data elements are initially stored in a respective head portion and wherein evicted data elements are evicted from a respective tail portion. Performance metrics are defined wherein a performance metric includes a predicted miss cost that would be incurred when replacing an evicted data elements. A quantitative function is defined to include cache performance metrics and a cache reallocation amount. The cache performance metrics are evaluated periodically to determine a then-current cache reallocation amount. The caches can be balanced by increasing the first cache size by the cache reallocation amount and decreasing the second cache size by the cache reallocation amount.