Introdução à Computação Paralela

Propaganda
UNIVERSIDADE
ESTADUAL
PAULISTA
COMPUTAÇÃO
PARALELA
INSTITUTO DE GEOCIÊNCIAS E CIÊNCIAS EXATAS
Departamento de Estatística, Matemática Aplicada e Computação
INTRODUÇÃO À
COMPUTAÇÃO PARALELA
GRUPO DE PESQUISA DE APLICAÇÕES
EM COMPUTAÇÃO PARALELA
COMPUTAÇÃO PARALELA
CONTEÚDO
 INTRODUÇÃO
 CONCEITOS BÁSICOS
 ARQUITETURAS PARALELAS
 PROGRAMAÇÃO PARALELA
 MULTICOMPUTADORES
 CONSIDERAÇÕES FINAIS
COMPUTAÇÃO PARALELA
INTRODUÇÃO - MOTIVAÇÕES
 Busca por maior desempenho;
 Aplicações intrinsecamente paralelas.
 Alto custo dos supercomputadores tradicionais.
 Desenvolvimento de redes de computadores de alta
velocidade;
 Desenvolvimento tecnológico na construção de
microprocessadores;
COMPUTAÇÃO PARALELA
CONTEÚDO
 INTRODUÇÃO
 CONCEITOS BÁSICOS
 ARQUITETURAS PARALELAS
 PROGRAMAÇÃO PARALELA
 MULTICOMPUTADORES
 CONSIDERAÇÕES FINAIS
COMPUTAÇÃO PARALELA
CONCEITOS BÁSICOS
 Concorrência: quando dois ou mais processos
começaram sua execução mas não terminaram.
 Sistema Distribuído: Processos concorrentes
executados em vários elementos de processamento.
 Paralelismo: Sistema distribuído visando à solução
de um único problema.
COMPUTAÇÃO PARALELA
CONTEÚDO
 INTRODUÇÃO
 CONCEITOS BÁSICOS
 ARQUITETURAS PARALELAS
 PROGRAMAÇÃO PARALELA
 MULTICOMPUTADORES
 CONSIDERAÇÕES FINAIS
COMPUTAÇÃO PARALELA
ARQUITETURAS PARALELAS
Classificação de Flynn é a mais utilizada embora não seja muito abrangente.
 SISD (Single Instruction Single Data): Arquitetura de von
Neumann;
 SIMD (Single Instruction Multiple Data):
Supercomputadores clássicos (Computadores vetoriais);
 MISD (Multiple Instruction Single Data): O Mesmo fluxo de
dados percorre um array linear de processadores
(pipeline);
 MIMD (Multiple Instruction Multiple Data): Arquiteturas
formada por processadores executam instruções
independentemente.
COMPUTAÇÃO PARALELA
ARQUITETURAS PARALELAS
Modelo simplificado dos conjuntos de aplicações
relacionados aos tipos de arquiteturas
COMPUTAÇÃO PARALELA
ARQUITETURAS PARALELAS
CATEGORIAS MIMD:
 Memória compartilhada:
– Caracteriza-se pela existência de uma memória global.
 Memória distribuída:
– Cada processador possui sua própria memória local.
– Os processos devem utilizar troca de mensagem para se
comunicar.
– Redes de computadores utilizando um sistema de
passagem de mensagem encontram-se nesta categoria.
COMPUTAÇÃO PARALELA
CONTEÚDO
 INTRODUÇÃO
 CONCEITOS BÁSICOS
 ARQUITETURAS PARALELAS
 PROGRAMAÇÃO PARALELA
 MULTICOMPUTADORES
 CONSIDERAÇÕES FINAIS
COMPUTAÇÃO PARALELA
PROGRAMAÇÃO PARALELA
Para a execução de programas paralelos, deve haver meios de:
 Definir um conjunto de tarefas a serem executadas
paralelamente;
 Ativar e encerrar a execução destas tarefas;
 Coordenar e especificar a interação entre estas
tarefas.
COMPUTAÇÃO PARALELA
PROGRAMAÇÃO PARALELA
Há pelo menos três maneiras de se construir um algoritmo
paralelo:
 Detectar e explorar um paralelismo inerente a um
algoritmo seqüencial existente
 Criar um algoritmo paralelo novo.
 Adaptar outro algoritmo paralelo que possa resolver
um problema similar.
COMPUTAÇÃO PARALELA
PROGRAMAÇÃO PARALELA
Há três estilos básicos de paralelismo, dependentes da plataforma
de execução.
 Paralelismo Geométrico: o conjunto de dados é dividido e cada
processador executa uma cópia do programa em seu conjunto
de dados.
 Paralelismo “Processor Farm”: Caracteriza-se por um
processador mestre que supervisiona um grupo de
processadores escravos.
 Paralelismo Pipeline: A aplicação é dividida em tarefas
específicas que são distribuídas aos processadores de forma
pipeline.
COMPUTAÇÃO PARALELA
CONTEÚDO
 INTRODUÇÃO
 CONCEITOS BÁSICOS
 ARQUITETURAS PARALELAS
 PROGRAMAÇÃO PARALELA
 MULTICOMPUTADORES
 CONSIDERAÇÕES FINAIS
COMPUTAÇÃO PARALELA
MULTICOMPUTADORES
 Ambientes de memória compartilhada utilizam um
paralelismo explícito, já que podem-se valer desta
memória para ativar os processos paralelos.
 Ambientes de memória distribuídas devem utilizar
um modelo chamado troca de mensagens para
comunicação e sincronização das tarefas.
COMPUTAÇÃO PARALELA
MULTICOMPUTADORES
Há dois principais padrões de troca de mensagens:
 PVM – Parallel Virtual Machine: é o conjunto integrado de
bibliotecas e de ferramentas de software, cuja finalidade
é emular um sistema computacional concorrente,
heterogêneo, flexível e de propósito geral.
 MPI – Massage Passing Interface: Padrão de interface de
troca de mensagens para aplicações que utilizam
computadores MIMD com memória distribuída.
COMPUTAÇÃO PARALELA
MULTICOMPUTADORES
 Speedup: Relação entre o tempo de execução de
um processo em um único processador e a
execução em p processadores.
Sp
=
Tseq
Tp
 Eficiência: Relação entre o speedup e número
de processadores.
E=
Sp
p
COMPUTAÇÃO PARALELA
CONTEÚDO
 INTRODUÇÃO
 CONCEITOS BÁSICOS
 ARQUITETURAS PARALELAS
 PROGRAMAÇÃO PARALELA
 MULTICOMPUTADORES
 CONSIDERAÇÕES FINAIS
Download