Multilayered Resource Scheduling for Distributed Compute Farms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Single job scheduler approaches in distributed computer networks face scalability issues, leading to resource idleness and inefficiencies due to the inability to manage job scheduling effectively across multiple compute resources.
Innovation Solution
Implementing a multilayered resource scheduling system with an upper level scheduler and multiple lower level schedulers, where tasks with identical resource requirements are grouped and executed on dedicated compute resources without further scheduling operations, providing a global view of compute resources to the user interface.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a single job scheduler is used to manage all job submissions and resource tracking, then a coherent global view of resources is achieved, but scalability deteriorates as the system cannot handle increasing numbers of jobs and entities
Solution Approach 1:
The system divides the compute farm into multiple segments, each managed by a separate lower level scheduler. This segmentation allows the system to scale by distributing the scheduling workload across multiple schedulers while maintaining coherent resource views through the upper level scheduler that aggregates information from all segments.
2Productivity
If the compute farm is partitioned into multiple segments with separate schedulers, then scalability is improved, but resource utilization deteriorates due to wasted resources from jobs unable to access other segments
Solution Approach 1:
The upper level scheduler provides a universal interface that allows jobs to access compute resources across all segments. While lower level schedulers manage individual segments, the upper level scheduler coordinates between segments to enable jobs to utilize resources from any segment, making the segmented architecture function as a unified resource pool.
3Loss of information
If a single job scheduler handles all scheduling operations, then resource allocation is centralized and coherent, but the load on the scheduler increases leading to idle resources and delayed job scheduling
Solution Approach 1:
The scheduling function is segmented into two levels: lower level schedulers handle resource tracking and basic scheduling within their segments, while the upper level scheduler handles job submission and cross-segment coordination. This segmentation distributes the processing load, reducing delays while maintaining resource coherence through the upper level's global view.
Solution Approach 2:
Lower level schedulers preliminarily identify and advertise available compute resources before jobs are fully scheduled. This preliminary action allows the upper level scheduler to make faster scheduling decisions by having resource information already prepared and organized, reducing overall scheduling delay while maintaining coherence.
Data Source
AI summary
Systems and methods for multilayered resource scheduling are provided. A system may include a user interface, an upper level scheduler, at least one lower level scheduler, and a reporting module. The user interface may receive a plurality of tasks. The upper level scheduler may sort the plurality of tasks into tasks with identical resource requirements. The lower level scheduler may be operable to receive resource requirements associated with a task. The lower level scheduler may ascertain compute resources sufficient to execute the task on a machine in a compute farm and advertise the compute resources as matching the resource requirements. The lower level scheduler may further receive a request to execute the task on the machine. The compute resources may be controlled to execute the tasks with the identical resource requirements without further scheduling operations. The lower level scheduler may control the compute resources to execute the task.


