Scalable Scheduler with Heterogeneous Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional schedulers fail to adequately address Quality of Service (QoS) targets and Service Level Targets (SLTs) in computing environments, lacking extendibility and maintainability, and often cannot prove the correctness of their scheduling algorithms due to inadequate resource allocation and prioritization.

Innovation Solution

A stateless, deterministic scheduler with interruption recovery and scalable resource allocation is implemented, utilizing a processor and memory to dynamically allocate resources based on Quality of Service requirements, incorporating a compute resource discovery engine, workload discovery engine, and policy engine to schedule workloads effectively across heterogeneous resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional schedulers are used to allocate computing resources, then basic scheduling functionality is provided, but Quality of Service (QoS) targets and Service Level Targets (SLTs) are not adequately addressed

Engineering Contradiction:
ImproveQoS complianceVSAvoidscheduler complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduler is divided into distinct modules: a scheduling algorithm module that handles core scheduling decisions, a QoS enforcement module that manages service level targets, and a resource allocation module that handles heterogeneous resource distribution. This segmentation allows each module to specialize in specific functions, improving QoS compliance while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduler implements dynamic adjustment of scheduling parameters and resource allocation based on real-time system state and QoS requirements. The system can adaptively change scheduling policies, priority levels, and resource distribution to meet evolving service level targets, enhancing reliability without requiring a completely complex static architecture.

Inventive Principle:
Principle #15Dynamics

2Reliability

If conventional schedulers allocate resources without deterministic guarantees, then resource utilization is flexible, but correctness of scheduling algorithms cannot be proven

Engineering Contradiction:
Improvescheduling correctnessVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The scheduler performs preliminary analysis and validation of scheduling algorithms before execution. Formal verification methods are applied to prove correctness of scheduling logic in advance, and resource allocation decisions are pre-computed based on deterministic models. This preliminary action ensures scheduling correctness can be proven while maintaining efficient resource utilization during actual execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms that monitor actual scheduling outcomes and compare them against expected behavior. This feedback loop allows the scheduler to maintain deterministic guarantees while optimizing resource utilization, as deviations from expected performance can be detected and corrected without sacrificing productivity.

Inventive Principle:
Principle #23Feedback

3Productivity

If resources are allocated to multiple competing workload types simultaneously, then resource utilization increases, but it becomes impossible to meet QoS targets for all workload types

Engineering Contradiction:
Improveresource utilizationVSAvoidQoS target compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The scheduler applies different quality levels and resource allocation strategies to different workload types based on their specific QoS requirements. High-priority workloads receive guaranteed resource allocation with strict QoS enforcement, while lower-priority workloads share remaining resources. This local differentiation allows high resource utilization overall while ensuring QoS targets are met for critical workloads.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes allocation parameters such as priority levels, resource quotas, and scheduling weights based on current system state and QoS requirements. When QoS targets are at risk, the scheduler adjusts parameters to reallocate resources from non-critical to critical workloads, maintaining high overall utilization while ensuring compliance for priority workloads.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If the scheduler maintains state information for all workloads, then scheduling decisions can be optimized, but the system becomes less scalable and harder to maintain

Engineering Contradiction:
Improvescheduling optimizationVSAvoidscheduler scalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The scheduler extracts and removes unnecessary state information from the scheduling decision process. Only essential state data required for QoS-compliant scheduling is maintained, while non-critical information is eliminated. This reduction in state management overhead improves scalability and maintainability while preserving scheduling optimization capabilities through focused state tracking.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The scheduler implements self-service mechanisms where workload descriptors contain self-identifying information about resource requirements and QoS needs. Workloads essentially describe themselves, reducing the need for the scheduler to maintain extensive external state information. This self-service approach enables scalability while maintaining optimization through efficient, state-light scheduling decisions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11294726B2Systems, methods, and apparatuses for implementing a scalable scheduler with heterogeneous resource allocation of large competing workloads types using QoS
Publication Date: 2022.04.05 SALESFORCE INC
  • US11294726B2 patent drawing
  • US11294726B2 patent drawing
  • US11294726B2 patent drawing

AI summary

In accordance with disclosed embodiments, there are provided systems, methods, and apparatuses for implementing a scalable scheduler with heterogeneous resource allocation of large competing workloads types using Quality of Service (QoS) requirements. For instance, according to one embodiment, there is disclosed a system to implement a scheduling service, in which the system includes: a processor and a memory to execute instructions at the system; a local cache allocated within the memory of the system; a compute resource discovery engine to identify a plurality of computing resources available to execute workload tasks, the computing resources residing within any one of private or public datacenters or third party computing clouds and a plurality of resource characteristics for each of the plurality of computing resources identified; in which the compute resource discovery engine is to fill the local cache with information representing each of the identified computing resources available and the plurality of resource characteristics identified for each of the plurality of computing resources; a workload discovery engine to identify pending workload tasks to be scheduled for execution from one or more workload queues and to update the local cache with the identified workload tasks; a policy engine to identify a Service Level Target (SLT) for each of the workload tasks identified and to update the local cache with the SLT for each workload task identified; and a scheduler to schedule each workload task for execution via one of the computing resources available based on which of the computing resources are estimated to meet the SLT. Other related embodiments are disclosed.