Processamento Paralelo: Introdução


Porquê e como

Com a crescente demanda por mais poder de processamento recentemente optou-se por construir máquinas com mais de um processador, estas máquinas tem um maior poder de processamento sem a necessidade de um único "chip" potente, ou seja, pode-se obter um computador com uma capacidade de processar um maior número de instruções sem ser necessário o projeto de um processador revolucionário com tal capacidade.
Porém computadores com mais de um processador possuem arquiteturas mais complicadas, ou seja, há a necessidade de programas especificamente produzidos para estas máquinas de forma a aproveitar todo o seu potencial pois a maioria absoluta dos programas escritos até hoje se destinam a computadores com apenas um processador.

Dentre as principais arquiteturas de máquinas paralelas destacamos duas:

Na primeira arquitetura toda memória do sistema pode ser acessada por cada processador individualmente, na segunda cada processador possue a sua própria memória quando um processador necessita de informações armazenadas na memória de outro processador estes "trocam mensagens".

Nosso computador paralelo

No LSI existe uma máquina paralela, é uma estação 4D/480VGX da Silicon Graphics (oito processadores). É uma máquina de memória compartilhada, nos exemplos a seguir tentaremos expor a forma básica de se programar para esta máquina.
Sendo, a máquina que dispomos, de memória compartilhada devemos tomar os certos cuidados ao programar para ela se queremos utilizar mais de um processador, na execução do programa, simultaneamente.

Os dois cuidados básicos são:

Existem meios de se impedir que outro processador acesse uma dada posição da memória enquanto outro a está acessando, porém este método força o segundo processador a esperar que o primeiro termine de usar aquela posição. De forma a evitar que haja estas esperas, deve-se programar de uma forma que as duas diretrizes acima sejam obedecidas na maior parte possível do tempo.

veja: dois exemplos de programas paralelos.


Autor: Pedro Vaz Artigas

Estudante de graduação em engenharia elétrica na Escola Politécnica da USP.
Estagiário do Laboratório de Sistemas Integrados, Poli - Elétrica.

Orientador: Edson Toshimi Midorikawa.


Pedro Vaz Artigas
E-mail: artigas@lsi.usp.br

LSI Laboratory of Integrated Systems

last modified: 29-aug-95