FPGA and ASIC accelerators for genome data analysis
Authors:   , Haghi Abbas 
Published: December 2024

(English) The continuous progress of Moore’s Law in improving single-threaded performance (execution
time) through clock frequency and process node improvements has slowed down due to physical
limitations in silicon device physics. This has resulted in a shift towards using multicore
processors to achieve performance gains. However, the use of multiprocessing is limited
by Amdahl’s Law, in which the sequential parts of the applications restrict the speedups in
parallel systems. Consequently, the technology industry is now emphasizing specialization and
developing domain-specific accelerators to enhance performance compared to general-purpose
computers.
Genomics is a field that deals with the study of genes and their functions. Thanks to current
and ongoing advancements, each stage of development in sequencing technologies is able to
produce enormous amounts of data at an increasingly faster and cheaper way compared to its
previous stage. However, the assembly and analysis of this data take extensive time on general-
purpose processors, and the processor performance is growing at a much slower pace than
the DNA sequencing speed. Hence, domain-specific accelerators are becoming increasingly
essential in the genomics field, especially for DNA assembly. Specialized hardware computing
devices designed for this specific domain can achieve significant performance improvements
compared to general-purpose computers. Thus, with domain-specific accelerators, the speed of
DNA assembly can keep up with the pace of DNA sequencing, allowing for quicker analysis
and discoveries in the genomics field.
The main goal of this thesis is to accelerate two critical applications of DNA assembly,
k-mer counting and pairwise read alignment, using FPGAs and ASICs. The first contribution of
this thesis targets accelerating the k-mer counting application using FPGAs and its adaptation
in a genomics application called SMUFIN, a Somatic MUtation FINder. The second and
third contributions focus on exploiting FPGAs for accelerating the Wavefront Alignment
(WFA), a novel pairwise read alignment algorithm for aligning DNA sequences generated by
different sequencing technologies. The accelerator in the second contribution is customized for
short DNA sequences of up to 300 bases, which are generated by next generation sequencing
technologies, while the accelerator in the third contribution is customized for long DNA
sequences of up to 50K bases, which are generated by third generation sequencing technologies.
The fourth contribution proposes an ASIC accelerator of the WFA algorithm and its integration
in a RISC-V SoC. In all contributions, we analyze different parts of the application and port
the most time-consuming parts to the accelerator. We also modify and re-design the remaining
CPU parts to better adapt them to the accelerator code and finally propose efficient co-designed
accelerated designs.
In our first contribution, the integration of our k-mer counting accelerator improves the
SMUFIN k-mer counting performance by 2.14× while consuming 2.93× less energy and
1.57× less memory compared to the baseline multi-threaded software implementation. The
performance of the WFA accelerators in the second and third contributions is evaluated using
one and two FPGAs. Compared to the baseline multi-threaded software implementation of the
WFA running on a IBM POWER9 high-performance processor, our WFA accelerator for short
reads reaches performance improvements of up to 8.8× and 13.5× with one and two FPGAs,
respectively. The WFA accelerator for long reads reaches performance improvements
of up to 5.6× and 9.9× with one and two FPGAs, respectively. In our fourth
contribution, our ASIC WFA accelerator integrated in the RISC-V SoC reaches performance
improvements of up to 1076× compared to the single-threaded software implementation of the
WFA on Sargantana, the RISC-V CPU of the chip.

(Català) El progressiu desenvolupament de la Llei de Moore per a millorar el rendiment de fils individuals
mitjançant la freqüència de rellotge i les millores en el node de procés s’ha vist obstaculitzat a
causa de limitacions físiques. Això ha resultat en un canvi cap a l’ús de processadors multinucli
per aconseguir guanys de rendiment. No obstant això, el rendiment dels processadors multinucli
està limitat per la Llei d’Amdahl, que limita qualsevol acceleració per les parts sequencials del
programa. En conseqüència, la indústria tecnològica està posant l’accent en la especialització i
el desenvolupament d’acceleradors per millorar el rendiment d’aplicacions específiques.

La genòmica és el camp que es dedica a l’estudi dels gens. Amb els desenvolupaments actu-
als en tecnologies de seqüenciació es produeix una enorme quantitat de dades més ràpidament i
econòmicament que el previst per la Llei de Moore. No obstant això, l’assemblatge i l’anàlisi
d’aquestes dades és molt lent en processadors de propòsit general. Per tant, els acceleradors
són essencials en el camp de la genòmica, especialment per a l’assemblatge d’ADN. Utilitzant
hardware dissenyat per a aquest domini concret, com ara FPGAs o ASICs, els investigadors
en genòmica poden aconseguir millores significatives en el rendiment en comparació amb els
processadors de propòsit general. Gràcies als acceleradors, la velocitat de l’assemblatge d’ADN
pot mantenir-se al ritme de la seqüenciació d’ADN, el que permet un anàlisi i descobriments
més ràpids en genòmica.

L’objectiu principal d’aquesta tesi és accelerar dues aplicacions crítiques de l’assemblatge
d’ADN, el recompte de k-mers i l’alineament de seqüències, utilitzant FPGAs i ASICs. La
primera contribució es centra en accelerar l’aplicació de recompte de k-mers utilitzant FPGAs i
la seva adaptació en una aplicació de genòmica anomenada SMUFIN. La segona i la tercera
contribució es centren en accelerar amb FPGAs el nou algoritme d’alineament de seqüències
WFA. L’accelerador de la segona contribució està dissenyat per a seqüències curtes d’ADN
de fins a 300 bases, que són generades per tecnologies de seqüenciació de pròxima generació.
L’accelerador de la tercera contribució està dissenyat per a seqüències llargues d’ADN de
fins a 50.000 bases, que són generades per tecnologies de seqüenciació de tercera generació.
En la quarta contribució dissenyem un ASIC per accelerar l’alineament de seqüències amb
WFA i l’integrem en un SoC RISC-V. En totes les contribucions analitzem diferents parts de
l’aplicació i portem les parts més lentes a l’accelerador. També modifiquem i redisenyem les
parts restants de la CPU per adaptar-les al codi de l’accelerador

