Parallel Computing Method for Large Integer Multiplication
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Speed
If CUDA framework is used for parallel computing, then the computing speed is improved, but the Android operating system compatibility is lost
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.
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.
3Productivity
If multiple processors are invoked for parallel operation, then the computing speed is improved, but the system resource consumption increases
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.
Data Source
Figure 1~2a
Figure 2b~3
Figure 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.