Implementação paralela

Conceitos básicos de implementação paralela

O que é uma implementação paralela?

É um programa de computador baseado num algoritmo paralelo, que será executado em um computador com mais de um processador.

A existência de um algoritmo paralelo depende da característica do problema a ser resolvido. Existem problemas que para realizar o passo de número N é necessário resolver primeiro o passo de número N-1. Um dos motivos pode ser que os cálculos que serão realizados no passo N utilizam os valores calculados no passo N-1. Portanto, não é possível fazer com que um processador realize o passo N e um outro processador realize o passo N-1 ao mesmo tempo.

Um caminho para se desenvolver um algoritmo paralelo é analisar os passos que devem ser feitos para resolver o problema e verificar se ele depende de algum passo anterior. Se não depender, então pode-se deixar um processador resolvendo este passo enquanto os outros processadores resolvem o resto e ir adiantando o trabalho. Deste modo, diminui-se o tempo total necessário para se resolver o problema por completo

Figura: Num algoritmo paralelo várias uma pessoa seguem os passos num determinado instante.


O que é um multi-processador de memória compartilhada?

É um computador com mais de um processador que podem acessar a mesma memória. A maioria dos computadores existentes atualmente possuem somente um processador. No caso dos computadores pessoais, o mais comum é o processador Pentium da Intel. No caso de um multi-processador, existem mais de um processador executando programas ao mesmo tempo e acessando a mesma memória. Neste caso, cuidados especiais são tomados para que os processadores não acessem uma mesma posição de memória ao mesmo tempo, por exemplo.