Storage Task Scheduling for Low Latency and Sustainability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in scheduling, leading to increased I/O latency due to unutilized resources and starvation of background processing, as prior approaches fail to effectively manage resource allocation between I/O and background tasks.

Innovation Solution

A method that classifies tasks into multiple classes with specific shares and priorities, prioritizing latency-critical tasks and allocating resources accordingly, ensuring timely processing of I/O requests while maintaining bandwidth-critical tasks to prevent resource starvation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the priority of I/O processing is increased to reduce latency, then I/O latency is improved, but background processing is starved and resources are wasted

Engineering Contradiction:
ImproveI/O latencyVSAvoidbackground processing throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments tasks into multiple classes (I/O tasks, background tasks, administrative tasks) with different priorities and shares. This segmentation allows the system to allocate resources differently to different task types, ensuring that I/O tasks get priority access when needed while background tasks receive guaranteed minimum resources, thus resolving the contradiction between reducing I/O latency and maintaining background processing productivity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If background processing is allowed to use more resources to catch up on delayed tasks, then background processing throughput is improved, but I/O latency increases

Engineering Contradiction:
Improvebackground processing throughputVSAvoidI/O latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic resource allocation where the scheduler continuously monitors system state and adjusts task scheduling decisions in real-time. The multi-class scheduler dynamically determines how much resource share each task class receives based on current system conditions, allowing background processing to receive more resources when I/O latency is low while preventing background tasks from consuming excessive resources when I/O latency is high, thus dynamically resolving the contradiction between the two objectives.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If resources are allocated strictly by priority to meet latency targets, then I/O latency is improved, but system utilization decreases due to free resources going unutilized

Engineering Contradiction:
ImproveI/O latencyVSAvoidsystem utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies different resource allocation qualities to different task classes. High-priority I/O tasks receive preferential treatment with lower latency guarantees, while lower-priority background tasks receive resource shares that allow them to utilize otherwise idle resources. This local differentiation of resource quality allows the system to meet I/O latency targets while simultaneously improving overall system utilization by putting otherwise free resources to work on background processing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11709626B2Scheduling storage system tasks to promote low latency and sustainability
Publication Date: 2023.07.25 EMC IP HLDG CO LLC
  • US11709626B2 patent drawing
  • US11709626B2 patent drawing
  • US11709626B2 patent drawing

AI summary

A technique for scheduling access to a resource arranges tasks into multiple classes, where each class has a respective share and a respective priority. The share of a class sets an amount of access allocated to the class, and the priority sets an order in which the class can use its share, with higher priority classes getting access before lower-priority classes. The technique assigns latency-critical tasks, such as synchronous I/O tasks, to a first class having the highest priority and assigns bandwidth-critical tasks, such as background I/O processing, to a second class having a lower priority.