Multi-threaded Data Processing Workload Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in distributing workload across multiple processing threads, leading to suboptimal performance and resource utilization, as they struggle to balance workload decomposition and parallelism.

Innovation Solution

A method that analyzes data properties and record descriptions to determine expected workload, allowing for efficient allocation of data sets to processing threads, optimizing resource usage and reducing redundancy by dividing data into appropriate segments and allocating them to suitable processing threads based on available resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is divided into more segments to increase parallelism, then processing throughput improves, but workload distribution becomes more complex and overhead increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidworkload distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data into multiple data sets that can be distributed across processing threads. The data is divided based on record descriptions and workload indicators, creating manageable segments that balance parallelism benefits with distribution complexity. Each segment is allocated to appropriate threads based on analyzed workload characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of record descriptions and determination of workload indicators before actual data processing begins. This preliminary action includes analyzing data properties, determining expected workload for different data records, and pre-planning the distribution strategy. By preparing the distribution plan in advance based on analyzed characteristics, the system avoids complex real-time decision-making during processing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If processing threads are allocated uniformly across data sets, then implementation is simple, but processing performance deteriorates due to inefficient resource utilization

Engineering Contradiction:
Improveprocessing performanceVSAvoidthread allocation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies local quality by allocating processing threads to data sets based on their specific workload characteristics rather than uniform distribution. Different data sets with different workload indicators receive different numbers of processing threads. The allocation is determined by analyzing record descriptions and workload indicators specific to each data set, ensuring optimal resource utilization for each local region of data.

Inventive Principle:
Principle #3Local quality

3Productivity

If data analysis for workload determination is performed, then resource allocation optimization improves, but processing time before main task increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidpre-processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs the data analysis and workload determination as a preliminary action before the main processing task. By analyzing record descriptions and determining workload indicators in advance, the system establishes an optimized thread allocation plan beforehand. This preliminary analysis enables efficient resource allocation during actual processing without requiring continuous analysis during the main task execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10387207B2Data processing
Publication Date: 2019.08.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10387207B2 patent drawing
  • US10387207B2 patent drawing
  • US10387207B2 patent drawing

AI summary

Methods are provided for data processing in a multi-threaded processing arrangement. The methods include receiving a data processing task to be executed on data including a plurality of data records, the data having an associated record description including information relating to parameters or attributes of the plurality of data records. Based on the received data processing task, the record description is analyzed to determine an indication of expected workload for the data records. Further, the data is divided into a plurality of data sets. Based on the determined indication of expected workload for the data records, the data sets are allocated processing threads for parallel processing by a multi-threaded processing arrangement.