Parallel Maximum Subset Sum Calculation via SIMD Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for calculating the maximum subset sum of an array, such as the Kadane and Smith methods, are not suitable for parallel processing, limiting their efficiency and preventing reduction in processing time, especially when dealing with streaming data.

Innovation Solution

An information processing device and method that utilize parallel processing to efficiently calculate the maximum subset sum of an array by employing a processor with SIMD operations, dividing the array into sub-blocks, and using bit operations to calculate and combine sub-block values, reducing computational complexity to O(n/α log α.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the Kadane method is used to calculate maximum subset sum, then the algorithm is simple to implement, but processing time cannot be reduced by parallel processing

Engineering Contradiction:
Improveease of implementationVSAvoidprocessing speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The array is divided into multiple sub-arrays, and the maximum subset sum is calculated for each sub-array independently in parallel. This segmentation allows simultaneous processing of different portions of the data, achieving speedup while maintaining algorithmic simplicity through modular structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The results from parallel processing of sub-arrays are merged by combining adjacent sub-arrays and calculating the maximum subset sum across the merged region. This merging process is repeated hierarchically until the final maximum subset sum for the entire array is obtained, enabling parallel execution while preserving correctness.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If the Smith method is used to calculate maximum subset sum, then parallel processing is theoretically possible, but specific and practical implementation by general-purpose hardware is not discussed

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The array is divided into blocks of manageable size, with each block processed independently to compute local maximum subset sums. This segmentation transforms the theoretical parallel approach into practical units that general-purpose hardware can handle efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processing is organized in a hierarchical structure where small blocks are merged into larger blocks, which are then merged into even larger blocks in successive stages. This nested approach allows parallel processing at each level while managing complexity through progressive aggregation of results.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Ease of operation

If traditional sequential methods are used for streaming data, then processing is straightforward, but processing time increases and real-time analysis becomes difficult

Engineering Contradiction:
Improveprocessing simplicityVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The streaming data is processed in fixed-size blocks that can be handled in parallel. Each block is independently processed to compute its maximum subset sum, allowing simultaneous computation across multiple blocks while maintaining simplicity through uniform block processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Blocks of streaming data are pre-processed and stored in memory buffers before final aggregation. This preliminary parallel processing of individual blocks reduces the overall processing time when the complete dataset is available, enabling real-time analysis capabilities.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3147795B1Information processing device, information processing method, and program
Publication Date: 2023.11.15 RAKUTEN GROUP INC
  • EP3147795B1 patent drawingFigure 1~2
  • EP3147795B1 patent drawingFigure 3
  • EP3147795B1 patent drawingFigure 4~5

AI summary

A maximum subset sum of an array is quickly acquired with parallel processing by a program. Provided is an information processing device configured to: acquire blocks, each of the blocks containing a series of a predetermined number of elements and being a part of an array; generate a total sum block, a maximum block, a first maximum block, and a last maximum block for a plurality of sub-blocks obtained by dividing each of the blocks; iteratively execute processing of calculating, for a new sub-block obtained by combining the plurality of sub-blocks, a new total sum block, a new maximum block, a new first maximum block, and anewlast maximum block with predetermined processor instructions for operating, in bulk, values of a plurality of sub-blocks stored in a register; determine, after the processing is executed a predetermined number of times, a total sum of element values, a maximum value of subset sums, a maximum value of subset sums summed from a first element, and a maximum value of subset sums summed to a last element for each of the blocks; and calculate the maximum value of subset sums in the array based on the determined values.