Local Random Readahead Mechanism for Distributed File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing readahead mechanisms in distributed file systems are ineffective for local random reading scenarios, leading to suboptimal performance and increased pressure on networks and disks.

Innovation Solution

A method and device for local random readahead in distributed file systems, which involves creating a readahead structure pointer, updating information in response to file reads, and performing readahead only when the reading is local random, the number of continuous reads is greater than 1, and the current reading position meets the readahead trigger position.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If readahead mechanism is used for sequential I/O, then reading performance is improved, but it cannot achieve expected effect for local random reading

Engineering Contradiction:
Improvereading performanceVSAvoidadaptability to different reading patterns
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent dynamically adjusts the readahead strategy based on the detected reading pattern. It monitors reading behavior and switches between sequential readahead and local random readahead modes, making the system adaptive to different access patterns rather than using a fixed strategy

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the readahead parameters (such as readahead size, trigger conditions, and window size) based on the detected reading pattern. When local random reading is detected, it adjusts parameters like local_random_readahead_window and local_random_readahead_size to optimize performance for that specific pattern

Inventive Principle:
Principle #35Parameter changes

2Productivity

If readahead is performed for local random reading, then readahead performance is improved, but pressure on network and disk increases

Engineering Contradiction:
Improvereadahead performanceVSAvoidpressure on network and disk
Core Design Contradiction:
ProductivityVSStress or pressure

Solution Approach 1:

The patent applies readahead locally within a defined window (local_random_readahead_window) around the current reading position rather than performing global readahead. This limits the scope of readahead operations to only the necessary local regions, reducing overall pressure on network and disk

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs partial readahead by only reading ahead within the local window when necessary, rather than performing excessive readahead for all possible future reads. It balances between doing enough to improve performance and doing too much to create unnecessary pressure

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If conventional readahead is used, then sequential reading performance is improved, but small block I/O pressure on network disk increases

Engineering Contradiction:
Improvesequential reading performanceVSAvoidsmall block I/O volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple small read requests into larger readahead operations when local random reading patterns are detected. By combining scattered small blocks into consolidated readahead requests, it reduces the total number of small block I/O operations on the network disk

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12298934B2Method and device for local random readahead of file in distributed file system
Publication Date: 2025.05.13 INSPUR SUZHOU INTELLIGENT TECH CO LTD
  • US12298934B2 patent drawing
  • US12298934B2 patent drawing

AI summary

Provided are a method and device for local random readahead of a file in a distributed file system. The method includes: creating a readahead structure pointer in an operation handle of a file; in response to reading of the file, accessing and updating information in the readahead structure pointer, and determining whether the reading is local random reading; and performing readahead in a case where the reading is local random reading, the number of instances of continuous reading in the updated information is greater than 1, and a current reading position is greater than or equal to a readahead trigger position in the updated information.