Parallel MCMC Data Processing for Combinatorial Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for solving combinatorial optimization problems using the Markov-Chain Monte Carlo (MCMC) method face challenges in efficiently utilizing arithmetic resources due to the sequential processing of state variables, even when the degree of parallelism is increased.

Innovation Solution

The proposed data processing apparatus and method effectively utilize arithmetic resources by parallelizing the solution search processing while observing the principle of sequential processing in the MCMC method, using a configuration that includes multiple replicas and pipelines to process state variables in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential processing of state variables is used to solve combinatorial optimization problems via MCMC method, then solution accuracy is maintained, but arithmetic resource utilization efficiency deteriorates

Engineering Contradiction:
Improvesolution accuracyVSAvoidarithmetic resource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the sequential MCMC processing into multiple parallel pipelines, where each pipeline processes different state variables simultaneously. The combinatorial optimization problem is divided into sub-problems handled by separate processing units, allowing parallel execution while maintaining the sequential update logic within each pipeline through proper synchronization mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing multiple pipelines that can execute MCMC iterations concurrently. This transforms the single-threaded sequential processing into a multi-threaded parallel architecture, effectively utilizing arithmetic resources across multiple processing units while preserving the sequential state variable updates through carefully managed data dependencies between pipelines.

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

2Productivity

If degree of parallelism is increased in solution search processing, then arithmetic resource utilization improves, but solution appropriateness deteriorates due to violation of sequential processing principle

Engineering Contradiction:
Improvearithmetic resource utilizationVSAvoidsolution appropriateness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the parallel processing into multiple independent pipelines, each maintaining the sequential processing principle for its assigned state variables. This segmentation allows parallel execution across pipelines while ensuring that each pipeline independently adheres to the MCMC sequential update requirement, thus preserving solution appropriateness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs preliminary actions by pre-organizing state variables and processing tasks into pipeline-friendly structures before parallel execution begins. This includes pre-computing certain parameters and arranging data dependencies in a manner that enables parallel pipelines to proceed without violating sequential constraints, thereby maintaining solution quality while achieving high resource utilization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4148628B1Data processing apparatus, data processing method, and data processing program
Publication Date: 2025.01.29 FUJITSU LTD
  • EP4148628B1 patent drawingFigure 1
  • EP4148628B1 patent drawingFigure 2
  • EP4148628B1 patent drawingFigure 3

AI summary

A data processing apparatus includes a storage unit that stores a plurality of replicas; and a processing unit that executes, in parallel, first processing of changing, for the plurality of replicas each of which indicates the plurality of state variables, a value of a first target state variable of a plurality of first state variables that belong to a first index range of indices corresponding to each of the plurality of state variables, and second processing of changing, for the plurality of replicas, a value of a second target state variable of a plurality of second state variables that belong to a second index range that does not overlap with the first index range among the plurality of state variables, wherein replicas of the plurality of replicas that are executed at the same timing in the first processing and the second processing are different from each other.