Dynamic Thread Workload Balancing for Data Processing Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data processing systems experience significant consumption of computing bandwidth and I/O throughput during data sorting operations due to resource-intensive serial processing, particularly when using higher performance storage which is costly and has lower storage capacity.

Innovation Solution

A method involving multiple threads to dynamically assign and adjust sub-processes, ensuring performance characteristics are equal across threads, allowing for parallel processing and efficient resource distribution, thereby reducing computational resource consumption and improving throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If higher performance storage is utilized to perform data sorting, then performance metrics are improved, but storage capacity is reduced due to higher cost

Engineering Contradiction:
Improveperformance metricsVSAvoidstorage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The data sorting process is divided into multiple independent sub-processes that can be executed in parallel across different threads. Each thread handles a specific subset of sorting operations, allowing the system to utilize higher performance storage for critical path operations while maintaining overall storage capacity through parallel processing of less time-sensitive sub-processes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts workload distribution among threads based on real-time performance characteristics. The managing thread monitors thread performance and dynamically reassigns sub-processes to balance load, allowing flexible utilization of higher performance storage resources while maintaining storage capacity efficiency.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If data sorting is performed in a serial nature, then resource consumption is reduced, but processing time is lengthened

Engineering Contradiction:
Improveprocessing timeVSAvoidcomputing bandwidth consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The sorting process is segmented into multiple sub-processes that can be executed concurrently in parallel threads. This segmentation enables the system to reduce processing time by overlapping I/O operations and computation across multiple threads, while the managing thread coordinates resource allocation to prevent excessive computing bandwidth consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous useful action by overlapping I/O processing with computation across multiple threads. While some threads perform computation, others handle I/O operations, ensuring that computing bandwidth is continuously utilized without idle periods, thereby reducing overall processing time without proportionally increasing total resource consumption.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If workload is statically assigned to threads, then system complexity is reduced, but performance efficiency is decreased due to unequal thread performance

Engineering Contradiction:
Improveperformance efficiencyVSAvoidworkload management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The managing thread continuously monitors the performance characteristics of worker threads and uses this feedback to dynamically adjust workload distribution. When a thread falls behind or exceeds performance expectations, the system reassigns sub-processes to balance the load, ensuring optimal performance efficiency while maintaining manageable complexity through centralized coordination.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The workload assignment is made dynamic rather than static, allowing the system to adapt to changing performance conditions. The managing thread can reassign sub-processes in real-time based on observed thread performance, enabling the system to maintain high performance efficiency while the complexity of dynamic management is handled through structured workload coordination protocols.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12033003B2Dynamic workload distribution for data processing
Publication Date: 2024.07.09 SIEMENS MEDICAL SOLUTIONS USA INC
  • US12033003B2 patent drawing
  • US12033003B2 patent drawing
  • US12033003B2 patent drawing

AI summary

A computer-implemented method, according to one embodiment, includes: receiving a data process that includes a plurality of sub-processes. A unique subset of the sub-processes is assigned to each of: a managing thread, and at least one other thread. Moreover, performance characteristics of each of the threads is evaluated while the respective subsets of sub-processes are being performed, and a determination is made as to whether the performance characteristics of each of the threads are substantially equal to the performance characteristics of each of the other threads. In response to determining that performance characteristics of each of the threads are not substantially equal, the subsets of the sub-processes are dynamically adjusted such that the performance characteristics of each of the threads become more equal. Moreover, the adjusted subsets of the sub-processes are reassigned to each of the managing thread and at least one other thread.