Parallel Computing Method for Large Integer Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Android operating system lacks support for parallel computing of large integer multiplication due to non-availability of the CUDA framework, resulting in slow execution speeds for this operation.

Innovation Solution

A parallel computing method that divides character strings into elements of manageable lengths, invoking multiple processors via an execution engine to perform multiplication operations in a matrix format, thereby improving computing speed by executing these operations in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If serial algorithms are used for large integer multiplication in Android operating system, then the system compatibility is maintained, but the computing speed is slow

Engineering Contradiction:
Improvecomputing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides large integer multiplication into multiple smaller sub-multiplications that can be executed in parallel. The large integers are segmented into smaller segments, and multiple processors simultaneously perform multiplication operations on these segments, thereby improving computing speed while maintaining system compatibility through the execution engine interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from serial one-dimensional processing to parallel multi-dimensional processing by utilizing multiple processors working simultaneously. The execution engine coordinates these processors to perform operations in parallel, effectively adding a temporal dimension to the computation process and achieving speedup without fundamentally changing the Android operating system architecture.

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

2Speed

If CUDA framework is used for parallel computing, then the computing speed is improved, but the Android operating system compatibility is lost

Engineering Contradiction:
Improvecomputing speedVSAvoidoperating system compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces an execution engine as an intermediary layer between the Android operating system and the parallel computing processors. This execution engine translates high-level computation requests into processor-specific instructions, enabling parallel computing functionality while maintaining compatibility with the Android operating system without requiring CUDA framework.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The execution engine serves multiple functions: it manages processor allocation, coordinates parallel operations, handles data distribution, and maintains compatibility with Android's application interface. This multi-functional component enables parallel computing across different processor architectures while preserving operating system compatibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If multiple processors are invoked for parallel operation, then the computing speed is improved, but the system resource consumption increases

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent employs partial parallelism by dividing large integer multiplication into segments that are distributed across multiple processors only when necessary. The execution engine intelligently determines the degree of parallelization based on problem size and available resources, invoking multiple processors only for computationally intensive tasks rather than all operations, thereby balancing productivity improvement with energy consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3200068B1Parallel computing method and terminal
Publication Date: 2023.04.26 HUAWEI TECH CO LTD
  • EP3200068B1 patent drawingFigure 1~2a
  • EP3200068B1 patent drawingFigure 2b~3
  • EP3200068B1 patent drawingFigure 4~5

AI summary

A parallel computing method and terminal are used to resolve a current problem of a relatively slow execution speed of a large integer multiplication operation in the Android operating system, where the method includes: dividing, by a terminal, a first character string into M first elements, where lengths of the first elements are not greater than Z, and dividing a second character string into N second elements, where lengths of the second elements are not greater than Z, and Z is determined by the terminal according to a size of memory occupied by an execution engine; invoking multiple processors to perform a multiplication operation on the first elements and the second elements to obtain an N x M matrix; performing, by invoking the multiple processors, an addition operation on elements on a preset diagonal of the N x M matrix to obtain a first temporary result array; and outputting an operation result according to the first temporary result array. In this technical solution, a terminal can implement a parallel operation during operation. Therefore, a computing speed of a large integer multiplication operation is improved.