INTRODUÇÃO À COMPUTAÇÃO PARALELA

Slides:



Advertisements
Apresentações semelhantes
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
Advertisements

Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
Banco de Dados Aula 01: Conceitos Básicos
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
Técnicas e Projeto de Sistemas
Computação: Cursos, Atuação e Interação Profissional Marcos José Santana Departamento de Ciências de Computação e Estatística ICMC-USP - São Carlos.
Críticas sobre Extreme Programming Francisco Hillesheim.
Trac é uma ferramenta open source e de interface web para controle de projetos de desenvolvimento de software. O objetivo do software é ajudar o desenvolvedor.
ANÁLISE E PROJETO DE SISTEMAS
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 1 Uma Ferramenta Orientada a Modelos para Geração de Aplicações.
Sistemas Operacionais
Prof. Dr. Helder Anibal Hermini. SUMÁRIO Algumas Aplicações O Treinamento da RNA Redes Neurais em Identificação e Controle de Processos Redes Neurais.
Prof. Dr. Helder Anibal Hermini
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Criptografia Quântica : Um Estudo
Compressão por Hardware
Gerência de Dados em Grades Motivação: – 1a geração de suporte a dados em Grades: ferramentas para transferência e catalogação de réplicas: Globus: GridFTP,
O que é XtremWeb(XW)? Projeto de pesquisa relacionado a light-weight Grids. Plataforma Open Source para a elaboração de grades baseadas em PCs, desenvolvida.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço ContextManager Treinamento no GRADEp Framework Master-Worker.
Algoritmos Genéticos - Capítulo 151 Algoritmos Genéticos Capítulo 15 Prof. Ricardo Linden.
Servidores e Programação Web Redes de Computadores.
Snap Together Visualization. Introdução - Exploração Visual de Dados Aplicada em conjuntos de dados abstratos. Facilitar a percepção de padrões, tendências,
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Arquitetura de Computadores I
O Fluxo de Testes © Alexandre Vasconcelos
Planejando seu site Objetivos Abordagem Sílvia Dota.
UNIVERSIDADE DE PASSO FUNDO
Curso de Engenharia Industrial Madeireira – UFPR Prof. Umberto Klock
UD de Sorocaba/ Iperó UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Funções de um computador
Arquitetura de Sistemas de Informação
Prof: Encoder Angular Prof:
Técnicas de Amostragem
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
01/08/20061 CT-282 Tutores Inteligentes ITA - INSTITUTO TECNOLÓGICO DE AERONÁUTICA.
Capítulo 8 Sistemas com Múltiplos Processadores
1 2º Semestre de 2006 CSC V-CTR USC CTR - Glêvson USC POT - Caio USC COMB - Débora Prof. Cunha Prof. Vieira Dias Prof. Márcio Programa de Pós-Graduação.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo XI Noções de Estruturas de Dados.
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Lógica de Descrições.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Computação Gráfica: Possibilidades e Desafios
FUNDAÇÃO CARLOS CHAGAS
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
Mac-499 Trabalho de Formatura Supervisionado
OTIMIZAÇÃO DE DESEMPENHO
M e d A d m i n. Quem é o público alvo da ideia? Profissionais vinculados à área da saúde, em particular, àqueles responsáveis pela administração de medicamentos,
Interpolação Introdução Conceito de Interpolação
Sistemas Lineares Parte 2
Organização de Sistemas de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Recursividade Estrutura de Dados.
Elaine Harada Teixeira de Oliveira – DCC – ICE - UFAM
Curso de Programação em C++
LINGUAGENS DE PROGRAMAÇÃO
Internet Aula 03. Histórico Durante a guerra fria, os EUA tiveram a necessidade de interligar laboratórios que trabalhavam para os militares; Essa interligação.
Baseado no documento do Prof. Ronaldo Martins da Costa
Conceitos Básicos de Redes de Computadores e acesso a Internet
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Programação Concorrente com Thread Java
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
INPE / CAP-334 Celso L. Mendes Aula 4-D(1) Reestruturação de Programas em Sistemas Vetoriais (II) Tópicos: Suporte à Paralelização Vetorização.
Sistemas Operacionais
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Transcrição da apresentação:

INTRODUÇÃO À COMPUTAÇÃO PARALELA 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 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.

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