Task Scheduling Method for Deep Learning Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current deep learning frameworks fail to effectively schedule tasks such as epoch and model partitioning based on available resources, leading to inefficient resource utilization and potential waste, especially in cloud environments where computing resources may be insufficient or excessive.
Innovation Solution
A task scheduling method that identifies independent tasks within a task set, schedules them for execution based on available resources, creates a new task set for the next round of scheduling, and moves dependent tasks from subsequent sets into the scheduled set, ensuring correct dependency maintenance and maximum resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If deep learning frameworks schedule tasks without resource-based consideration, then task execution can proceed, but resource utilization becomes inefficient and waste occurs
Solution Approach 1:
The system performs preliminary resource assessment before task scheduling by evaluating available computing resources and matching them with task requirements. This preliminary action enables the scheduler to select appropriate tasks that can be executed with current resources, preventing resource waste while maintaining productivity.
Solution Approach 2:
The scheduling system dynamically adjusts task selection based on real-time resource availability. When resources change, the scheduler re-evaluates and re-selects tasks accordingly, ensuring optimal resource utilization at any given moment rather than following a static scheduling approach.
2Reliability
If all tasks in a task set are scheduled together, then scheduling simplicity is maintained, but task dependencies cannot be correctly maintained
Solution Approach 1:
The system segments tasks into multiple independent sets based on dependency relationships. Tasks are divided into groups where each set contains tasks that can be executed independently of others within the same set, while maintaining correct dependency ordering between sets. This segmentation enables reliable dependency maintenance without requiring complex scheduling of all tasks together.
Solution Approach 2:
Instead of scheduling all tasks simultaneously, the system schedules only the necessary subset of tasks that can be executed with current resources. This partial action approach schedules tasks in rounds, where each round handles a manageable subset while maintaining overall dependency correctness, reducing scheduling complexity.
3Reliability
If tasks are scheduled without considering available resources, then scheduling speed increases, but resource sufficiency cannot be guaranteed
Solution Approach 1:
The scheduling system incorporates feedback mechanisms that continuously monitor available resources and adjust task selection accordingly. After each scheduling round, the system receives feedback on resource consumption and availability, using this information to refine subsequent scheduling decisions and ensure resource sufficiency while maintaining scheduling speed.
Data Source
AI summary
A method includes: if it is determined that a currently available resource of a task processing system cannot satisfy a resource requirement of a to-be-executed current task set of a plurality of task sets, scheduling, for execution, one or more tasks in the current task set that can be supported by the currently available resource; creating, based on one or more tasks that have not been scheduled in the current task set, a to-be-scheduled task set for a next round of scheduling; determining, in a next task set of the plurality of task sets that follows the current task set, a subset of tasks that are independent of the one or more tasks in the to-be-scheduled task set, where the next task set is dependent at least in part on the current task set; and moving the subset from the next task set into the to-be-scheduled task set.


