Aceleração da consulta a um grande banco de DNA forense: uma abordagem multiplataforma - FERREIRA, Antonyus Pyetro do Amaral (2016)
A comparação de cadeias de DNA é um problema clássico em biologia molecular. Uma aplicação forense dessas comparações é usada no problema de identificação pessoal. Por exemplo, nos EUA, o sistema CODIS dispõe, hoje em dia, de 14,5 milhões de perfis de DNA armazenados em seu banco de dados. Visando acelerar essa recorrente tarefa da consulta em banco de dados similares ao CODIS, este trabalho apresenta implementações em software e em hardware digital do algoritmo de Needleman-Wunsch, que representa uma técnica global ótima para se medir a similaridade entre cadeias de DNA. Implementações em Multi-Threads, SIMD (Single Instruction Multiple Data) e OpenCL são investigadas para a plataforma dos GPPs (General Purpose Processors). A infraestrutura de OpenCL também foi usada para analisar o desempenho das GPUs (Graphics Processing Units) para essa tarefa. Adicionalmente, uma arquitetura de hardware digital customizada explorou o paralelismo dos FPGAs (Field Programmable Gate Arrays), buscando-se otimizar o uso dos recursos de hardware e a banda de memória. Os experimentos foram conduzidos usando um banco de DNA sintético com 8 milhões de indivíduos, em que cada um deles é representado por 15 sequências do tamanho de 240 nucleotídeos. Nesse caso de uso, a implementação em um único FPGA Stratix IV, rodando a 280MHz atingiu o maior speed-up de 1885x, em comparação com a implementação canônica em software. Como resultados secundários, as versões em OpenCL (GPU e GPP) e a versão SIMD obtiveram menores tempos de execução comparados com os softwares SWIPE e FASTA que são amplamente utilizados na área.