Batch Job Profile Optimization via Statistical Data Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in efficiently tuning parameters for batch processing jobs, such as ETL processes, due to significant guesswork and system monitoring required to optimize performance, leading to inefficiencies and slow processing times.

Innovation Solution

A method that retrieves a job profile with statistical data from prior executions to modify execution profiles, optimizing parameters like memory block size and parallelism, thereby reducing the need for manual tuning and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers manually tune parameters such as memory block size and parallelism to optimize performance, then processing efficiency may improve, but the time and effort required for system monitoring and parameter adjustment increases significantly

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtime for manual tuning and monitoring
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs self-optimization by automatically collecting statistical data from prior job executions and using that data to determine optimal execution parameters. The workload collector gathers metrics like execution time, resource usage, and performance characteristics, which the parameter determination module then analyzes to automatically adjust memory block sizes, parallelism levels, and other parameters without requiring manual developer intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback loop where statistical data from executed jobs is collected, analyzed, and used to modify execution parameters for subsequent jobs. The workload collector continuously monitors performance characteristics, feeds this information back to the parameter determination module, which then adjusts parameters to optimize future executions based on observed performance patterns.

Inventive Principle:
Principle #23Feedback

2Speed

If developers increase the degree of parallelism to process data faster, then processing speed improves, but system resource consumption and complexity increase

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem resource management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system automatically adjusts execution parameters including the degree of parallelism based on statistical data from prior runs. The parameter determination module analyzes historical performance metrics and dynamically determines optimal parameter values for memory block size, parallelism level, and other execution settings, allowing the system to adapt to varying data sizes and workloads without manual configuration.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If developers adjust memory block size to optimize data processing, then processing efficiency improves, but the complexity of system configuration and monitoring increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidconfiguration and monitoring complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically determines optimal memory block sizes by analyzing statistical data collected from prior executions. The workload collector gathers metrics related to memory usage, data volumes, and processing performance, which the parameter determination module then uses to automatically configure appropriate memory block sizes for subsequent jobs, eliminating the need for manual developer configuration and monitoring.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9983906B2Dynamic optimization of workload execution based on statistical data collection and updated job profiling
Publication Date: 2018.05.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9983906B2 patent drawing
  • US9983906B2 patent drawing
  • US9983906B2 patent drawing

AI summary

Embodiments presented herein provide techniques for optimizing parallel data flows of a batch processing job using a profile of the processing job. An application retrieves a job profile for a processing job. The processing job has a plurality of processing stages specified in an execution profile. The job profile includes statistical data for at least one of the processing stages obtained during prior executions of the job. The application modifies properties of the execution profile based on the job profile to optimize the execution of the job. The application executes the processing job with the modified execution profile.