Interleaved Sub-Alignment Data Storage for Smith-Waterman

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Smith-Waterman algorithm's matrix-filling phase is computationally inefficient when executed 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 determines and stores sub-alignment data in an interleaved fashion within a single cell, using specialized instructions to reduce the number of instructions required for computing sub-alignment scores and minimizing data movement, allowing concurrent computation of multiple sub-alignment scores and efficient storage of intermediate results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional sequential instructions are used to compute sub-alignment scores, then computational accuracy is maintained, but computational throughput is reduced and processing time increases

Engineering Contradiction:
Improvecomputational throughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the computation of sub-alignment scores into independent parallel tasks that can be executed concurrently on multiple processing elements. Each processing element computes scores for specific matrix positions independently, eliminating sequential dependencies and enabling simultaneous execution of multiple score calculations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing computations across multiple processing elements that operate simultaneously on different portions of the scoring matrix. This dimensional expansion from sequential to parallel processing dramatically increases computational throughput while maintaining accuracy.

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

2Productivity

If separate matrices are used to store E values, F values, and sub-alignment scores, then data organization is simplified, but data movement increases and computational efficiency decreases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the previously separate E matrix, F matrix, and scoring matrix into a single unified data structure. This consolidation eliminates redundant memory operations and reduces data movement between separate matrices, thereby improving computational efficiency while the unified structure itself manages the complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified data structure serves multiple functions simultaneously: it stores E values, F values, and sub-alignment scores, and provides a single source for data retrieval during parallel computations. This multi-functionality reduces the need for separate data structures and minimizes data movement overhead.

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

3Productivity

If multiple data movement instructions are executed to retrieve E values, F values, and substitution values, then data accuracy is ensured, but computational throughput is reduced

Engineering Contradiction:
Improvecomputational throughputVSAvoiddata retrieval complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent performs preliminary organization of data within the unified structure so that E values, F values, and substitution values are readily accessible during computation. This preliminary arrangement eliminates the need for multiple sequential data movement instructions, as all required data can be retrieved efficiently in a single operation.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If ten sequential instructions are executed to compute each sub-alignment score, then computational accuracy is maintained, but the number of instructions increases and processing time extends

Engineering Contradiction:
Improvecomputation accuracyVSAvoidinstruction execution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges multiple sequential instruction operations into a single unified computational operation that executes on parallel processing elements. This consolidation maintains the accuracy of individual score computations while dramatically reducing the total number of instructions executed and improving overall processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11822541B2Techniques for storing sub-alignment data when accelerating Smith-Waterman sequence alignments
Publication Date: 2023.11.21 NVIDIA CORP
  • US11822541B2 patent drawing
  • US11822541B2 patent drawing
  • US11822541B2 patent drawing

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.