Cloud Resource Scheduling by Stability Priority and Algorithm Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud system schedulers fail to account for varying computation capabilities and stabilities of machines, and only support a single scheduling algorithm, making them inadequate for mixed computation frameworks and jobs with different delay sensitivities.

Innovation Solution

A method and apparatus that determine resource priority levels based on stability and select appropriate scheduling algorithms for each job, allowing for flexible resource allocation and interaction with remote schedulers to meet diverse scheduling demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single scheduling algorithm is used for all jobs, then the scheduler is simple to implement, but it cannot satisfy different scheduling demands of different computation frameworks

Engineering Contradiction:
Improvescheduling algorithm adaptabilityVSAvoidscheduler complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scheduler dynamically selects different scheduling algorithms based on the job type and computation framework. Instead of using a fixed single algorithm, the system adapts the scheduling strategy in real-time according to the specific requirements of MPI, MR, or other batch processing jobs, resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduler changes its operational parameters (scheduling algorithm selection) based on input conditions (job type, computation framework). By parameterizing the scheduling approach rather than hardcoding a single algorithm, the system achieves versatility while maintaining manageable complexity through conditional logic.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all computing resources are treated equally, then the resource management is simple, but it cannot account for different computation capabilities and stabilities of machines

Engineering Contradiction:
Improvejob execution stabilityVSAvoidresource description complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different priority levels to different computing resources based on their specific characteristics (stability, computation capability). Instead of treating all resources uniformly, the scheduler evaluates and categorizes each resource's quality attributes, allowing high-stability resources to receive higher-priority jobs while maintaining manageable complexity through classification.

Inventive Principle:
Principle #3Local quality

3Loss of time

If resource allocation does not consider resource priority levels, then the scheduling process is simple, but jobs with different delay sensitivities cannot be properly distinguished

Engineering Contradiction:
Improvejob completion timeVSAvoidscheduling process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The scheduler introduces priority level parameters for different computing resources and uses these parameters to make scheduling decisions. By parameterizing resource priorities rather than treating all resources equally, the system optimizes job completion time for different delay sensitivities while keeping the scheduling process structured and manageable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10778807B2Scheduling cluster resources to a job based on its type, particular scheduling algorithm,and resource availability in a particular resource stability sub-levels
Publication Date: 2020.09.15 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • US10778807B2 patent drawing
  • US10778807B2 patent drawing

AI summary

An objective of the present disclosure is to provide a method and apparatus for scheduling resources in a cloud system. The method according to the present disclosure comprises steps of: determining, according to stability of computing resources in the cloud system, respective resource priority levels of the respective computing resources; determining a scheduling algorithm corresponding to a current job when it is needed to schedule the resources; and allocating the resources based on the scheduling algorithm and resource priority levels of currently available respective computing resources. Compared with the prior art, the present disclosure has the following advantages: by differentiating the priorities of the computing resources and supporting a plurality of scheduling algorithms, resource scheduling is performed based on a variety of scheduling algorithms and resource priorities, which enhances the flexibility of resource scheduling and enhances the resource utilization and system throughput.