Buffered Operation Engine for Dynamic Programming Workload Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dynamic programming algorithms, such as the Smith-Waterman algorithm, require significant computational resources and time, leading to a substantial workload for cores when performing repetitive operations and inputs/outputs.
Innovation Solution
An electronic device with a receiving unit, first and second buffers (SRAMs), and an operation engine that loads data values from the buffers and performs operations based on a predetermined calculation formula, such as the Smith-Waterman algorithm, to reduce the workload on cores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If dynamic programming algorithms (e.g., Smith-Waterman) are used to achieve high accuracy in sequence alignment, then measurement precision is improved, but productivity deteriorates due to significant computational resources and time requirements
Solution Approach 1:
The patent divides the computational workload into two segments: (1) repetitive operations and input/output operations are performed by dedicated operational units separate from cores, and (2) cores focus on higher-level control and non-repetitive tasks. This segmentation allows the system to maintain high accuracy through proper algorithm implementation while improving productivity by parallelizing repetitive operations.
Solution Approach 2:
The patent introduces buffers as intermediary components between cores and external memory devices. These buffers temporarily store data values, reducing the frequency of input/output operations and thereby decreasing the computational burden on cores. This intermediary mechanism maintains measurement precision while significantly improving productivity by reducing redundant data access operations.
2Measurement precision
If cores perform repetitive operations and input/outputs for dynamic programming algorithms, then measurement precision is maintained, but loss of time increases due to substantial computational workload
Solution Approach 1:
The patent implements preliminary action by having operational units pre-calculate and store result data values in buffers before they are needed by cores. This allows cores to retrieve pre-computed values rather than performing repetitive calculations, thereby maintaining calculation accuracy while significantly reducing computation time. The buffers act as pre-prepared storage for frequently accessed data.
Solution Approach 2:
The operational units perform self-service by autonomously executing repetitive operations and managing buffer storage without requiring core intervention. This self-service mechanism handles time-consuming repetitive tasks independently, allowing cores to focus on more critical functions and thereby reducing overall computation time while maintaining accuracy through proper operational unit design.
3Measurement precision
If data values are frequently loaded and stored for each operation in dynamic programming, then measurement precision is ensured, but device complexity increases due to substantial data handling requirements
Solution Approach 1:
The patent merges the buffer management functionality directly into the operational units, combining data storage and data processing functions into integrated components. This merging reduces device complexity by eliminating separate buffer management logic and reducing the number of independent components, while still ensuring measurement precision through the operational units' ability to properly handle and process data values.
Data Source
AI summary
As one aspect of the present disclosure, an electronic device is disclosed. The electronic device comprises a receiving unit for receiving a command from an external source, a first buffer for storing a first data value, and an operation engine for loading the first data value from the first buffer in response to the command and performing an operation based on a predetermined calculation formula on the loaded first data value, wherein the first data value is at least one of a result data value obtained by the operation engine previously performing an operation based on the predetermined calculation formula or a query data value to be used for an operation based on the predetermined calculation formula.


