Heuristics-Based Job Scheduling for Data Analytics Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Providers of computing resources face challenges in efficiently and cost-effectively allocating resources due to varying customer demands, leading to inefficiencies in resource utilization and increased costs.

Innovation Solution

A computer system with a scheduler that utilizes a common interface for multiple scheduling algorithms, selects the appropriate algorithm based on job type using benchmark data, and schedules jobs across computing nodes to optimize resource allocation and utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computing resources are increased to meet peak demand, then service reliability is improved, but resource utilization efficiency deteriorates due to idle capacity during low-demand periods

Engineering Contradiction:
Improveservice reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically selects scheduling algorithms based on job characteristics and current system state. The algorithm selector module evaluates multiple scheduling algorithms and chooses the most appropriate one for each job type, enabling the system to adapt to varying workloads and optimize resource allocation in real-time, thus maintaining reliability while improving utilization efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes scheduling parameters (algorithm selection) based on job type and system conditions. By maintaining a portfolio of different scheduling algorithms and selecting the optimal one for each job type through benchmark data comparison, the system can optimize resource utilization for different workload patterns while ensuring service reliability

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple scheduling algorithms are maintained to handle different job types, then adaptability is improved, but system complexity increases

Engineering Contradiction:
Improvejob type adaptabilityVSAvoidscheduling system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The algorithm selector module serves as an intermediary between the job submission interface and the multiple scheduling algorithms. It receives job requests, characterizes them using benchmark data, selects the appropriate scheduling algorithm, and routes the job to the corresponding algorithm. This intermediary layer manages the complexity of multiple algorithms while providing a unified interface to users

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The scheduling system is segmented into distinct functional modules: job reception interface, algorithm selector, benchmark data module, and multiple specialized scheduling algorithms. Each module has a specific responsibility, and the segmentation allows the system to handle different job types through appropriate algorithms while keeping the overall system manageable through clear modular boundaries

Inventive Principle:
Principle #1Segmentation

3Productivity

If dynamic scheduling is implemented to optimize resource allocation, then resource utilization is improved, but computational overhead increases due to algorithm selection and job comparison processes

Engineering Contradiction:
Improveresource utilizationVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary characterization of job types using benchmark data before actual scheduling execution. By pre-establishing job type categories and their associated optimal scheduling algorithms through benchmarking, the system reduces the computational overhead during runtime scheduling decisions, as the algorithm selection process can quickly match jobs to pre-characterized types rather than evaluating all algorithms for every job

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9183058B2Heuristics-based scheduling for data analytics
Publication Date: 2015.11.10 SAP SE
  • US9183058B2 patent drawing
  • US9183058B2 patent drawing
  • US9183058B2 patent drawing

AI summary

A scheduler may receive a plurality of jobs for scheduling of execution thereof on a plurality of computing nodes. An evaluation module may provide a common interface for each of a plurality of scheduling algorithms. An algorithm selector may utilize the evaluation module in conjunction with benchmark data for a plurality of jobs of varying types to associate one of the plurality of scheduling algorithms with each job type. A job comparator may compare a current job for scheduling against the benchmark data to determine a current job type of the current job. The evaluation module may further schedule the current job for execution on the plurality of computing nodes, based on the current job type and the associated scheduling algorithm.