Task Scheduling in Storage Systems via Prefetch Status Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, the varying load on object storage devices (OSDs) leads to differences in prefetching times across partitions, causing tasks to wait for completion before execution, resulting in increased job execution times due to I/O waits.

Innovation Solution

An information processing device with multiple threads processes tasks by inquiring about the completion status of next tasks and preferentially assigning tasks that can be completed by a scheduled time, along with performing prefetching before assigning the next task to optimize task scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If task scheduling is performed without considering prefetching completion status, then scheduling simplicity is maintained, but task execution time increases due to I/O waits

Engineering Contradiction:
Improvetask execution speedVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs prefetching operations before assigning tasks to threads. The scheduling unit checks whether prefetching for the next task has been completed before assignment, ensuring data is ready in advance to avoid I/O waits during task execution. This preliminary action resolves the contradiction by preparing data beforehand without fundamentally changing the scheduling mechanism.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If tasks are assigned without checking prefetching status, then assignment speed is maintained, but job completion time increases due to waiting

Engineering Contradiction:
Improvejob completion timeVSAvoidtask assignment simplicity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The scheduling unit incorporates feedback by checking the prefetching completion status before assigning tasks. This feedback mechanism ensures that tasks are only assigned when their required data is ready, preventing waiting time without adding complex assignment logic. The check is a simple conditional query that maintains ease of operation while reducing time loss.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple threads process tasks without coordinated scheduling, then parallel processing efficiency is maintained, but I/O wait time increases

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidI/O wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs prefetching operations before assigning tasks to threads. The scheduling unit checks whether prefetching for the next task has been completed before assignment, ensuring data is ready in advance to avoid I/O waits during task execution. This preliminary action resolves the contradiction by preparing data beforehand without fundamentally changing the scheduling mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling unit continuously monitors prefetching status and dynamically assigns tasks to threads as data becomes available. This continuous monitoring and dynamic assignment ensure that threads remain actively processing tasks without idle I/O wait time, maintaining parallel processing efficiency while eliminating waiting periods through real-time coordination.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11403139B2Information processing device, storage system, and non-transitory computer-readable storage medium for storing scheduling program
Publication Date: 2022.08.02 FUJITSU LTD
  • US11403139B2 patent drawing
  • US11403139B2 patent drawing
  • US11403139B2 patent drawing

AI summary

An information processing device includes: a plurality of threads, each of the plurality of threads being configured to process any of a plurality of tasks, the plurality of tasks being obtained by dividing a job; and a control circuit configured to execute processing when designating a next task in scheduling for the plurality of threads, the processing including inquiring of an assignment destination thread out of the plurality of threads as to whether the next task is to be completed by a scheduled time, and preferentially assigning a task supposed to be completed by the scheduled time in the assignment destination thread, as the next task from among the plurality of tasks.