CURSO DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
PROJETO E ANÁLISE DE ALGORITMOS

Última alteração: 9 de Outubro de 2002


Professor: Nivio Ziviani
Monitora: Claudine Santos Badue
4$^{\underline{o}}$ Trabalho Prático - 20/08/02 - 10 pontos
Data de Entrega: 13/09/02
Penalização por Atraso: 1 ponto até 18/09/02 mais 1 ponto por dia a seguir
Observação: Toda a documentação deverá ser apresentada como uma página acessível via Web (apresente o link para acesso à documentação).

Computação Paralela

O objetivo deste trabalho é o de projetar um algoritmo paralelo para ser executado em uma máquina paralela. A implementação deve ser feita usando sockets e threads para comunicação entre o processo mestre e os processos escravos. Veja como criar um processo mestre , um processo escravo , e o arquivo makefile para compilá-los.

Problema: Multiplicação de Matrizes

Implemente um algoritmo paralelo para realizar multiplicação de matrizes usando uma máquina paralela MIMD. Você deverá discutir as diversas possibilidades de implementação descritas no capítulo 7 do livro do Quinn (1994) e escolher a mais adequada à arquitetura paralela MIMD. Alternativamente, além de discutir as possibilidades descritas na literatura, você poderá propor e implementar sua própria estratégia de paralelização do problema.

A máquina paralela MIMD deverá ser do tipo rede de estações de trabalho. (NOW - Network Of Workstations) (Anderson, Culler e Patterson, 1995).


O que deve ser apresentado:


Critérios a serem utilizados na avaliação:

Obs.: Toda a fase de depuração deverá ser executada em uma única estação de trabalho, até que seu programa esteja inteiramente depurado. Apenas a fase de estudos do speedup deverá ser realizada utilizando a rede do DCC.


Referências

[Q] M. J. Quinn, Parallel Computing Theory and Practice, McGraw-Hill, 1994, cap. 12.


T. Anderson and D. Culler and D. Patterson ``A Case for NOW (Network of Workstations)'', IEEE Micro, vol. 15, no. 1, 1995, pp. 54-64.



Nivio Ziviani
10/9/2002