Modelos de Programação e Algoritmos para a Execução Eficiente de Aplicações Paralelas em Aglomerados Heterogêneos

  • Docentes: Raphael Yokoingawa de Camargo.
  • Agência Financiadora: Fapesp.

Com o advento de diferentes classes de aceleradores, como as GPUs (Graphical Processing Units) e os Intel MICs (Many Integrated Cores), aglomerados heterogêneos, formados por diferentes tipos de aceleradores e processadores, se tornaram realidade. Estes aglomerados podem ser dedicados ou simplesmente um conjunto de estações de trabalho, distribuídas em diferentes laboratórios e que ficam ociosas durante a maior parte do tempo. As diferenças arquiteturais entre processadores e os diversos tipos de aceleradores tornam difícil o desenvolvimento de aplicações que utilizem estes aglomerados de modo eficiente. A proposta deste projeto consiste em avaliar modelos de programação que facilitem o desenvolvimento e a previsão do desempenho de aplicações para aglomerados heterogêneos. Também será desenvolvido um mecanismo de distribuição dinâmica de carga para estes aglomerados, que serão implementados em uma biblioteca já existente. O objetivo é facilitar tanto a implementação quanto a execução de aplicações para estes aglomerados. Na área de aplicações, serão desenvolvidos algoritmos de bioinformática para a inferência de redes de regulação gênica (Gene Regulatory Networks – GRNs), onde é preciso avaliar um vasto número de combinações de genes candidatos a preditores. Na área de neurociência computacional, será implementado o suporte a aceleradores em simuladores neuronais, como o MOOSE, de modo a permitir a simulação de redes neuronais compostas por milhares de neurônios. Para tal, serão desenvolvidos algoritmos para a solução eficiente de conjuntos de sistemas lineares, que são a base para a simulação de neurônios. Para ambas as áreas, o foco dos esforços será o suporte à execução eficiente em aglomerados heterogêneos.