Simulated Annealing Device Parallel Spin Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The simulated annealing scheme faces difficulties in efficiently parallelizing the iterative process for solving combinatorial optimization problems due to dependencies between spins, leading to wasted processes and significant synchronization overhead in multi-process or multi-threading methods.

Innovation Solution

A simulated annealing device and method that parallelize the confirmation and updating of spin flips using vector arithmetic units, allowing for efficient parallelization by computing energy changes across all spins first and updating only when flips are accepted, thereby reducing wasted processes and synchronization overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-process or multi-threading methods are used to parallelize the simulated annealing iterative process, then the processing speed is improved, but synchronization overhead increases and wasted processes occur due to spin dependencies

Engineering Contradiction:
Improveprocessing speedVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the spin population into multiple independent groups, where each group can be processed in parallel without requiring synchronization with other groups. This segmentation eliminates synchronization overhead while maintaining parallel processing speed improvements, as each segment independently undergoes the simulated annealing iterative process.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multi-process or multi-threading methods are used to parallelize the simulated annealing iterative process, then the processing speed is improved, but wasted processes occur due to spin dependencies

Engineering Contradiction:
Improveprocessing speedVSAvoidwasted processes
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By dividing spins into independent segments that can be processed in parallel, the patent eliminates wasted processes caused by dependencies. Each segment processes independently without needing to wait for or synchronize with other segments, thereby maximizing productive parallel processing time and eliminating time waste from synchronization delays and redundant computations.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If sequential processing is used for the simulated annealing iterative process, then synchronization overhead is minimized, but processing speed decreases

Engineering Contradiction:
Improvesynchronization overheadVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies segmentation to divide the sequential processing workload into multiple independent parallel segments. Each segment can be processed simultaneously without requiring synchronization, thereby achieving speedup proportional to the number of segments while maintaining minimal synchronization overhead. This resolves the trade-off by enabling parallel processing without the usual synchronization penalties.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240202392A1Simulated annealing device and simulated annealing method
Publication Date: 2024.06.20 NEC CORP
  • US20240202392A1 patent drawing
  • US20240202392A1 patent drawing
  • US20240202392A1 patent drawing

AI summary

A simulated annealing device for solving a combinatorial optimization problem by a simulated annealing scheme includes a confirmation unit which executes a process of confirming whether a flip is accepted or not for each of n spins from {(k−1)·n+1}-th to k·n-th that constitute an energy function in the Ising model representing the combinatorial optimization problem in parallel with a parallel number n, an updating unit which, when the acceptance of a flip on m-th spin (m is an integer between {(k−1)·n+1} and k·n) is confirmed first, updates change amount in energy of a spin associated with the m-th spin with the m-th spin flipped, and a changing unit which changes spins in which the next process of confirming is executed and the parallel number to spins from (m+1)-th to k·n-th and (n−m), respectively.