Storage Prefetching Trigger and Execution Module for Mixed Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional prefetching algorithms in storage systems face issues with minor interferences and inability to effectively support diverse workloads, leading to inefficient resource utilization and frequent prefetching, which complicates the prefetching logic and reduces throughput in mixed load environments.

Innovation Solution

The proposed solution divides the prefetching operation into a trigger part and an execution part, using a trigger module to determine if a read request satisfies a prefetching condition based on historical information and an execution module to dynamically adjust the prefetching window size, simplifying the process and enhancing anti-interference capability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional prefetching algorithms are used, then processor waiting time is reduced and parallel work with disk is achieved, but the algorithms cannot work normally in diverse workloads and cause frequent prefetching

Engineering Contradiction:
Improveprocessor waiting timeVSAvoidworkload adaptability
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic adjustment of the prefetching window size based on historical information and actual workload characteristics. The window size parameter is not fixed but adapts dynamically to different workload types (sequential, random, mixed), allowing the system to optimize prefetching behavior for each specific scenario while maintaining high processor utilization and reducing waiting time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the prefetching window size parameter according to historical prefetching operations and current workload patterns. By adjusting this key parameter dynamically, the system achieves adaptability to diverse workloads while maintaining the performance benefits of prefetching, resolving the contradiction between time efficiency and workload versatility.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If prefetching window size is increased to support diverse workloads, then workload adaptability is improved, but I/O consumption increases and throughput decreases

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidthroughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent employs feedback mechanisms by utilizing historical prefetching operation information to dynamically adjust the window size. The system continuously monitors prefetching effectiveness and adapts the window size based on this feedback, ensuring optimal performance across different workload types without excessive I/O consumption. This feedback-driven approach maintains high throughput while supporting diverse workloads.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies partial prefetching by dynamically adjusting the window size to match actual needs rather than always using a large fixed window. This prevents excessive prefetching that would consume unnecessary I/O resources, while still providing sufficient prefetching for diverse workload patterns, thus maintaining high throughput and adaptability simultaneously.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If prefetching operations are performed frequently to handle diverse workloads, then workload adaptability is improved, but prefetching logic becomes complicated and resource utilization decreases

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidprefetching logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the prefetching operation into distinct phases: trigger condition evaluation, historical information analysis, window size determination, and execution. This segmentation simplifies the overall logic by breaking down the complex prefetching decision process into manageable, independent steps, making the system easier to implement and maintain while preserving adaptability to diverse workloads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary evaluation of trigger conditions and analysis of historical information before executing prefetching operations. This preliminary action allows the system to determine whether prefetching is actually needed and what window size is appropriate, avoiding unnecessary prefetching operations and simplifying the control logic while maintaining high adaptability to different workload patterns.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11099996B2Method, device, and computer program product for prefetching in storage systems
Publication Date: 2021.08.24 EMC IP HLDG CO LLC
  • US11099996B2 patent drawing
  • US11099996B2 patent drawing
  • US11099996B2 patent drawing

AI summary

In accordance with certain techniques, prefetching operation may be divided into two parts: a trigger part and an execution part, thereby simplifying the prefetching process. Such techniques may further support prefetching of concurrent flows and enhance anti-interference capability. Certain techniques involve receiving a read request for a memory page, and determining whether the read request satisfies a trigger condition of a prefetching operation for the memory page. These certain techniques further involve, in response to the read request satisfying the trigger condition, determining a window size of the prefetching operation based on historical information of historical prefetching operations for the memory page, and triggering, based on the window size, execution of the prefetching operation.