180 likes | 451 Views
UNIVERSIDADE ESTADUAL PAULISTA 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. CONTEÚDO. INTRODUÇÃO CONCEITOS BÁSICOS ARQUITETURAS PARALELAS
E N D
UNIVERSIDADE ESTADUAL PAULISTA 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
CONTEÚDO • INTRODUÇÃO • CONCEITOS BÁSICOS • ARQUITETURAS PARALELAS • PROGRAMAÇÃO PARALELA • MULTICOMPUTADORES • CONSIDERAÇÕES FINAIS
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;
CONTEÚDO • INTRODUÇÃO • CONCEITOS BÁSICOS • ARQUITETURAS PARALELAS • PROGRAMAÇÃO PARALELA • MULTICOMPUTADORES • CONSIDERAÇÕES FINAIS
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.
CONTEÚDO • INTRODUÇÃO • CONCEITOS BÁSICOS • ARQUITETURAS PARALELAS • PROGRAMAÇÃO PARALELA • MULTICOMPUTADORES • CONSIDERAÇÕES FINAIS
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.
ARQUITETURAS PARALELAS Modelo simplificado dos conjuntos de aplicações relacionados aos tipos de arquiteturas
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.
CONTEÚDO • INTRODUÇÃO • CONCEITOS BÁSICOS • ARQUITETURAS PARALELAS • PROGRAMAÇÃO PARALELA • MULTICOMPUTADORES • CONSIDERAÇÕES FINAIS
PROGRAMAÇÃO PARALELA • 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. Para a execução de programas paralelos, deve haver meios de:
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.
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.
CONTEÚDO • INTRODUÇÃO • CONCEITOS BÁSICOS • ARQUITETURAS PARALELAS • PROGRAMAÇÃO PARALELA • MULTICOMPUTADORES • CONSIDERAÇÕES FINAIS
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.
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.
MULTICOMPUTADORES • Speedup: Relação entre o tempo de execução de um processo em um único processador e a execução em p processadores. • Eficiência: Relação entre o speedup e número de processadores. Tseq Tp Sp = Sp p E =
CONTEÚDO • INTRODUÇÃO • CONCEITOS BÁSICOS • ARQUITETURAS PARALELAS • PROGRAMAÇÃO PARALELA • MULTICOMPUTADORES • CONSIDERAÇÕES FINAIS