• Nenhum resultado encontrado

Introdução na Computação Distribuída e Paralela

N/A
N/A
Protected

Academic year: 2021

Share "Introdução na Computação Distribuída e Paralela"

Copied!
38
0
0

Texto

(1)

Introdução na Computação

Distribuída e Paralela

ISUTIC 2017

(2)

Características da matéria

● 90 horas no semestre

● Conferências, Aulas Práticas, Laboratórios e Seminários

● Objetivo

Introduzir os alunos nos fundamentos de sistemas de

computadores paralelos e distribuídos e possibilitar o entendimento dos principais aspectos que intervêm no projecto e na utilização desses sistemas, em vários níveis de complexidade.

(3)

Avaliações contínuas

● Questionários escritos. ● Participação em aulas. ● Laboratórios.

● Seminários.

(4)

Conteúdos da matéria

1.Definição e Aspectos Básicos de Sistemas Paralelos e Distribuídos

2.Arquitecturas Paralelas e Distribuídas.

3.Aspectos do Projecto de Sistemas Paralelos e Distribuídos

4.Redes de Processadores

5.Sistemas Operacionais Paralelos e Distribuídos 6.Gerência de Processos Distribuídos

7.Comunicação entre Processos Paralelos e Distribuídos: Modelo ClienteServidor.

(5)

Conteúdos da matéria

8.Memória Compartilhada Distribuída 9.Gerência de Arquivos Distribuída

10.Banco de Dados Distribuídos

11.Paradigmas da Programação Paralela e Distribuída

12.Avaliação de Desempenho de Sistemas Computacionais Paralelos e Distribuídos

13.Desenvolvimento de Sistemas de Informação Paralelos e Distribuídos

(6)

Bibliografia recomendada

● Coulouris, G., Dollimore, J., Kindberg, T., & Blair, G. (2013).

Sistemas Distribuídos-: Conceitos e Projeto. Bookman

Editora.

Lynch, N. A. (1996). Distributed algorithms. Morgan Kaufmann.Marques, J. A., & Guedes, P. (1998). Tecnologia de sistemas

distribuídos.

Mullender, S., & others. (1993). Distributed systems (Vol. 12).

acm press United States of America.

Tanenbaum, A. S. (1995). Distributed operating systems.

Pearson Education India.

Wilkinson, B., & Allen, M. (1999). Parallel programming:

techniques and applications using networked workstations and parallel computers. Prentice-Hall.

(7)

Aula de hoje

● Necessidades e Motivações dos Sistemas

Distribuídos e Paralelos.

● Definição de Sistemas Distribuídos e Paralelos. ● Classificação de Flynn.

(8)

Objetivo

● Identificar os principais conceitos associados a

(9)

Computador convencional

(10)

Necessidade

● 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

muitoelevadas.

Memória disponível.Características.

(11)

Necessidade

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

(12)

Motivações

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

(13)

Motivações

● 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: N2 cálculos.

O cálculo é repetido a intervalos de tempo curtos.A galáxia é de cerca de 1011 corpos.

– Se cada cálculo leva 1ms, uma iteração completa

(14)
(15)
(16)

Motivações

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

(17)

Motivações

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,

(18)

Motivações

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.

(19)

Motivações

Problemas de grandes desafios:

● Biologia computacional:

Sequência de DNA,

Reprodução de Espécies,

Funcionamento do cérebro humano.

● Administração de dados:

Banco de dados geográficas,Mineração de Dados,

(20)

Motivações

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,

(21)

Sistema Distribuido

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

(22)

Solução

(23)

Sistema Distribuido

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

(24)

Sistema Distribuido ou Sistema

Paralelo

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

(25)

¿Que é a programação paralela?

● 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

(26)
(27)

Evolução de computadores mais

potentes

(28)

Tarefa

● Procurar informação sobre os 10 super

computadores mais poderosas da actualidade.

● ¿Que paises estão mais representados? ● https://www.top500.org/

(29)

Vantagens da Computação Paralela

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

(30)

Aplicações distribuídas

● 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

(31)

Clasificação de Flynn

● Fluxo de Instrução vs. Fluxo de Dados

SISDSIMDMISDMIMD Letra Significado S Simples M Múltipla I Instrução

(32)

Clasificação de Flynn Aspectos de

hardware

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

(33)

Clasificação de Flynn Aspectos de

hardware

(34)

Tarefa

● Procurar dados biográficos de Michael J. Flynn

(35)

Tarefa

● Procurar informação para responder

asseguintes perguntas:

¿Que diferenças existem entre MemóriaCompartilhada e Memória Distribuída?

¿Quais são as topologias de interconexão em

(36)
(37)

Clasificação de Flynn Aspectos de

hardware

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

(38)

Introdução na Computação

Distribuída e Paralela

ISUTIC 2017

Referências

Documentos relacionados

apresentaremos, de forma, sucinta, as relações dialógicas de Mikhail Bakhtin e a linguagem como um fenômeno social da interação verbal; na segunda, trataremos dos gêneros

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

Quer seja para energia em regime contínuo, de emergência (standby), de ponta ou cogeração, também chamada de aplicações de Calor e Energia Combinados (CHP), nossas soluções

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

Como já afirmei, esta pesquisa tentou compreender o olhar das crianças negras sobre sua realidade e suas relações no ambiente escolar. Através deste olhar, na simplicidade das vozes

 Para os agentes físicos: ruído, calor, radiações ionizantes, condições hiperbáricas, não ionizantes, vibração, frio, e umidade, sendo os mesmos avaliados

A Pró-Reitoria de Assuntos Estudantis, por intermédio da Divisão Multidisciplinar de Assistência ao Estudante (DIMAE/PROAES) torna público o lançamento do presente edital

O presente trabalho teve como objetivo caracterizar, em crianças com queixa de dificuldade de aprendizagem, associações entre problemas de comportamento e variáveis que determinam