Parallel LU-Factorization Dynamic Matrix Block Sizing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel computing techniques for solving simultaneous linear equations, specifically LU-factorization, face challenges in reducing processing time due to inefficiencies in matrix communication and computation, particularly in large-scale systems where wait times for communication completion can be substantial.

Innovation Solution

A parallel LU-factorization method where processing nodes measure the time from completing a matrix product to completing communication with other nodes and adjust the matrix size downward if the measured time exceeds a predetermined threshold, allowing for more frequent communication control processing and reducing wait times by using smaller matrix blocks at later stages and larger blocks at earlier stages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large matrix size is used for matrix product computation, then computational efficiency is improved, but communication wait time increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidcommunication wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies dynamics by making the matrix block size variable rather than fixed. The block size is adjusted dynamically based on the stage of LU-factorization computation, using larger blocks at earlier stages when communication overhead is relatively lower, and smaller blocks at later stages when communication wait time becomes more significant. This dynamic adaptation resolves the contradiction between maintaining high computational efficiency and reducing communication wait time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of matrix block size based on computational stage. By monitoring the progression of LU-factorization and adjusting the block size parameter accordingly, the system optimizes the balance between computational throughput and communication overhead. Larger blocks are used when computation can proceed efficiently, while smaller blocks are used when communication wait time begins to dominate.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If a small matrix size is used for matrix product computation, then communication wait time is reduced, but computational efficiency decreases

Engineering Contradiction:
Improvecommunication wait timeVSAvoidcomputational efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

Rather than using a uniformly small matrix block size, the patent employs dynamic adjustment where block size varies with computation stage. This allows the system to maintain larger blocks (and thus higher computational efficiency) during early stages while transitioning to smaller blocks only when communication wait time becomes problematic in later stages.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements periodic reassessment of block size based on computation progress. At predetermined intervals or stages of LU-factorization, the system evaluates whether to maintain or reduce block size, creating a periodic adaptation pattern that balances computational efficiency and communication wait time throughout the computation process.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10417302B2Parallel computer, parallel LU-factorization method, and parallel LU-factorization program
Publication Date: 2019.09.17 FUJITSU LTD
  • US10417302B2 patent drawing
  • US10417302B2 patent drawing
  • US10417302B2 patent drawing

AI summary

A parallel LU-factorization method executed in a parallel computer including a plurality of processing nodes which execute LU-factorization in parallel, the method causes each of the plurality of processing nodes to execute processing of; measuring a first time period, which is a time period from when a matrix product for a matrix of a first size is completed to when communication with a different processing node out of the plurality of processing nodes is completed; and altering a size of a matrix to be used for a matrix product to a second size smaller than the first size in a case where the measured first time period is equal to or longer than a predetermined time period.