Proposta de Dissertação de Mestrado Modelagem Computacional, UFJF Título da Proposta de Dissertação: Emprego de Múltiplas GPUs para Acelerar Simulações do Sistema Imunológico Humano Palavras-Chave: GPGPU, Sistema Imunológico Humano, Computação Paralela e Distribuída, Imunologia Computacional. Disciplinas do Mestrado Correlatas a esta Proposta: Introdução à Modelagem Matemática, Computação em Ambientes Distribuídos, Métodos Numéricos. Resumo: Um dos sistemas mais importantes presentes nas mais diversas e distintas formas de vida é o sistema imunológico (ou sistema imune). Seu papel primário é o de identificar e exterminar uma ampla gama de agentes patogênicos externos, que tentam invadir os organismos vivos, causando-lhes danos que podem ser irreversíveis, levando-os à morte. A compreensão do sistema imunológico é, portanto, essencial. Entretanto, a sua grande complexidade e a interação entre seus muitos componentes, nos mais diversos níveis, tornam a tarefa extremamente complexa. Uma ferramenta que pode ser de grande auxílio para o entendimento do funcionamento deste sistema é a modelagem matemática-computacional. Trabalhos anteriores [1] propuseram modelos para reproduzir a dinâmica de uma doença infecciosa em parte do sistema imunológico, o chamado Sistema Imunológico Inato. Para isso foram utilizados sistemas de equações diferenciais parciais. Basicamente, o sistema de equações diferenciais parciais reproduz os principais fenômenos que ocorrem em uma seção microscópica do tecido, incorporando dois processos muito importantes, difusão e quimiotaxia, para descrever o movimento das células, reproduzindo a ordem de chegada das células ao local de infecção e os fenômenos envolvidos na estimulação e supressão da resposta imune. Em um primeiro momento percebe-se um alto custo computacional ao realizar simulações neste modelo, o que levou ao desenvolvimento de uma versão paralela [2] desenvolvida em CUDA [3]. Nesta versão, grande parte da aplicação é executada na placa gráfica de um computador (GPU) por várias threads de maneira simultânea, de forma que cada uma seja responsável pelos cálculos em um ponto específico do espaço do tecido. Como o número de threads que podem ser alocadas varia de dispositivo para dispositivo, o tamanho do tecido a ser simulado será limitado pelo máximo de threads que a placa gráfica comporta. Apesar desta limitação, esta implementação possibilitou uma significativa redução nos tempos de simulação, alcançando em alguns casos, melhora de 72 vezes em relação à versão inicial do código. Contudo esta melhoria ainda pode ser aprimorada com o uso de várias GPUs de modo simultâneo. Logo, mais threads podem ser alocadas e a limitação quanto ao tamanho do tecido a ser simulado passa a não existir mais. Para que isso seja possível, será necessário que estes computadores colaborem entre si, dividindo o espaço inicial do tecido em subespaços que serão de responsabilidade de cada GPU. Realizando os cálculos desses subespaços em cada GPU e posteriormente reagrupando-os, teremos o tecido completo. Como essas placas de vídeo muitas vezes estão localizadas em computadores distintos, existe a necessidade de se estabelecer comunicação durante a execução. A comunicação pode ser realizada, por exemplo, utilizando o padrão MPI para a troca de mensagens. O objetivo deste trabalho é desenvolver uma versão paralela de um modelo anteriormente proposto para simular o funcionamento do sistema imune inato [1] que seja capaz de ser executada em várias GPUs simultaneamente, de modo que cada GPU contribua localmente para o cálculo do tecido como um todo. Ao final, espera-se que o tempo de execução da simulação reduza ainda mais do que o observado em trabalhos anteriores [2]. [1] Pigozzo, A.B., Macedo, G.C., dos Santos, R.W., Lobosco, M.: Implementation of a computational model of the innate immune system. In: ICARIS, pp. 95–107, 2011. [2] Rocha, P.A.F., Xavier, M.P., Pigozzo, A.B., Quintela, B.M., Macedo, G.C., dos Santos, R.W., Lobosco, M.: A Three-Dimensional Computational Model of the Innate Immune System. In: ICCSA, pp. 691-706, 2012. [3] Kirk, D., Hwu, W.: Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann, 2010. [4] Bartocci, E., Cherry, E.M., Glimm, J., Grosu, R., Smolka, S.A., Fenton, F.H.: Toward Real-time Simulation of Cardiac Dynamics. In: CMSB, pp. 103-112, 2011. Multidisciplinariedade: A proposta envolve pesquisas tanto na área de sistemas computacionais, mais especificamente na área de computação de alto desempenho, quanto na área de modelagem matemática utilizada na representação do sistema imunológico humano. Produção Esperada: 2 artigos em conferências e/ou periódicos internacionais. Aluno: Micael Peters Xavier. Disciplinas cursadas pelo aluno: Introdução à Modelagem Matemática Métodos Matemáticos Algoritmo e Estruturas de Dados Introdução aos Métodos Discretos Computação em Ambientes Distribuídos Métodos Numéricos Eletrofisiologia Computacional Método dos Elementos Finitos Orientador: Marcelo Lobosco Principal Área de Pesquisa do Orientador e a Relação desta com a Proposta de Dissertação: Computação Paralela e Distribuída, Imunologia Computacional. Coorientador: Rodrigo Weber dos Santos Principal Área de Pesquisa do Coorientador e a Relação desta com a Proposta de Dissertação: Computação Paralela e Distribuída, Modelagem Computacional.