Adaptive Thread Pool for Storage Quota Checking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional resource quota checking in storage systems is inefficient due to excessive thread usage during high workloads, leading to delayed processing of other IO requests, and underutilization of resources during low workloads, resulting in inconsistent quota updates and prolonged processing times.

Innovation Solution

Adaptive allocation of threads for resource quota checking tasks based on current workload, adjusting the number of processes between predetermined thresholds to optimize resource utilization and response speed, with dynamic adjustments every 10 minutes and prioritization of tasks based on workload and execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed number of threads (8 threads) is used to perform quota checking concurrently, then the scanning speed is accelerated, but during high workload periods, this causes delayed processing of other IO requests

Engineering Contradiction:
Improvequota checking speedVSAvoidIO request processing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic thread pool adjustment where the number of threads is not fixed but adapts based on system workload conditions. The thread pool size is adjusted within a range (minimum to maximum threads) based on real-time monitoring of IO request queues and system load, allowing the system to accelerate quota checking when resources are available while preventing delays to other IO operations during high workload periods

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of thread pool size dynamically based on system conditions. By monitoring workload metrics and adjusting the number of concurrent threads accordingly, the system optimizes the balance between quota checking speed and overall IO processing performance, avoiding the fixed parameter limitation of traditional approaches

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the thread pool size is reduced to prevent IO request delays, then system stability is maintained, but resource utilization becomes underutilized during low workload periods

Engineering Contradiction:
Improvesystem stabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts thread pool size based on real-time workload monitoring, expanding the thread pool when system load is low to maximize resource utilization and contracting it when load is high to maintain stability. This dynamic adaptation allows the system to achieve both reliability and productivity across different operating conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism that continuously monitors system workload, IO request queue depth, and thread execution status. Based on this feedback, the system automatically adjusts the thread pool size to optimize both stability and resource utilization, preventing both over-utilization and under-utilization scenarios

Inventive Principle:
Principle #23Feedback

3Measurement precision

If the quota checking task scans the whole file system to acquire initial quota, then accurate quota information is obtained, but the task takes a long time to finish

Engineering Contradiction:
Improvequota accuracyVSAvoidscanning time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the file system scanning task into multiple concurrent thread operations. Instead of a single thread scanning the entire file system sequentially, multiple threads divide and conquer different portions of the file system simultaneously, maintaining accurate quota collection while significantly reducing the total scanning time through parallel processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs partial scanning strategies where threads may scan portions of the file system or use sampling techniques to estimate quota usage, providing sufficiently accurate results without completing exhaustive scans of every inode, thereby reducing overall processing time while maintaining acceptable precision

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11340803B2Method for configuring resources, electronic device and computer program product
Publication Date: 2022.05.24 EMC IP HLDG CO LLC
  • US11340803B2 patent drawing
  • US11340803B2 patent drawing

AI summary

Techniques perform resource configuration. The techniques involve determining, for a resource quota checking task for a file system on a storage system, a current workload of the storage system; in response to the workload exceeding a predetermined upper threshold, performing the resource quota checking task with a first number of processes; and in response to the workload being below a predetermined lower threshold, performing the resource quota checking task with a second number of processes, the second number being greater than the first number.