Compute Cluster Scheduler Balancing Resources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduling policies in computing clusters, such as first come, first served and priority-based allocation, often lead to inefficient resource utilization, resulting in suboptimal response times and inability to meet the minimum resource requirements of all jobs simultaneously, especially in scenarios with numerous parallel tasks.

Innovation Solution

A balanced scheduling policy that operates in multiple modes to allocate resources based on minimum requirements and desired distributions, dynamically adjusting resource allocation among jobs to prioritize higher priority tasks and ensure efficient use of computing resources, including de-allocating resources from excess allocations to meet minimum needs of other jobs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If first come, first served allocation policy is used, then jobs are assigned resources in submission order, but resource utilization becomes inefficient and response times increase

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidjob response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The scheduling policy dynamically adjusts resource allocation based on current system state and job characteristics. The scheduler continuously monitors resource availability and job priorities, reallocating resources from completed or low-priority jobs to high-priority jobs that need them, thereby improving both resource utilization and response times

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduling system incorporates feedback mechanisms where the scheduler receives information about job completion, resource availability, and priority changes. This feedback enables the scheduler to make informed decisions about resource reallocation, ensuring that resources are consistently directed to jobs that need them most, thus improving overall system efficiency and responsiveness

Inventive Principle:
Principle #23Feedback

2Productivity

If priority-based allocation is used, then higher priority jobs receive resources first, but minimum resource requirements of all jobs cannot be met simultaneously

Engineering Contradiction:
Improvejob execution speedVSAvoidminimum resource guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The resource allocation process is segmented into two distinct phases: first, allocating minimum guaranteed resources to all jobs to ensure reliability, and second, distributing excess resources to high-priority jobs to improve productivity. This segmentation allows the system to simultaneously meet minimum requirements and prioritize important jobs

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different allocation strategies are applied to different resource pools: guaranteed minimum resources are allocated based on job requirements and priorities, while excess resources are allocated based on priority weighting. This local differentiation allows the system to satisfy both reliability constraints and productivity goals

Inventive Principle:
Principle #3Local quality

3Productivity

If resources are allocated to meet minimum requirements of all jobs, then resource distribution becomes balanced, but response time for high priority jobs increases

Engineering Contradiction:
Improveoverall resource distribution efficiencyVSAvoidhigh priority job response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The scheduler operates continuously to monitor resource allocation and job priorities. When high-priority jobs emerge or resource availability changes, the scheduler immediately initiates reallocation to ensure these jobs receive necessary resources without delay, maintaining continuous optimization of the allocation state

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The scheduler pre-allocates minimum guaranteed resources to all jobs before distributing excess resources. This preliminary action ensures that when high-priority jobs need additional resources, the foundation of minimum guarantees is already in place, allowing faster reallocation decisions

Inventive Principle:
Principle #10Preliminary action

4Productivity

If excess resources are de-allocated from executing jobs, then minimum requirements of other jobs are met, but resource stability for executing jobs decreases

Engineering Contradiction:
Improvejob completion rateVSAvoidresource allocation stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system de-allocates only the excess resources beyond minimum guarantees, not the guaranteed portion. This partial action allows the system to meet the needs of waiting jobs while maintaining stable, guaranteed resource allocations for executing jobs, thus balancing productivity improvements with allocation stability

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9069610B2Compute cluster with balanced resources
Publication Date: 2015.06.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9069610B2 patent drawing
  • US9069610B2 patent drawing
  • US9069610B2 patent drawing

AI summary

A scheduler for a compute cluster that allocates computing resources to jobs to achieve a balanced distribution. The balanced distribution maximizes the number of executing jobs to provide fast response times for all jobs by, to the extent possible, assigning a designated minimum for each job. If necessary to achieve this minimum distribution, resources in excess of a minimum previously allocated to a job may be de-allocated, if those resources can be used to meet the minimum requirements of other jobs. Resources above those used to meet the minimum requirements of executing jobs are allocated based on a computed desired allocation, which may be developed based on respective job priorities. To meet the desired allocation, resources may be de-allocated from jobs having more than their desired allocation and re-allocated to jobs having less than their desired allocation of resources.