SALIENT: Ultra-Fast FPGA-based Short Read Alignment

Published in International Conference on Field Programmable Technology (FPT) 2022, 2022

Recommended citation: Khaleghi B, Zhang T, Martion C, Armstrong G, Akel A, Curewitz K, Eno J, Eilert S, Knight R, Moshiri N, Rosing T (2022). "SALIENT: Ultra-Fast FPGA-based Short Read Alignment." International Conference on Field Programmable Technology (FPT) 2022.

Short read alignment is the core step of bioinformatics pipelines. Significant effort has been devoted to boost the performance of software aligners by taking advantage of hardware advancements and novel algorithms. However, existing FPGA implementations of read alignment leverage algorithms that were primarily tailored for limited resources (e.g., memory capacity) which diminishes the performance. In addition, previous FPGA accelerators have mainly focused on a subset of alignment problems, i.e., ungapped alignment and limited number of mismatches, which hinder their practical utility. In this work, we analyze the existing alignment methods and point out the performance bottleneck of previous accelerators due to memory accesses. We utilize hash-table to exploit the ample memory of a modern FPGA card to a quid pro quo between memory capacity and accesses, whereby the latter is reduced by looking up the location of a whole sub-read. Our alignment framework, dubbed SALIENT, first runs our proposed ultra-fast ungapped aligner with flexible amount of mismatch coverage. Based on the underlying bioinformatics pipeline and the information provided by the ungapped aligner, SALIENT determines a fewer ratio of reads that need to be passed through its gapped aligner. We extensively evaluate SALIENT using diverse datasets. Experimental results indicate that SALIENT, running on a single Xilinx Alveo U280 device, delivers an average throughput of 546 million base/second, outperforming the state-of-the-art minimap2 software by 39.7x, and Bowtie2 by up to 107.3x, with a similar alignment accuracy. Compared to the best ungapped FPGA alignment system, SALIENT yields 40.4x improvement in energy-delay product (4.3x higher performance with 9.4x less energy consumption). Compared to the best FPGA-based platform with gap support, SALIENT improves the energy-delay by 321.5x (5.0x higher performance with 64.3x less energy consumption).