Parallel Data Processing Optimization via Dynamic Subset Sizing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing optimized programming code for parallel data processing on hardware platforms with multiple processing units is challenging due to variations in execution time based on hardware architecture, memory access speeds, and data transfer efficiencies.

Innovation Solution

A method that determines the maximum number of tasks executable in parallel, optimizes data subset sizes, and generates new processing spaces by selecting integer multiples for improved execution performance, using criteria such as execution time, to achieve efficient task distribution and data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data subsets are divided into smaller units for parallel processing, then processing parallelism is improved, but execution time increases due to overhead and suboptimal memory access patterns

Engineering Contradiction:
Improveprocessing parallelismVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the parameter of data subset size from fixed small units to variable sizes that are multiples of optimal block sizes (2, 4, or 8 elements). This allows the system to maintain parallelism while using larger, more efficient data blocks that reduce overhead and improve memory access patterns, thereby reducing execution time.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dynamic adjustment of data subset sizes based on hardware platform characteristics and performance metrics. The system dynamically selects optimal subset sizes from a set of multiples during compilation or runtime, adapting to different hardware configurations to achieve both high parallelism and efficient execution.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If data subset sizes are increased to reduce overhead, then execution efficiency is improved, but the ability to utilize all processing units in parallel is reduced

Engineering Contradiction:
Improveexecution efficiencyVSAvoidparallel task utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments the total data set into multiple subsets, where each subset size is a multiple of optimal block sizes (2, 4, or 8 elements). This segmentation strategy ensures that data is divided into manageable chunks that are large enough to be processed efficiently by each processing unit while still allowing sufficient numbers of subsets to utilize all available processing units in parallel.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If programming code is manually optimized for specific hardware architectures, then execution performance is improved, but development complexity and time increase

Engineering Contradiction:
Improveexecution performanceVSAvoidprogramming complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a self-service optimization system where the compilation process automatically determines optimal data subset sizes based on the target hardware platform characteristics. The compiler or build system performs benchmarking and analysis to select the best configuration without requiring manual intervention from developers, thereby maintaining high execution performance while reducing programming complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs optimization analysis and determination of optimal data subset sizes during the compilation or build phase, before the actual execution. This preliminary action allows the system to pre-calculate and embed the optimal configuration for the specific hardware platform, eliminating the need for runtime adjustments or manual optimization efforts during development.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3019957B1Method for optimising the parallel processing of data on a hardware platform
Publication Date: 2020.03.18 THALES SA
  • EP3019957B1 patent drawingFigure 1~2
  • EP3019957B1 patent drawingFigure 3~4
  • EP3019957B1 patent drawingFigure 5

AI summary

The invention relates to a method for optimising the parallel processing of data on a hardware platform, said hardware platform comprising at least one computing unit including a plurality of processing units that can execute a plurality of executable tasks in parallel, the data to be processed forming a data set that can be broken down into data subsets, with the same series of operations being performed on each data subset.