IO Request Scheduling for Foreground Response in LSM Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems with a log-structured merge tree (LSM) structure, IO requests from foreground and background tasks compete for disk resources, leading to increased response times for foreground tasks and system stalls, affecting user experience.

Innovation Solution

Classify IO requests into traffic-unlimited first-type and traffic-limited second-type requests, dynamically adjusting the resource allocation based on load information to ensure foreground tasks are processed efficiently while optimizing background task execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If background tasks are allowed to occupy IO resources freely, then background task execution is efficient, but foreground task response time increases and system stalls

Engineering Contradiction:
Improvebackground task execution efficiencyVSAvoidforeground task response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic IO resource allocation by adjusting the traffic limiting proportion for background tasks based on real-time system load conditions. When foreground task response time exceeds a threshold, the system reduces the proportion of IO resources allocated to background tasks. This dynamic adjustment mechanism ensures that IO resources are flexibly reallocated between foreground and background tasks according to actual system state, resolving the contradiction between background task efficiency and foreground task responsiveness.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If foreground tasks are prioritized for immediate processing, then user experience is improved, but background task execution is delayed

Engineering Contradiction:
Improveforeground task response timeVSAvoidbackground task execution duration
Core Design Contradiction:
Loss of timeVSDuration of action of moving object

Solution Approach 1:

The patent implements periodic detection of system load conditions and periodic adjustment of traffic limiting proportions for background tasks. The system continuously monitors foreground task response times and periodically recalibrates resource allocation parameters. This periodic action ensures that background tasks are systematically managed with appropriate resource allocation over time, preventing both starvation and excessive resource consumption, thus balancing foreground responsiveness with background task completion.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If IO resources are allocated dynamically based on load, then system adaptability is improved, but scheduling complexity increases

Engineering Contradiction:
Improvesystem adaptability to load changesVSAvoidscheduling mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent achieves system adaptability through parameter changes in the traffic limiting proportion for background tasks. By adjusting this single key parameter based on monitored system load conditions, the system can adapt its resource allocation behavior without fundamentally changing the scheduling architecture. This parameter-based approach provides adaptability while controlling complexity, as it relies on modifying numerical parameters rather than implementing complex scheduling algorithms or multiple scheduling queues.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12455844B2IO request scheduling methods and apparatuses
Publication Date: 2025.10.28 BEIJING OCEANBASE TECHNOLOGY CO LTD
  • US12455844B2 patent drawing
  • US12455844B2 patent drawing
  • US12455844B2 patent drawing

AI summary

The specification provides an IO request scheduling method. The method includes: obtaining a target IO request to be scheduled, and determining whether the target IO request is a traffic-limited IO request: when the target IO request is a traffic-unlimited first-type IO request, determining a current moment as a scheduling moment of the target IO request: or when the target IO request is a traffic-limited second-type IO request, determining a scheduling moment of the target IO request based on a current resource traffic-limiting proportion; and adding the target IO request to an IO request set, where several IO requests in the IO request set are sequentially sent to a disk for processing in ascending order of scheduling moments.