Os computadores paralelos (Parallel Computers) são amplamente utilizados nas aplicações que requerem alto poder de processamento, normalmente envolvendo cálculos complexos, como na área de geoprocessamento, computação gráfica, simulações e outras. O ponto comum nestas aplicações é o grande volume de dados a serem processados, em um curto intervalo de tempo, e a complexidade da operação a ser realizada. Neste perfil, entram os computadores paralelos, pois podem realizar este processamento em um tempo menor que o tempo esperado na execução pelos computadores com um único processador.
Os computadores paralelos podem ser classificados em duas categorias: Memória Compartilhada, como é o caso de Multiprocessadores (Multiprocessors); e Memória Distribuída, como é o caso dos Multicomputadores (Multicomputers) ou Clusters.
Os computadores com memória compartilhada se distinguem dos demais por apresentarem vários processadores acessando fisicamente uma única memória, que é comum a todos. Por sua vez, os computadores com memória distribuída apresentam uma configuração na qual cada processador tem acesso à sua própria memória local. Neste caso, as informações compartilhadas devem ser trocadas entre os processadores por meio de rotinas de comunicação, tais como MPI (Message Passing Interface) e PVM (Parallel Virtual Machine).
O fato dos Multiprocessadores terem memória compartilhada e seus processadores serem iguais (geralmente) e sincronizados, facilita bastante o trabalho de divisão de tarefas. Pode-se afirmar que nestes computadores, simplesmente distribuindo igualmente as tarefas pelo número de processadores já é um bom começo. A mesma abordagem não funciona de forma eficiente nos Multicomputadores ou clusters. Estes computadores podem ser compostos por processadores distintos, o que pode resultar em desempenhos diferentes. Devido às características dos processadores, é muito provável que o com maior capacidade de processamento (mais rápido, com mais memória) conclui sua(s) tarefa(s) antes do que os mais modestos, ficando ocioso em um determinado período de tempo. É fácil perceber que, nesta situação, pode-se não ter o resultado esperado e pior, pode-se até ter um desempenho inferior ao que se teria caso todas as tarefas fossem alocadas somente ao processador com maior capacidade de processamento.
Multiprocessador
Multicomputador
A interconexão dos diversos componentes de um computador paralelo, tais como processador e memória, pode ser feita de duas maneiras: Estática, na qual os componentes são interligados de forma física durante a construção do computador paralelo ou Dinâmica, na qual há diversos elementos de comutação que fazem o encaminhamento das mensagens entre os componentes, utilizando canais de comunicação ou uma memória compartilhada.
No meu site (http://professorferlin.webnode.com.br//) está disponível uma apresentação sobre Introdução ao Processamento Paralelo.
>>> Assista o vídeio sobre Processamento Paralelo <<<