computação distribuída - puc-rionoemi/cd-06/cd1.pdfbalanceamento utilização de recursos ociosos...
TRANSCRIPT
Assunto
nosso foco: programação paralela em máquinas dememória distribuída
outros modelosprog. paralela distribuída
distribuição e concorrência
projeto de programas paralelosoportunidades de paralelizaçãomodelos e padrões comuns
Computacao Distribuıda – p.1/11
Assunto (cont.)
bibliotecas e linguagensMPIbibliotecas BSPlinguagens paralelas
medidas de desempenhoconceitosexperimentos
distribuição de cargabalanceamentoutilização de recursos ociosos
computação em gradeComputacao Distribuıda – p.2/11
Bibliografia
M. Quinn. Parallel Programming in C with MPI andOpenMP. McGraw-Hill, 2003.
G. Andrews. Foundations of Multithreaded, Parallel,and Distributed Programming. Addison-Wesley,2000.
I. Foster. Designing and Building Parallel Programs.Addison-Wesley, 1995.
artigos indicados ao longo do curso.
Computacao Distribuıda – p.3/11
Avaliação
resumos/questionários individuais sobreartigos/capítulos (4)
trabalhos práticos em dupla (4)apresentação dos trabalhos
pontualidade, preparo, conhecimento
seminário
Computacao Distribuıda – p.4/11
Máquinas Paralelas
interesse em programas paralelosdesde primórdios de computação
máquinas paralelas multi-CPUcustocomplexidade
máquinas de memória distribuída
. diferença entre sistemas paralelos e distribuídos
Computacao Distribuıda – p.5/11
Sistemas Multicomputadores
anos 80: NOWsinteresse em recursos ociososambiente heterogêneo
anos 90: clustersbaixo custoambiente homogêneodiferentes redes de interconexão
anos 00: grades?baixo custodistribuição geográficaambiente muito heterogêneo
Computacao Distribuıda – p.6/11
Taxomomia de Flynn
SISDsingle instruction single data
SIMDsingle instruction multiple data
MISDmultiple instruction single data
MIMDmultiple instruction multiple data
Computacao Distribuıda – p.7/11
Projeto de Programas Paralelos — Introdução
objetivosdesempenhoviabilidadeaproveitamento de recursos
projeto do programaidentificação de paralelismocusto de comunicaçãodistribuição do trabalho
análise de desempenhocomparação de previsão com resultados
Computacao Distribuıda – p.8/11
Identificação de Paralelismo
paralelismo de dados ou decomposição de domínioSPMD (ou quase)
paralelismo funcional ou decomposição por tarefasMPSD – pipelinesMPMD
Computacao Distribuıda – p.9/11
Comunicação
troca de mensagenssíncrona e assíncrona
modelo de canais e tarefas
Computacao Distribuıda – p.10/11