En la nostra primera contribució, el nostre accelerador de recompte de k-mers millora el
rendiment del recompte de k-mers de SMUFIN en un factor de 2,14×, mentre que consumeix
un 2,93× menys energia i un 1,57× menys memòria en comparació amb la implementació
software de referència. El rendiment dels acceleradors d’alineament de seqüències de la
segona i la tercera contribució s’avalua utilitzant una i dues FPGAs. En comparació amb la
implementació software de referència de l’algoritme WFA, el segon accelerador millora el
rendiment fins a 8,8× i 13,5× amb una i dues FPGAs, respectivament, i millora la eficiència
energètica fins a 9,7× i 14,6× amb una i dues FPGAs, respectivament. El tercer accelerador
arriba a millores de rendiment de fins a 5,6× i 9,9× amb una i dues FPGAs, respectivament, i
una millor eficiència energètica de fins a 7,5× i 10,9× amb una i dues FPGAs, respectivament.
En la quarta contribució el nostre accelerador ASIC integrat en el SoC millora el rendiment
fins a 1076× en comparació amb la implementació software de l’algoritme WFA a Sargantana,
la CPU RISC-V del xip.

(Español) El continuo progreso de la Ley de Moore en la mejora del rendimiento de un solo hilo a través
de la frecuencia de reloj y las mejoras en el nodo de proceso se ha visto obstaculizado debido a
limitaciones físicas. Esto ha resultado en un cambio hacia el uso de procesadores multinúcleo
para lograr ganancias de rendimiento. Sin embargo, el rendimiento de los procesadores
multinúcleo se ve limitado por la Ley de Amdahl, que limita cualquier aceleración por las
partes secuenciales del software. En consecuencia, la industria tecnológica está enfocándose en
la especialización y el desarrollo de aceleradores para mejorar el rendimiento de aplicaciones
específicas.

La genómica es el campo que se ocupa del estudio de los genes. Con los desarrollos actuales
en tecnologías de secuenciación se produce una cantidad enorme de datos de manera más
rápida y económica de lo previsto por la Ley de Moore. Sin embargo, el ensamblaje y análisis
de estos datos llevan mucho tiempo en procesadores de propósito general. Por lo tanto, los
aceleradores son esenciales en el campo de la genómica, especialmente para el ensamblaje
de ADN. Al utilizar hardware especialmente diseñado para este dominio, como FPGAs o
ASICs, los investigadores en genómica pueden lograr mejoras significativas en el rendimiento
en comparación con los procesadores de propósito general. Gracias a los aceleradores, la
velocidad de ensamblaje de ADN puede mantenerse al ritmo de la secuenciación de ADN, lo
que permite un análisis y descubrimientos más rápidos en genómica.

El objetivo principal de esta tesis es acelerar dos aplicaciones críticas del ensamblaje de
ADN, el conteo de k-mers y la alineamiento de secuencias, utilizando FPGAs y ASICs. La
primera contribución se centra en acelerar la aplicación de conteo de k-mers utilizando FPGAs
y su adaptación en una aplicación de genómica llamada SMUFIN. La segunda y la tercera
contribución se centran en acelerar con FPGAs el novedoso algoritmo de alineamiento de
secuencias WFA. El acelerador de la segunda contribución está diseñado para secuencias
cortas de ADN de hasta 300 bases, que son generadas por tecnologías de secuenciación de
próxima generación. El acelerador de la tercera contribución está diseñado para secuencias
largas de ADN de hasta 50.000 bases, que son generadas por tecnologías de secuenciación de
tercera generación. En la cuarta contribución diseñamos un ASIC para acelerar el alinemiento
de secuencias con WFA y lo integramos en un SoC RISC-V. En todas las contribuciones
analizamos diferentes partes de la aplicación y trasladamos las partes más lentas al acelerador.
También modificamos y rediseñamos las partes restantes de la CPU para adaptarlas al código
del acelerador.

En nuestra primera contribución, nuestro acelerador de conteo de k-mers mejora el rendimiento
respecto al conteo de k-mers de SMUFIN en un factor de 2,14×, mientras consume 2,93×
menos energía y 1,57× menos memoria en comparación con la implementación software de
referencia. El rendimiento de los aceleradores de alineamiento de secuencias de la segunda
y la tercera contribución se evalúa utilizando una y dos FPGAs. En comparación con la im-
plementación software de referencia del algoritmo WFA, nuestro segundo acelerador alcanza
mejoras de rendimiento de hasta 8,8× y 13,5× con una y dos FPGAs, respectivamente, y una
mejora en eficiencia energética de hasta 9,7× y 14,6× con una y dos FPGAs, respectivamente.
Nuestro tercer acelerador alcanza mejoras de rendimiento de hasta 5,6× y 9,9× con una y dos
FPGAs, respectivamente, y una mejor en eficiencia energética de hasta 7,5× y 10,9× con una y
dos FPGAs, respectivamente. En la cuarta contribución nuestro acelerador ASIC integrado en
el SoC alcanza mejoras de rendimiento de hasta 1076× en comparación con la implementación
software del algoritmo WFA en Sargantana, la CPU RISC-V del chip.