Cache Space Distribution via Dynamic Credit Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face the 'noisy neighbor' problem where workloads that write disproportionately to the system occupy excessive cache space, preventing other workloads from writing data, leading to degraded quality of service and inefficient cache usage.

Innovation Solution

Implement a method to identify and limit I/O requests from workloads that occupy disproportionate cache space by calculating the proportion of cache usage, reducing credits, and regulating the write rate to ensure fair distribution and maintain quality of service for all workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a workload writes a disproportionate amount of data to the cache, then the cache performance for that workload is improved, but other workloads are prevented from writing data to the cache

Engineering Contradiction:
Improvecache write throughputVSAvoidnoisy neighbor effect
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system continuously monitors cache usage by each workload and dynamically adjusts the number of credits granted to each workload based on their cache occupancy proportion. This feedback mechanism ensures that workloads that occupy disproportionate cache space receive fewer credits, preventing them from monopolizing cache resources, while workloads with lower cache usage receive more credits, ensuring fair access for all workloads

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the parameter of credit allocation based on cache usage proportions. By calculating the proportion of cache occupied by each workload and adjusting the credits granted accordingly (inverse relationship), the system transforms the static credit allocation into a dynamic parameter that adapts to changing cache usage patterns, resolving the contradiction between high throughput for individual workloads and fair access for all

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the cache is allowed to fill up with data from a single workload, then write performance for that workload is maximized, but the quality of service for other workloads degrades

Engineering Contradiction:
Improvedata write rateVSAvoidquality of service
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system uses feedback from cache occupancy monitoring to dynamically adjust credit allocation, ensuring that quality of service is maintained for all workloads. When a workload's cache usage proportion exceeds a fair share, the system reduces its credits, which limits its write rate and prevents quality of service degradation for other workloads

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The credit allocation system is dynamic rather than static, adjusting in real-time based on cache usage patterns. This dynamic adjustment allows the system to maximize write performance for individual workloads when cache resources are available, while automatically reducing credits when cache becomes congested, thereby maintaining overall quality of service

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If credits are reduced for a workload occupying disproportionate cache space, then fair distribution of cache space is achieved, but the total I/O throughput of the storage system may be limited

Engineering Contradiction:
Improvefairness of cache distributionVSAvoidtotal I/O throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system changes the credit parameter dynamically based on cache usage proportions, achieving fair distribution without permanently limiting throughput. Workloads can achieve high throughput when they use cache fairly, while only experiencing throughput limitation when they attempt to monopolize cache resources, making the throughput limitation conditional rather than absolute

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10452553B1Systems and methods for distributing cache space
Publication Date: 2019.10.22 ARCTERA US LLC
  • US10452553B1 patent drawing
  • US10452553B1 patent drawing
  • US10452553B1 patent drawing

AI summary

The disclosed computer-implemented method for distributing cache space may include (i) identifying workloads that make input/output requests to a storage system that comprises a cache that stores a copy of data recently written to the storage system, (ii) calculating a proportion of the cache that is occupied by data written to the cache by a workload, (iii) determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate, and (iv) limiting the volume of input/output requests from workload that will be accepted by the storage system in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate. Various other methods, systems, and computer-readable media are also disclosed.