Stateless Scheduler with Dynamic Workload Termination

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) for workload completion times and resource usage, and lack extendibility and maintainability, making it difficult to prove the correctness of scheduling algorithms and optimize resource allocation in cloud-based computing environments.

Innovation Solution

A stateless, deterministic scheduler with interruption recovery and scalable resource allocation is implemented, using a local cache to dynamically allocate resources based on real-time data from compute and Continuous Integration clouds, prioritizing workloads according to QoS requirements and iteratively optimizing resource allocation to meet SLTs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional schedulers are used, then resource allocation can be performed, but Quality of Service (QoS) targets and Service Level Targets (SLTs) are not adequately addressed

Engineering Contradiction:
ImproveQoS and SLT complianceVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduling system is divided into distinct components: a scheduler that handles workload assignment and a workload manager that manages execution. This segmentation allows each component to focus on specific QoS and SLT requirements without being burdened by the entire system's complexity, thereby improving reliability while managing device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduler implements dynamic workload termination based on cost-benefit analysis, allowing the system to adapt resource allocation in real-time. This dynamic approach enables the system to meet QoS and SLT targets by adjusting scheduling decisions based on current system state, improving reliability without requiring a statically complex system architecture.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If conventional schedulers are used, then scheduling can be performed, but extendibility and maintainability are lacking

Engineering Contradiction:
Improvescheduler extendibilityVSAvoidscheduling algorithm complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By separating the scheduler from the workload manager, the system achieves better extendibility. The scheduler can be modified or replaced without affecting the workload management component, and vice versa. This modular architecture allows independent development and maintenance of each component, improving adaptability while managing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The workload manager is designed to handle multiple workload types and scheduling scenarios through a unified interface. This universal design allows the system to be extended to handle new workload types without fundamentally redesigning the core scheduling algorithm, thereby improving adaptability while keeping the scheduling algorithm's complexity manageable.

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

3Reliability

If resources are allocated to meet high priority workloads, then QoS targets can be met, but resource utilization efficiency may decrease

Engineering Contradiction:
ImproveQoS target achievementVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically changes scheduling parameters based on workload characteristics and system state. By adjusting priority levels, allocation ratios, and termination thresholds, the system can optimize the balance between meeting QoS targets and maintaining resource utilization efficiency. This parameter adjustment allows the system to adapt to different operational conditions rather than being locked into a fixed allocation scheme.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduler implements feedback mechanisms that monitor QoS target achievement and resource utilization simultaneously. Based on this feedback, the system adjusts scheduling decisions to maintain an optimal balance - terminating workloads when they no longer provide value and reallocating resources to higher-priority tasks, thereby maintaining both QoS compliance and resource efficiency.

Inventive Principle:
Principle #23Feedback

4Productivity

If dynamic workload termination is implemented, then resource allocation can be optimized, but system complexity increases

Engineering Contradiction:
Improveresource allocation optimizationVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The complex logic for dynamic workload termination and cost-benefit analysis is extracted from the core scheduler and placed in the workload manager. This extraction allows the scheduler to remain relatively simple while delegating the complex optimization decisions to the workload manager, which is designed to handle such complexity. This separation improves resource allocation optimization while managing system complexity through modular design.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10956222B2Systems, methods, and apparatuses for implementing a scheduler and workload manager with dynamic workload termination based on cost-benefit analysis
Publication Date: 2021.03.23 SALESFORCE INC
  • US10956222B2 patent drawing
  • US10956222B2 patent drawing
  • US10956222B2 patent drawing

AI summary

In accordance with disclosed embodiments, there are provided systems, methods, and apparatuses for implementing a stateless, deterministic scheduler and work discovery system with interruption recovery. For instance, according to one embodiment, there is disclosed a system to implement a stateless scheduler service, in which the system includes: a processor and a memory to execute instructions at the system; a compute resource discovery engine to identify one or more computing resources available to execute workload tasks; a workload discovery engine to identify a plurality of workload tasks to be scheduled for execution; a cache to store information on behalf of the compute resource discovery engine and the workload discovery engine; a scheduler to request information from the cache specifying the one or more computing resources available to execute workload tasks and the plurality of workload tasks to be scheduled for execution; and further in which the scheduler is to schedule at least a portion of the plurality of workload tasks for execution via the one or more computing resources based on the information requested. Other related embodiments are disclosed.