Job Scheduling Based on Execution History

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, especially those utilizing cloud resources, there is a challenge in managing job scheduling to prevent large-scale concurrent failures caused by flawed programs, which can lead to increased resource usage costs and inefficiencies due to the lack of effective trustworthiness assessment of job execution histories.

Innovation Solution

A job scheduling system that determines a resource allocation score based on job execution history, allowing for the initial portion of jobs to be scheduled while delaying the remainder, and dynamically adjusts resource allocation based on the success or failure of the initial job execution, thereby throttling resource usage and reducing the likelihood of mass failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all jobs in a workload are scheduled for concurrent execution, then productivity is improved, but reliability deteriorates due to potential mass failures from flawed programs

Engineering Contradiction:
Improvejob execution throughputVSAvoidjob execution success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary assessment of workload trustworthiness by analyzing execution history and resource allocation scores before full concurrent execution. This preliminary action allows the system to identify potentially flawed workloads and prevent mass failures while still enabling productive execution of trustworthy workloads.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system schedules only a portion of jobs for concurrent execution based on the resource allocation score, rather than executing all jobs simultaneously. This partial action approach limits the scope of potential failures while maintaining productivity for the scheduled portion, and allows progressive execution of additional jobs as trustworthiness is confirmed.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If resource allocation is restricted to prevent failures, then reliability is improved, but productivity deteriorates due to delayed job execution

Engineering Contradiction:
Improvesystem stabilityVSAvoidjob completion rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the resource allocation score and job scheduling decisions based on real-time execution outcomes and historical data. This dynamic approach allows the system to be conservative when reliability concerns are high and more aggressive when trustworthiness is confirmed, optimizing both reliability and productivity adaptively rather than using fixed restrictions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from job execution results to update resource allocation scores and adjust future scheduling decisions. Successful executions increase the resource allocation score, allowing more aggressive scheduling, while failures decrease the score, triggering more conservative resource allocation. This feedback loop ensures that productivity restrictions are relaxed as reliability is demonstrated.

Inventive Principle:
Principle #23Feedback

3Reliability

If resource allocation score is used to control job scheduling, then reliability is improved, but device complexity increases due to additional scoring and monitoring mechanisms

Engineering Contradiction:
Improveworkload trustworthiness assessmentVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses the workload's own execution history and performance data to generate its resource allocation score, rather than requiring external manual assessment. This self-service approach automatically builds trustworthiness metrics from observed behavior, reducing the need for complex external verification mechanisms while improving reliability through data-driven decision making.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11507417B2Job scheduling based on job execution history
Publication Date: 2022.11.22 AMAZON TECH INC
  • US11507417B2 patent drawing
  • US11507417B2 patent drawing
  • US11507417B2 patent drawing

AI summary

Methods, systems, and computer-readable media for job scheduling based on job execution history are disclosed. A request is received to schedule a workload comprising a plurality of jobs. A resource allocation score for the workload is determined. The resource allocation score represents (at least in part) an estimated likelihood of successful execution of the workload. A first portion of the workload is scheduled for execution, and a remaining portion (if any) of the workload is delayed. A quantity of jobs in the first portion of the workload is determined based (at least in part) on the resource allocation score. Execution of the first portion of the workload is initiated.