Análises Estáticas para a Distribuição de Dados e Computações em Memória Distribuída - Nakashima, Raul Junji; Travieso, Gonzalo (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2001)
Este trabalho descreve técnicas de análise estática de compilação baseadas na álgebra e programação linear que buscam otimizar a distribuição de loops forall e array em programas escritos na linguagem SISAL visando à execução em máquinas paralelas de memória distribuídas. Na fase de alinhamento, buscamos o alinhamento de hiperplanos com o objetivo de tentar encontrar as porções dos diferentes arrays que devem ser distribuídas juntas. A fase de particionamento, que tenta quebrar em partes independentes dados e computações, duas funções afins, a função de decomposição de dados e a função de decomposição de computação são usadas para isso. A última fase, o mapeamento, distribui os elementos de computação nos elementos de processamento usando um conjunto de inequações sobre os limites. Essas técnicas estão sendo implementadas num compilador SISAL, mas podem ser usadas sem mudanças em outras linguagens de associação simples e com a adição de análise de dependências podem ser usadas em linguagens imperativas.