Tree-Based File System Cache Prefetching for Sequential Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tree-based filesystems, caching nodes helps improve performance but is limited, leading to evictions that can negatively impact performance during sequential access patterns, resulting in low cache hit ratios and increased latency.

Innovation Solution

A method that detects sequential access patterns by analyzing the proximity of data block offsets and proactively prefetches nodes likely to be accessed next, using a sequential access pattern detector and cache prefetcher to improve cache hit ratios and reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If nodes are cached in a tree-based filesystem, then access performance is improved, but cache size is limited causing evictions that worsen performance during sequential access patterns

Engineering Contradiction:
Improveaccess performanceVSAvoidcache hit ratio
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by detecting sequential access patterns and proactively prefetching nodes into the cache before they are actually needed. This advance preparation ensures that when sequential access occurs, the nodes are already in cache, maintaining high cache hit ratios and preventing performance degradation from evictions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The caching system dynamically adapts its behavior based on detected access patterns. When sequential access patterns are detected, the system activates proactive prefetching; when other patterns are detected, it uses traditional caching strategies. This dynamic adaptation resolves the contradiction by adjusting cache management to match actual workload characteristics.

Inventive Principle:
Principle #15Dynamics

2Reliability

If cache size is increased to improve hit ratio, then more nodes can be cached, but memory resources are limited and other operations suffer

Engineering Contradiction:
Improvecache hit ratioVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of passively waiting for nodes to be accessed, the system proactively loads nodes into cache in advance based on detected sequential patterns. This allows the cache to be filled efficiently with nodes that will be needed soon, maximizing the utility of limited cache space without requiring increased memory resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The caching system serves itself by automatically detecting access patterns and making intelligent decisions about which nodes to prefetch. This self-service capability allows the system to optimize cache utilization dynamically, ensuring that limited memory resources are allocated to nodes that will provide the most benefit.

Inventive Principle:
Principle #25Self-service

3Device complexity

If traditional LRU eviction is used to manage cache, then cache management is simple, but performance degrades during sequential access patterns due to premature evictions

Engineering Contradiction:
Improvecache management complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system performs preliminary detection of sequential access patterns and takes preliminary action by prefetching nodes before they would be evicted by traditional LRU. This approach maintains the simplicity of LRU eviction while adding a proactive layer that prevents performance degradation during sequential access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The sequential access pattern detector acts as an intermediary between the traditional LRU cache management and the actual cache operations. It monitors access patterns and triggers prefetching operations that complement the LRU mechanism, resolving the conflict between simplicity and performance without requiring a complete redesign of cache management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11829302B2Detecting sequential access patterns and proactive caching in a tree-based file system
Publication Date: 2023.11.28 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11829302B2 patent drawing
  • US11829302B2 patent drawing
  • US11829302B2 patent drawing

AI summary

Examples described herein relate to In some examples, a least recently used (LRU) list used to evict nodes from a cache is traversed, the nodes referencing data blocks storing data in a storage device, the nodes being leaf nodes in a tree representing a file system, and for each traversed node, determining a stride length as an absolute value of a difference between a block offset value of the traversed node and a block offset value of a previously traversed node, comparing the stride length to a proximity threshold, and updating a sequential access pattern counter based at least in part on the comparing; and proactively prefetching nodes from the storage device to the cache when the sequential access pattern counter indicates a detected pattern of sequential accesses to nodes.