introdução na computação distribuída e paralela · tecnologias e sistemas de computação...
TRANSCRIPT
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Introdução na Computação Introdução na Computação Distribuída e ParalelaDistribuída e Paralela
Introdução na Computação Introdução na Computação Distribuída e ParalelaDistribuída e Paralela
O docente: Eng. Alexander Rodríguez Bonet
ENGENHARIA DE INFORMÁTICA
Instituto Superior para as Tecnologias de Informação e Comunicação - ISUTIC
O professor
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Nome: Alexander Rodríguez Bonet.
Graduado de: Engenharia em Ciências Informáticas.
Categoria docente: Assistente.
Matérias: Cálculo e Computação.
E-mail: [email protected]
Características da matéria
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
60 horas no semestre.Site: https://ssppddisutic.wordpress.com/Conferências, Aulas Práticas, Laboratórios e Seminários.
Primeira Prova de Frequência: 12 – 16 de Setembro.
Segunda Prova de Frequência: 24 – 28 de Outubro.
Exame da época Normal do IIº Semestre: 21 de Novembro – 2 de Dezembro.
Avaliações contínuas
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Questionários escritos.Participação em aulas.Laboratórios.Seminários.Trabalho Prático Final.
Conteúdos da matéria
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Definição e Aspectos Básicos de Sistemas Paralelos e Distribuídos.
Arquitecturas e Sistemas Operacionais Paralelos e Distribuídos.
Redes de Processadores. Distribuição de Carga Computacional.
Gerência de Processos Distribuídos.Comunicação entre Processos Paralelos e Distribuídos.
Conteúdos da matéria
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Memória Compartilhada e Distribuída.Banco de Dados Distribuídos.Paradigmas da Programação Paralela e Distribuída.
Avaliação de Desempenho de Sistemas Computacionais Paralelos e Distribuídos.
Desenvolvimento de Sistemas de Informação Paralelos e Distribuídos.
Bibliografia recomendada
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
TANENBAUM, A. S. e VAN RENESSE, R. - Distributed Operating Systems; ACM Computing Surveys, 17(4), 1985.
MARQUES, J. A. e GUEDES, P. - Tecnologia de Sistemas Distribuídos; 2a ed.; Lisboa: FCA Editora de Informática, 1999.
COULORIS, G.; DOLLIMORE, J. E KINDBERG, T. - Sistemas Distribuídos: Conceito e Projeto; São Paulo: Bookman, 2007.
Bibliografia recomendada
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
MULLENDER, S. -Distributed Systems; ACM PRESS Frontier Series; New York: Addison-Wesley Publishing Company, 1989.
WILKINSON, B. e ALLEN, M. - Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers; 2a ed.; New York: Prentice Hall, 2004.
LYNCH, N. - Distributed Algorithms; USA: Morgan Kauffmann, 1997.
Aula de hoje
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Necessidades e Motivações dos Sistemas Distribuídos e Paralelos.
Definição de Sistemas Distribuídos e Paralelos.
Classificação de Flynn.
Objetivo
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Identificar os principais conceitos associados a Sistemas Distribuídos e Paralelos.
Computador convencional
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Um único processador resolve todas as tarefas
Necessidade
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
O rendimento dos computadores sequenciais está a começar a saturarse.
Uma única CPU tem limites físicos:
Limite da velocidade da luz: Estancamento nos incrementos da frequência de relógio.
Limite de Integração: Cerca do limite máximo.Mais frequência → Mais consumo + Temperaturas muito
elevadas.
Memória disponível.
Características.
Necessidade
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Há uma demanda contínua de um poder computacional superior:
– Modelagem e simulação numérica de problemas em ciências e engenharia.
– Caros cálculos iterativos sobre grandes quantidades de dados e fortes restrições temporárias:• Exemplos: predição meteorológica, biocomputación,
astrofísica.
– São sistemas a cada vez mais complexos que requerem maior tempo de cómputo.
Os processadores atuais são paralelos: n-core
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Sistemas de Previsão do Tempo:A atmosfera total é dividida em células de tamanho
por exemplo 1 milha x 1 milha x 1 milha, para uma alta de 10 milhas = 5 x células.
Se cada cálculo requer 200-flops, em um intervalo de tempo flops são necessários.
Analisar o clima de 7 dias, com intervalos de 1 minuto, num computador de 1Gflops ( flops) leva segundos ≈12 dias.
108
1011
109 106
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Problema das N-corpos no espaço:
Cada corpo atrai gravitacionalmente todos os outros.
O movimento de um corpo depende da força total exercida sobre ele.
Para N corpos, N-1 força devem ser calculadas: cálculos.
O cálculo é repetido a intervalos de tempo curtos.
A galáxia é de cerca de corpos.
Se cada cálculo leva 1ms, uma iteração completa leva 3 anos.
N2
1011
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Problemas de grandes desafios:
São problemas fundamentais em ciência ou engenharia muito usados, e cujos soluções exigem da computação de alto rendimento (High Performance Computing, HPC) para alcançar respostas de tempo adequado.
Exemplos:A dinâmica de fluidos computacional para:
Projeto de aviões hipersônicos, carrocerías de autos eficientes e submarinos silenciosos,
Previsão do tempo para o curto e longo prazo,Recuperação de petróleo eficiente.
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Problemas de grandes desafios:Cálculos de estrutura eletrônica para a concepção de
novos materiais tais como:Catalisadores químicos,Agentes imunológicos,Supercondutores,Simulação de circuitos.
Processamento de imagem:Aplicação em Medicina,Jogos de vídeo.
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Problemas de grandes desafios:Computação simbólica para:
Reconhecimento de voz,Visão por computador,Compreensão da linguagem natural,Razonamiento automático,Ferramentas para design, fabricação e simulação
de sistemas complexos.Problemas de astrofísica: Evolução de Galaxias.
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Problemas de grandes desafios:Biologia computacional:
Sequência de DNA,Reprodução de Espécies,Funcionamento docérebro humano.
Administração de dados:Banco de dados geográficas,Mineração de Dados,BigData .
Motivações
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Problemas de grandes desafios:Meio ambiente:
ContaminaçãoPredição de incêndios e inundações de grande escala,Predição do clima.
Simulação:Início do universo,Correntes Oceánicas,Evacuações,Difusão de Doenças, Vírus Informático, etc.
Sistema Distribuido
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
¿Que têm em comum estes aplicativos?
Tomam muito tempo.Manejam grandes volumes de dados.O tamanho do problema é extremamente grande.
Para que sejam efetivas se requer um processamento num tempo razoável.
Solução
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Usar vários processadores
Solução
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Usar vários computadores
Sistema Distribuido
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Colecção de computadores separados fisicamente e ligados por uma rede de comunicações; cada máquina tem seus componentes de hardware e software que o programador percebe como um sozinho sistema.
O programador acede aos componentes de software (objetos) remotos num grupo de computadores, da mesma maneira em que acederia a componentes locais.
Sistema Distribuido ou Sistema Paralelo
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Em programação distribuída, existe um conjunto de computadores conectados por uma rede que são usados colectivamente para realizar tarefas distribuídas.
Por outro lado nos sistemas paralelos, a solução a um problema importante é dividida em pequenas tarefas que são repartidas e executadas para conseguir um alto rendimento.
¿Que é a programação paralela?
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Uso de vários processadores trabalhando juntos para resolver uma tarefa comum.
O modo de uso dos processadores pode ser desenhado pelo programador:
– Cada processador trabalha numa porção do problema.
– Os processos podem trocar dados, através da memória ou por uma rede de interconexão.
¿Que é a programação paralela?
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Instruções
Evolução de computadores mais potentes
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Tarefa
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Procurar informação sobre os 10 super computadores mais poderosas da actualidade.
¿Que paises estão mais representados?
https://www.top500.org/
Vantagens da Computação Paralela
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
A programação paralela permite:– Resolver problemas que não cabem numa CPU.
– Resolver problemas que não se resolvem num tempo razoável.
Podem-se executar:– Problemas maiores.
– Mais rapidamente (aceleração).
– Mais problemas.
Aplicações distribuídas
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Funcionam seguindo um modelo cliente/servidor: Um ou mais servidores criam uns objetos locais e depois atendem petições de acesso sobre esses objetos provenientes de clientes situados em lugares remotos da rede.
Desta maneira os sistemas distribuídos solucionam as necessidades de:
Repartir o volume de informação.Compartilhar recursos, já seja em forma de software
ou hardware.
Clasificação de Flynn
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Fluxo de Instrução vs. Fluxo de DadosSISDSIMDMISDMIMD
Letra Significado
S Simples
M Múltipla
I Instrução
D Dado
Tarefa
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Procurar dados biográficos de Michael J. Flynn e seus principais contribuições científicas.
Clasificação de Flynn Aspectos de hardware
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Fluxo de Instrução vs. Fluxo de DadosSISD: Único fluxo de instruções aplicado a um único fluxo de dados.
SIMD: Único fluxo de instruções aplicado a múltiplos fluxos de dados.
MISD: Múltiplos fluxos de instruções aplicado a um único fluxo de dados.
MIMD: Múltiplos fluxos de instruções aplicado a múltiplos fluxos de dados
Clasificação de Flynn Aspectos de hardware
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Arquitectura de Sistemas Distribuídos e Paralelos
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Em nossa próxima aula
Tarefa
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Procurar informação para responder as seguintes perguntas:
¿Que diferenças existem entre Memória Compartilhada e Memória Distribuída?
¿Quais são as topologias de interconexão em sistemas distribuídos?
Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS
Introdução na Computação Introdução na Computação Distribuída e ParalelaDistribuída e Paralela
Introdução na Computação Introdução na Computação Distribuída e ParalelaDistribuída e Paralela
O docente: Eng. Alexander Rodríguez Bonet
ENGENHARIA DE INFORMÁTICA
Instituto Superior para as Tecnologias de Informação e Comunicação - ISUTIC