Tese
Comparação paralela de sequências biológicas em plataformas de hardware uniformes e híbridas
Fecha
2023-01-05Registro en:
JORGE, Carlos Antônio Campos. Comparação paralela de sequências biológicas em plataformas de hardware uniformes e híbridas. 2022. xiii, 101 f., il. Tese (Doutorado em Informática) — Universidade de Brasília, Brasília, 2022.
Autor
Jorge, Carlos Antônio Campos
Institución
Resumen
O alinhamento de sequências expõe claramente os padrões mais relevantes entre duas sequências, sendo
útil para descobrir informação funcional, estrutural e evolucionária em sequências biológicas. Para tanto,
é necessário descobrir o alinhamento ótimo, ou seja, o padrão que maximiza a similaridade entre as
sequências. O algoritmo Longest Common Subsequence (LCS) produz o alinhamento ótimo e, por isso,
é muito utilizado ao redor do mundo. Devido à complexidade quadrática de tempo, sua execução pode
demorar muito se as sequências comparadas forem longas. Por isso, plataformas de hardware como
FPGAs (Field Programmable Gate Arrays) tem sido exploradas. Para simplificar a programação de
hardware, foram propostas soluções de alto nível, como HLS (High Level Synthesis), que transforma
automaticamente um programa C, C++ ou SystemC em uma especificação de hardware, simplificando
a programação. Para atingir certa simplicidade da programação e, consequentemente, reduzir o tempo
necessário para a obtenção do circuito, exploramos nessa Tese a programação em HLS e em C. Além
disso, investigamos soluções para a execução do algoritmo LCS tanto em plataformas FPGA stand-alone
como em plataformas híbridas (CPU+FPGA). Inicialmente, confeccionamos um circuito programado
em HLS, que foi executado em uma plataforma FPGA stand-alone. O circuito projetado comporta até
dois co-processadores, permitindo a comparação paralela de dois pares de sequências. As execuções no
ambiente stand-alone de um lote de 20 comparações de sequências sintéticas de 10K, 20K e 50K mostraram
que a execução em FPGA consome menos energia e que as execuções híbridas (CPU+FPGA) atingem
desempenho muito bom. Adicionalmente, foi comparado um lote de 20 sequências reais do vírus SARSCoV-2 (30K) na plataforma stand-alone. Nesse caso, a configuração com 2 co-processadores, executando
2 comparações em CPU e 18 comparações em FPGA obteve bons resultados, tanto em tempo de execução
como em consumo de energia. Finalmente, a solução projetada para execução híbrida (CPU+FPGA) em
plataformas stand-alone foi adaptada para execução na instância f1 da nuvem AWS. Na comparação de
lotes de 20 sequências de 50K na nuvem AWS, mostramos que a configuração FPGA-only com dois coprocessadores executou-se em menor tempo e consumiu menos energia do que as configurações CPU-only
e híbridas.