Multilayered Resource Scheduling for Distributed Compute Farms

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveglobal view of resourcesVSAvoidscalability
Core Design Contradiction:
Loss of informationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImprovescalabilityVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveresource coherenceVSAvoidjob scheduling delay
Core Design Contradiction:
Loss of informationVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11182217B2Multilayered resource scheduling
Publication Date: 2021.11.23 SIEMENS INDUSTRY SOFTWARE INC
  • US11182217B2 patent drawing
  • US11182217B2 patent drawing
  • US11182217B2 patent drawing

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.