Smith-Waterman Alignment Acceleration via Interleaved Cell Layout
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Smith-Waterman algorithm's matrix-filling phase is computationally inefficient on parallel processors due to sequential execution of instructions and excessive data movement, leading to prolonged processing times for large DNA and protein sequences.
Innovation Solution
A computer-implemented method that reduces the number of instructions required to compute sub-alignment scores by using a single Smith-Waterman instruction or a six-instruction sequence, and interleaving sub-alignment data within a single cell to minimize data movement, along with a specialized instruction for determining the minimum or maximum operand, allowing concurrent computation of multiple sub-alignment scores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional parallel processing approaches are used to distribute sub-alignment score computations across threads, then computational throughput is improved, but the number of instructions and data movement operations increases, reducing efficiency
Solution Approach 1:
The patent combines multiple data structures (E matrix, F matrix, scoring matrix) into a single interleaved array structure where sub-alignment data for multiple sequences are stored contiguously. This merging eliminates the need for separate data structures and reduces data movement operations between them, directly addressing the contradiction by maintaining parallel processing capability while reducing operational complexity
Solution Approach 2:
The patent transitions from a traditional two-dimensional matrix representation to a one-dimensional interleaved array representation. By flattening the multi-dimensional data structure into a single array with interleaved elements, the patent reduces the complexity of data access and movement operations while preserving the parallel processing throughput advantage
2Loss of time
If sequential instruction execution is used for computing sub-alignment scores, then data movement is minimized, but processing time increases significantly for large sequences
Solution Approach 1:
The patent performs preliminary actions by pre-computing and storing substitution values and gap constants in lookup tables during the initialization phase. This allows the main computational loop to access these values directly without sequential computation, significantly reducing processing time for large sequences while maintaining high computational efficiency through parallel processing
Solution Approach 2:
The patent implements continuous useful action by using the interleaved array structure to enable parallel threads to compute sub-alignment scores for multiple sequences simultaneously without interruption. The contiguous memory layout allows for efficient data streaming and eliminates idle waiting time, maintaining continuous productive computation throughout the processing of large sequences
3Productivity
If separate matrices are used to store E, F, and H values, then data organization is clear, but data movement instructions increase, reducing computational throughput
Solution Approach 1:
The patent merges the E, F, and H matrices into a single interleaved array structure where corresponding elements from all matrices are stored contiguously. This eliminates the need for separate data structures and reduces data movement operations between them, directly addressing the contradiction by maintaining parallel processing capability while reducing operational complexity
Solution Approach 2:
The interleaved array structure serves multiple functions simultaneously: it stores E values, F values, and H values; enables parallel processing; reduces data movement; and provides efficient memory access patterns. This multi-functionality resolves the contradiction by achieving high computational throughput without increasing data movement operations
Data Source
AI summary
Various techniques for accelerating Smith-Waterman sequence alignments are provided. For example, threads in a group of threads are employed to use an interleaved cell layout to store relevant data in registers while computing sub-alignment data for one or more local alignment problems. In another example, specialized instructions that reduce the number of cycles required to compute each sub-alignment score are utilized. In another example, threads are employed to compute sub-alignment data for a subset of columns of one or more local alignment problems while other threads begin computing sub-alignment data based on partial result data received from the preceding threads. After computing a maximum sub-alignment score, a thread stores the maximum sub-alignment score and the corresponding position in global memory.


