Explorando programação híbrida no contexto de clusters de máquinas NUMA
AUTOR(ES)
Neumar Silva Ribeiro
DATA DE PUBLICAÇÃO
2011
RESUMO
Normalmente, utiliza-se o paradigma de troca de mensagens quando se está programando uma arquitetura do tipo cluster. Porém, quando se deseja programar uma máquina multiprocessada, é requirido o paradigma de memória compartilhada. Recentemente, o surgimento de novas tecnologias possibilitou a criação de clusters com nós multiprocessados. Nestas arquiteturas os nós são compostos por mais de um processador ou core, e compartilham a mesma memória. Este cenário, cria a possibilidade de usar novos modelos de programação híbrida. No amplo espectro de soluções possíveis para o desenvolvimento de código híbrido para clusters de máquinas multiprocessadas, a utilização da dupla MPI e OpenMP está emergindo como um padrão de fato. A maioria dos códigos híbridos MPI e OpenMP são baseados em um modelo de estrutura hierárquica, que torna possível a exploração de grãos grandes e médios de paralelismo no nível de MPI, e grão fino no paralelismo no nível do OpenMP. O objetivo é claramente tirar vantagens das melhores características de ambos os paradigmas de programação. Os nós desses clusters podem ainda ser máquinas NUMA (Non- Uniform Memory Access). Estas máquinas com acesso não uniforme à memória possibilitam que o desenvolvedor explore afinidade de memória, melhorando o desempenho da aplicação. O objetivo principal deste trabalho é investigar o uso de programação híbrida com MPI e OpenMP em clusters de máquinas NUMA, explorando afinidade de memória, visando identificar um conjunto de boas práticas de programação híbrida a serem utilizadas neste contexto
ASSUNTO(S)
informÁtica arquitetura de computador sistemas hÍbridos ciencia da computacao
ACESSO AO ARTIGO
http://tede.pucrs.br/tde_busca/arquivo.php?codArquivo=3491Documentos Relacionados
- NUMA-ICTM : uma versão paralela do ICTM explorando estratégias de alocação de memória para máquinas NUMA
- Programação em maquinas paralelas não-relacionadas, sujeitas a divisão de tarefas
- Algoritmo de programação de máquinas individuais com penalidades distintas de adiantamento e atraso
- Evolução diferencial híbrida com programação quadrática aplicada ao problema de despacho econômico de energia elétrica
- Dimensionamento de lotes e programação do forno numa fundição de pequeno porte