Este documento apresenta os detalhes de uma disciplina sobre sistemas distribuídos e paralelos ministrada por Alexander Rodríguez Bonet, incluindo o programa, avaliações, bibliografia e conteúdos sobre conceitos básicos de sistemas distribuídos e classificação de Flynn.
1. 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
2. O professor
Tecnologias e Sistemas de Computação
SISTEMAS 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: ale.bonet@gmail.com
3. Características da matéria
Tecnologias e Sistemas de Computação
SISTEMAS 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.
4. Avaliações contínuas
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Questionários escritos.
Participação em aulas.
Laboratórios.
Seminários.
Trabalho Prático Final.
5. Conteúdos da matéria
Tecnologias e Sistemas de Computação
SISTEMAS 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.
6. Conteúdos da matéria
Tecnologias e Sistemas de Computação
SISTEMAS 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.
7. Bibliografia recomendada
Tecnologias e Sistemas de Computação
SISTEMAS 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.
8. Bibliografia recomendada
Tecnologias e Sistemas de Computação
SISTEMAS 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.
9. Aula de hoje
Tecnologias e Sistemas de Computação
SISTEMAS 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.
10. Objetivo
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Identificar os principais conceitos associados a
Sistemas Distribuídos e Paralelos.
12. Necessidade
Tecnologias e Sistemas de Computação
SISTEMAS 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.
13. Necessidade
Tecnologias e Sistemas de Computação
SISTEMAS 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
14. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS 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.
10
8
10
11
10
9
10
6
15. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS 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.
N
2
10
11
18. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS 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.
19. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS 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.
20. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS 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.
21. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS 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 .
22. Motivações
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Problemas de grandes desafios:
Meio ambiente:
Contaminação
Prediçã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.
23. Sistema Distribuido
Tecnologias e Sistemas de Computação
SISTEMAS 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.
26. Sistema Distribuido
Tecnologias e Sistemas de Computação
SISTEMAS 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.
27. Sistema Distribuido ou Sistema Paralelo
Tecnologias e Sistemas de Computação
SISTEMAS 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.
28. ¿Que é a programação paralela?
Tecnologias e Sistemas de Computação
SISTEMAS 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.
29. ¿Que é a programação paralela?
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Instruções
30. Evolução de computadores mais potentes
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
31. Tarefa
Tecnologias e Sistemas de Computação
SISTEMAS 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/
32. Vantagens da Computação Paralela
Tecnologias e Sistemas de Computação
SISTEMAS 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.
33. Aplicações distribuídas
Tecnologias e Sistemas de Computação
SISTEMAS 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.
34. Clasificação de Flynn
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Fluxo de Instrução vs. Fluxo de Dados
SISD
SIMD
MISD
MIMD
Letra Significado
S Simples
M Múltipla
I Instrução
D Dado
35. Tarefa
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Procurar dados biográficos de Michael J.
Flynn e seus principais contribuições
científicas.
36. Clasificação de Flynn Aspectos de hardware
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Fluxo de Instrução vs. Fluxo de Dados
SISD: Ú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
37. Clasificação de Flynn Aspectos de hardware
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
38. Arquitectura de Sistemas Distribuídos e Paralelos
Tecnologias e Sistemas de Computação
SISTEMAS DISTRIBUÍDOS E PARALELOS
Em nossa próxima aula
39. Tarefa
Tecnologias e Sistemas de Computação
SISTEMAS 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?
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