Task Scheduling in Storage Systems via Prefetch Status Checks
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Loss of time
If tasks are assigned without checking prefetching status, then assignment speed is maintained, but job completion time increases due to waiting
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.
3Productivity
If multiple threads process tasks without coordinated scheduling, then parallel processing efficiency is maintained, but I/O wait time increases
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.
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.
Data Source
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.


