A obtenção de alto desempenho na execução paralela de programas em tais sistemas multiprocessadores permanece um desafio para os especialistas em processamento paralelo. A pergunta a ser respondida é a seguinte: "como aproveitar eficazmente o desempenho bruto destes computadores ?".
A resposta a esta difícil pergunta se baseia na exploração eficaz dos recursos computacionais disponíveis: paralelismo e acesso aos dados. Um programa obterá grande desempenho em tais máquinas se conseguir fazer uso intenso dos vários processadores e acessar os dados de maneira eficiente.
Este trabalho procura abordar estes assuntos dentro do contexto de um sistema automático para otimização de paralelismo e localidade de dados. O objetivo deste sistema é fornecer subsídios ao usuário de uma máquina MPP para desenvolver um programa que obtenha maior desempenho.
A estrutura deste trabalho é a seguinte: a seção 2 apresenta os conceitos básicos necessários para a compreensão dos assuntos seguintes. Os fundamentos teóricos referentes a otimização de paralelismo e localidade de dados são extensamente descritos na seção 3 e a estratégia adotada para a integração dos dois enfoques é apresentada na seção 4. A próxima seção descreve a situação atual do sistema em desenvolvimento e um estudo de caso é mostrado na seção 6. O trabalho termina na seção 7 com as principais conclusões e indicativos de trabalhos futuros.