Computação de alto desempenho na seleção genômica - Lagrotta, Marcos Rodrigues (Universidade Federal de Viçosa, 2012)
A computação paralela vem crescendo nos últimos anos em virtude do menor custo dos computadores e do aumento exponencial dos bancos de dados. O processamento em paralelo envolve a execução de múltiplas tarefas simultaneamente em diferentes processadores. No contexto da seleção genômica, o grande número de marcadores genéticos utilizado nas análises, bem como a grande demanda computacional dos modelos bayesianos fundamentados nos métodos de Monte Carlo Via Cadeias de Markov, faz com que certas análises despendem semanas ou meses de processamento. Assim, a computação paralela representa uma solução natural a este problema. O método usado para análise foi o BayesCπ, o qual possui apenas passos do Amostrador de Gibbs. O algoritmo foi inicialmente escrito na forma sequencial usando o FORTRAN. Duas estratégias de paralelização foram então estudadas. A primeira envolveu a análise de múltiplas cadeias em paralelo, sendo recomendada na situação em que o burn-in não seja longo. A segunda estratégia referiu-se à paralelização da própria cadeia, sendo indicada para situações em que o burn-in é muito longo. Utilizou-se a biblioteca MPI e o pacote OpenMPI associado ao compilador gfortran para tal propósito. As computações foram realizadas em um computador pessoal, com seis núcleos de processamento de 3,3 GHz e 16 GB de memória RAM e em um cluster com 120 processadores de 2,77 GHz. Foram utilizados dados simulados para duas características produtivas de bovinos de leite, referentes a 10.000 marcadores e 4.100 indivíduos. No computador pessoal, o algoritmo sequencial foi processado em 77,29 horas e ao usar múltiplas cadeias em paralelo o processamento foi quase cinco vezes mais rápido com seis núcleos de processamento. A relação de desempenho entre o algoritmo paralelo e o sequencial foi maior no cluster, pois a sua arquitetura de memória escalona melhor com o número de processadores em uso do que a arquitetura de memória compartilhada do computador pessoal. A segunda estratégia de paralelização apresentou um ganho de desempenho de apenas 19% com dois processadores. Contudo, usando mais processadores não houve melhora de desempenho. Esta estratégia só se aplica em sistemas com arquitetura de memória compartilhada, devido ao elevado overhead (sobrecarga) gerado pela intensa troca de informações e sincronização das tarefas. Conclui-se que a computação paralela é uma técnica de fundamental importância para a seleção genômica, e isto será mais expressivo nos próximos anos devido ao rápido crescimento dos bancos de dados. Estratégias mais eficientes de paralelização da própria cadeia devem ser desenvolvidas, visto que nas situações em que o burn-in é muito longo o processamento de múltiplas cadeias em paralelo não é recomendado. O ideal seria que estas novas abordagens apresentassem bom desempenho em sistemas com arquitetura de memória distribuída (clusters).

Parallel computing has been growing in recent years due to the lower cost of computers and the exponential growth of databases. The parallel processing involves performing multiple tasks simultaneously on different processors. In the context of genomic selection, the large number of genetic markers used in the analyzes as well as the high computational demand of Bayesian models based on methods of Markov Chain Monte Carlo makes that certain analyzes have weeks or months of runtime. Thus parallel computing is a natural solution to this problem. The method used for analysis was BayesCπ, which has only the Gibbs sampling steps. The algorithm was initially written in a sequential manner using FORTRAN. It was studied two parallelization strategies. The first involved the analysis of multiple parallel chains being recommended in the situation that the burn-in is not long. The second strategy is relative to the parallelization of the chain itself, being indicated for cases in which the burn-in time is too long. It was used the MPI library and the packet OpenMPI associated to the gfortran compiler for this purpose. The computations were performed on a personal computer, with six processing cores of 3.3 GHz and 16 GB of RAM (Random Access Memory) and a cluster with 120 processors of 2.77 GHz. Simulated data for two traits of dairy cattle, referring to 10,000 markers and 4,100 individuals, were used. In the personal computer, the sequential algorithm was processed at 77.29 hours and by using parallel multiple chains the processing was almost five times faster with six cores. The performance ratio between parallel and sequential algorithms was higher in the cluster, because its memory architecture scales better with the number of processors in use than the shared memory architecture of the personal computer. The second parallelization strategy presented a performance gain of only 19% with two processors. Using more processors the processing speed was diminishing slowly. This strategy applies only on systems with shared memory architecture, due to the high overhead generated by the intense exchange of information and tasks synchronization. Therefore parallel computing is a technique of fundamental importance for genomic selection and it will be more significant in coming years due to rapid growth of databases. More efficient strategies for parallelization of the chain itself must be developed, because in situations where the burn-in is too long the processing of multiple chains in parallel is not recommended. The ideal would be that these new approaches have good performance in systems with distributed memory architecture (clusters).
High performance computing in genomic selection
Keywords: Seleção genômica; Confiabilidade; Gado de leite; Genomic selection; Trustworthiness; Dairy; CNPQ::CIENCIAS AGRARIAS::ZOOTECNIA::GENETICA E MELHORAMENTO DOS ANIMAIS DOMESTICOS