Backfill Scheduling for Parallel Jobs via Task Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional parallel job schedulers face inefficiencies in resource allocation due to inaccurate user-estimated runtime and the resulting unpopulated backfill windows, leading to idle resources and suboptimal utilization, especially when dealing with embarrassingly parallel jobs.
Innovation Solution
The solution involves dynamically segmenting embarrassingly parallel jobs into sub-tasks that can fit within available backfill windows, allowing for adaptive scheduling and optimal resource utilization by creating a revised schedule that fills these windows, even when user-estimated runtimes are overestimated.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If jobs are scheduled using static resource allocation with first-come first-served backfill algorithm, then job scheduling simplicity is maintained, but resource utilization deteriorates due to unpopulated backfill windows from inaccurate runtime estimates
Solution Approach 1:
The patent segments embarrassingly parallel jobs into multiple independent sub-tasks that can be scheduled individually. This allows the scheduler to fill backfill windows with subsets of sub-tasks rather than requiring entire jobs to fit, thereby improving resource utilization while maintaining scheduling simplicity through the modular nature of sub-task allocation
Solution Approach 2:
The patent introduces dynamic scheduling where job sub-tasks can be allocated flexibly based on real-time resource availability and backfill window characteristics. The scheduler dynamically determines which sub-tasks to execute in which backfill windows, adapting to varying runtime estimates and resource conditions rather than using fixed static allocation
2Reliability
If backfill windows are calculated based on user-estimated runtime, then advance resource reservation is enabled, but resource allocation efficiency deteriorates when runtime overestimation leaves backfill windows unpopulated
Solution Approach 1:
By dividing jobs into sub-tasks, the patent enables partial population of backfill windows even when total job runtime is overestimated. Individual sub-tasks can be scheduled in available backfill windows without requiring the complete job to fit, thus improving backfill utilization while preserving the reliability of advance resource reservations for committed jobs
Solution Approach 2:
The patent changes the scheduling parameter from treating jobs as monolithic units to treating sub-tasks as schedulable units. This parameter change allows the system to accommodate backfill windows of varying sizes and durations, improving utilization of previously wasted resources while maintaining the original job's resource reservation guarantees
3Device complexity
If embarrassingly parallel jobs are scheduled as single units, then job management simplicity is maintained, but system throughput deteriorates due to idle resources during backfill windows
Solution Approach 1:
The patent segments embarrassingly parallel jobs into independent sub-tasks that can be scheduled individually in backfill windows. This segmentation improves system throughput by utilizing otherwise idle resources while maintaining relatively simple job management through the inherent parallelism and independence of sub-tasks, requiring minimal coordination overhead
4Device complexity
If static resource allocation is used for jobs, then resource assignment simplicity is maintained, but resource utilization efficiency deteriorates when jobs cannot fully utilize allocated resources
Solution Approach 1:
By segmenting jobs into sub-tasks, the patent enables fine-grained resource allocation where sub-tasks can be assigned to specific backfill windows based on their individual requirements. This improves resource utilization efficiency while maintaining allocation simplicity through the modular, independent nature of sub-task scheduling
Solution Approach 2:
The patent applies partial action by scheduling only the necessary sub-tasks in available backfill windows rather than requiring complete job allocation. This allows the system to utilize available resources partially rather than leaving them idle, improving efficiency without requiring full job commitment
Data Source
AI summary
Backfill scheduling for embarrassingly parallel jobs. A disclosed method includes: receiving an initial schedule having a plurality of jobs scheduled over time on a plurality of nodes, determining that a first job can be split into a plurality of sub-tasks that can respectively be performed in parallel on different nodes, splitting the first job into the plurality of sub-tasks, and moving a first sub-task from its position in the initial schedule to a new position to yield a first revised schedule.


