Distributed Cache Token Allocation for File System Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As distributed file systems grow in size and complexity, caching becomes burdensome in terms of performance and storage requirements, leading to inefficiencies in cache management and resource allocation.

Innovation Solution

A system that dynamically allocates cache tokens to agents based on cache volume capacity and agent numbers, adjusts allocations based on data storage needs, and employs token rebalancing and reclamation processes to maintain efficient cache utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If caching is implemented in distributed file systems to improve performance, then access speed is improved, but storage requirements and management complexity increase

Engineering Contradiction:
Improveaccess speedVSAvoidmanagement complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system divides the distributed file system into multiple independent agents, each managing its own cache allocations autonomously. Cache management is segmented into discrete cache allocations that can be independently tracked and reallocated, reducing overall system management complexity while maintaining performance benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each agent in the distributed file system autonomously manages its own cache allocations without requiring centralized coordination for every operation. Agents independently track their cache usage, request additional allocations when needed, and participate in rebalancing decisions, eliminating the need for complex centralized cache management infrastructure.

Inventive Principle:
Principle #25Self-service

2Speed

If cache allocations are increased to improve performance, then access speed is improved, but storage requirements increase

Engineering Contradiction:
Improveaccess speedVSAvoidstorage requirements
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

Cache allocations are made dynamic rather than static, allowing the system to adjust cache sizes based on actual usage patterns and system conditions. Agents can request additional cache allocations when performance degradation is detected, and the system can rebalance cache distribution dynamically, ensuring cache capacity matches actual needs rather than provisioned capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cache allocation size based on usage patterns and performance requirements. Instead of maintaining fixed cache sizes, the system adjusts cache allocation parameters dynamically, increasing cache for frequently accessed data and reducing cache for less critical data, optimizing the balance between performance and storage utilization.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If cache tokens are reallocated dynamically to prevent cache starvation, then resource utilization is improved, but administrative messaging increases

Engineering Contradiction:
Improveresource utilizationVSAvoidadministrative messaging
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements partial rebalancing rather than complete reallocation of cache tokens. When rebalancing is needed, only the necessary portion of cache tokens is transferred between agents to address specific imbalances, rather than performing comprehensive reallocation of all cache resources. This reduces the volume of administrative messaging required while still preventing cache starvation.

Inventive Principle:
Principle #16Partial or excessive action

4Productivity

If conventional caching schemes are used in large distributed file systems, then performance is improved, but cache management becomes burdensome

Engineering Contradiction:
ImproveperformanceVSAvoidcache management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Each agent autonomously manages its own cache operations, including tracking cache allocations, detecting performance degradation, and requesting additional cache resources. This self-service approach eliminates the need for complex centralized cache management infrastructure and reduces the operational burden of managing cache in large distributed file systems while maintaining performance improvements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11669255B2Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
Publication Date: 2023.06.06 QUMULO INC
  • US11669255B2 patent drawing
  • US11669255B2 patent drawing
  • US11669255B2 patent drawing

AI summary

A file system with distributed resource caching that includes cache volumes and agents that may be associated with clients of the file system may be provided. A cache allocation for each agent may be determined based on a capacity of the cache volumes and a number of the agents such that each cache allocation is associated with tokens that each represents a reserved portion of free space in the cache volumes. Storage jobs may be provided to the agents. Data associated with the storage jobs may be stored in the cache volumes. The cache allocation for each agent may be reduced based on the data stored for each agent.