introdução na computação distribuída e paralela · tecnologias e sistemas de computação...

40
Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Introdução na Computação Introdução na Computação Distribuída e Paralela Distribuída e Paralela Introdução na Computação Introdução na Computação Distribuída e Paralela Distribuí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

Upload: others

Post on 29-Oct-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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

Page 2: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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]

Page 3: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 4: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 5: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 6: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 7: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 8: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 9: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 10: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Objetivo

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Identificar os principais conceitos associados a Sistemas Distribuídos e Paralelos.

Page 11: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Computador convencional

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Um único processador resolve todas as tarefas

Page 12: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 13: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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

Page 14: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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

Page 15: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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

Page 16: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Motivações

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Page 17: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Motivações

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Page 18: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 19: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 20: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 21: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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 .

Page 22: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 23: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 24: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Solução

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Usar vários processadores

Page 25: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Solução

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Usar vários computadores

Page 26: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 27: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 28: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

¿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.

Page 29: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

¿Que é a programação paralela?

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Instruções

Page 30: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Evolução de computadores mais potentes

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Page 31: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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/

Page 32: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 33: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 34: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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

Page 35: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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.

Page 36: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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

Page 37: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Clasificação de Flynn ­ Aspectos de hardware

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Page 38: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

Arquitectura de Sistemas Distribuídos e Paralelos

Tecnologias e Sistemas de ComputaçãoSISTEMAS DISTRIBUÍDOS E PARALELOS

Em nossa próxima aula

Page 39: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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?

Page 40: Introdução na Computação Distribuída e Paralela · Tecnologias e Sistemas de Computação SISTEMAS DISTRIBUÍDOS E PARALELOS Uso de vários processadores trabalhando juntos para

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