Merge-Based Parallel Sequence Processing for Workload Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel algorithms for processing segmented data struggle with workload balancing due to diverse datasets containing a majority of short or zero-length segments alongside a minority of significantly longer segments, leading to inefficient distribution of computations across processing elements.

Innovation Solution

A merge-based algorithm is employed to distribute the workload evenly among processing elements by merging sequences of data and assigning them in a way that each processing element processes an approximately equal number of values, regardless of segment length, using a parallel processing unit to execute threads in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is divided by row or column in a matrix, then the data can be processed in parallel, but the workload is not balanced because some segments are much longer than others

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidworkload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies segmentation by dividing the matrix data into multiple segments along both row and column dimensions, creating a grid of sub-segments. Each processing element is assigned a specific sub-segment, enabling parallel processing while maintaining manageable segment sizes. This two-dimensional segmentation resolves the imbalance caused by single-dimensional division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-dimensional data division (either rows or columns) to two-dimensional division by introducing both row and column segmentation. This dimensional change creates a grid structure where data can be distributed across processing elements in a balanced manner, simultaneously achieving parallel processing capability and workload balance.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If variable length lists are divided evenly by list index, then the distribution appears uniform, but the computational complexity varies significantly across segments

Engineering Contradiction:
Improveuniform distributionVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies local quality by assigning different numbers of processing elements to different segments based on their computational complexity. Segments with higher computational requirements receive more processing elements, while simpler segments receive fewer. This non-uniform assignment optimizes overall computational efficiency rather than enforcing strict uniform distribution.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of segment assignment from fixed uniform distribution to dynamic distribution based on computational complexity metrics. By evaluating the complexity of each segment and adjusting the number of processing elements accordingly, the system achieves better overall productivity while maintaining reasonable load balance.

Inventive Principle:
Principle #35Parameter changes

3Extent of automation

If processors are assigned short or zero-length segments, then more processors can be utilized, but these processors have very few computations to perform

Engineering Contradiction:
Improveprocessor utilizationVSAvoidcomputational workload
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent applies dynamics by making the assignment of processing elements to segments flexible and adaptive rather than static. Processing elements can be dynamically allocated to segments based on the actual computational workload, allowing the system to adjust to varying data characteristics and maintain high processor utilization without assigning excessive idle processors to short segments.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9928034B2Work-efficient, load-balanced, merge-based parallelized consumption of sequences of sequences
Publication Date: 2018.03.27 NVIDIA CORP
  • US9928034B2 patent drawing
  • US9928034B2 patent drawing
  • US9928034B2 patent drawing

AI summary

A method, computer readable medium, and system are disclosed for processing a segmented data set. The method includes the steps of receiving a data structure storing a plurality of values segmented into a plurality of sequences; assigning a plurality of processing elements to process the plurality of values; and processing the plurality of values by the plurality of processing elements according to a merge-based algorithm. Each processing element in the plurality of processing elements identifies a portion of values in the plurality of values allocated to the processing element based on the merge-based algorithm. In one embodiment, the processing elements are threads executed in parallel by a parallel processing unit.