Dissertação

Efficient GPU implementation of bioinformatics applications EVALUATED

Hoje em dia a quantidade de informação genética disponível aos investigadores é cada vez maior. Bases de dados com informação genética estão disponíveis na internet e aumenta a cada dia que passa. De modo a ser utilizada pela Biologia, toda esta informação necessita de ser processada e classificada. Para a classificar, existem diversos algoritmos bioinformáticos, tais como o algoritmo de Needleman-Wunsch e o algoritmo de Smith-Waterman algorithm. Ambos consistem na execução de múltiplas iterações, que permitem a sua paralelização de forma a obter uma melhor performance na execução. Duas das implementações paralelas existentes são uma adaptação da implementação do Rognes SWIPE, apresentada por Pedro Monteiro, baseada numa paralelização ao nível das threads CPU e a outra a CUDASW++ 2.0, apresentada pelo Liu et. al., baseada numa paralelização ao nível das Threads e dos dados em GPUs. Considerando ambas as soluções, este trabalho propõe uma orquestração heterógenea que utilizando ambas consegue processar sequências nos cores da CPU e nas GPUs disponíveis na máquina. Para além desta implementação, é proposta uma camada adicional responsável pelo balanceamento dos dados entre os diferentes workers. Os resultados mostram que a execução pode atingir um speedup superior a 6x quando executada com quatro cores CPU e duas GPUs distintas.
Algoritmos Bioinformáticos, Alinhamento de sequências, Algoritmo de Smith-Waterman, Arquitecturas Paralelas Heterógeneas, Módulo de Load Balancing, CUDA

Novembro 3, 2014, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

CO-ORIENTADOR

Pedro Filipe Zeferino Tomás

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Auxiliar

ORIENTADOR

Nuno Filipe Valentim Roma

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Auxiliar