A sorte da formiga
Apresentação O uso de processamento paralelo na implementação de aplicações que envolvem computação intensiva e exigem uma resposta imediata, por exemplo, previsão meteorológica e sistemas de visualização volumétrica, assim como aplicações cuja computação intensiva exigem grande capacidade de processamento, tal como a simulação de fenômenos físicos ( ex: evolução da galáxia, convecções de plasma na coroa solar [1]) é um fato, tanto em sistemas comerciais como nas pesquisas atualmente em desenvolvimento. Duas classes de sistemas paralelos têm sido utilizadas: multiprocessadores e multicomputadores. Os multiprocessadores são caracterizados por possuírem múltiplos processadores e memória compartilhada. São limitados quanto ao número de processadores pela contenção no acesso a esta memória. Já os multicomputadores são escaláveis quanto ao total de processadores, mas têm o desempenho dependente da quantidade de comunicação efetuada na aplicação, como também dos recursos de comunicação, exigindo redes de interconexão de alta velocidade. Uma combinação das duas classes estão , atualmente, sendo utilizadas, resultando em “clusters” de estações onde cada estação é um multiprocessador. Contudo, tais sistemas requerem ambientes de programação e processamento, que permitam a exploração adequada dos seus recursos. São, aqui, apresentadas a evolução e as tendências dos sistemas de programação e linguagens para computadores multiprocessadores e “clusters”de estações.
Computadores Multiprocessadores e “Clusters” de Estações Na busca de soluções para atender a demanda de processamento solicitada pelas aplicações, computadores de alto desempenho têm sido desenvolvidos. Computadores vetoriais, multiprocessadores e multicomputadores têm sido propostos e disponibilizados comercialmente. Arquiteturas, especialmente das classes do multiprocessadores e multicomputadores, que visam oferecer melhores desempenhos, mantendo um custo acessível