SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há...

23
Slide02 Arquiteturas de SD SIST706 – Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: [email protected] profjefer.wordpress.com

Transcript of SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há...

Page 1: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Slide02Arquiteturas de SD

SIST706 – Sistemas Distribuídos2013/1

Prof. Jéfer Benedett Dörr@: [email protected]

Page 3: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Arquitetura de Comp Paralelos● Computadores Paralelos● Há vários modelos/tipos/exemplos de

computadores paralelos “reais” ou “virtuais”● Modelos = abstraçõesClassificações● Flynn (fluxos de instruções e dados)● Modelo de acesso à memória● TOP500 (tendências)

Page 4: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Taxonomia de Flyn● proposta na década de 60(ver também ACM

Computing Surveys, v.28, n.1, 1996)● Modelo baseado em fluxos de instruções

atuando sobre fluxos de dados

Page 5: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Tax. Flyn● A taxonomia de Flynn abrange quatro classes de

arquiteturas de computadores:● SISD (Single Instruction Single Data): Fluxo único de

instruções sobre um único conjunto de dados.● SIMD (Single Instruction Multiple Data): Fluxo único de

instruções em múltiplos conjuntos de dados.● MISD (Multiple Instruction Single Data): Fluxo múltiplo

de instruções em um único conjunto de dados.● MIMD (Multiple Instruction Multiple Data): Fluxo múltiplo

de instruções sobre múltiplos conjuntos de dados.

Page 6: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

SISD● SISD significa Single Instruction, Single Data, ou

seja, fluxo único de instruções e também de dados. É um dos tipos de arquitetura mais simples, já que opera apenas um dado a cada instrução. Processadores que implementam esse modelo só aplicam uma instrução por ciclo nos dados de entrada, sendo de baixo poder de cálculo.

Page 7: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

SIMD● SIMD (Single Instruction, Multiple Data), descreve um

método de operação de computadores com várias unidades operacionais em computação paralela. Neste modo, a mesma instrução é aplicada simultaneamente a diversos dados para produzir mais resultados. O modelo SIMD é adequado para o tratamento de conjuntos regulares de dados, como as matrizes e vetores. Esse tipo de máquina opera aplicando uma única instrução a um conjunto de elementos de um vetor. Sendo uma máquina que aplique a n elementos uma determinada instrução e o vetor t contenha os elementos a serem processados, t terá todos seus elementos calculados n vezes mais rápido que uma máquina SISD na mesma tarefa.

Page 8: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

MISD● MISD (Multiple Instruction, Single Data) é um tipo de

arquitetura de computação paralela, onde muitas unidades funcionais executam operações diferentes sobre os mesmos dados. Arquiteturas pipeline pertencem a este tipo, apesar de um purista poderia dizer que os dados é diferente após o processamento por cada fase do pipeline. Tolerante a falhas computadores executando as mesmas instruções redundantemente, a fim de detectar erros e máscara, de uma forma conhecida como replicação de dados, pode-se considerar que pertencem a este tipo. Não há muitos exemplos da existência desta arquitectura

Page 9: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

MIMD● MIMD é um acronimo de Multiple Instruction Multiple

Data. É um tipo de arquitectura de computação conjugada. Consiste em CPUs diferentes que executam programas iguais compartilhando memória comum e cálculos coincidentes, cada processador tem acesso a memória compartilhada através do barramento lógico.

Page 10: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

de memóriaMemória distribuída (distributed memory)● a memória é composta por vários módulos;● cada módulo está próximo a um processador.Memória centralizada (centralized memory)● a memória se encontra a mesma distância de todos os

processadores;● pode ser implementada com um ou vários módulos.

Page 11: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

de memória● UMA (Uniform Memory Access)

● NUMA (non Uniform Memory Access)

● COMA (Cache-only memory architecture)

Page 12: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Tanenbaum

Page 13: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

SMP

●Multiprocessamento simétricoSMP (Symmetric Multi-Processing) ocorre em um sistema computacional com vários processadores com memória compartilhada sob controle de um único sistema operacional.

Processadores multicore

Page 14: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

SD úbiquos● Redes de Sensores● Redes de Satélites

Page 15: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Arquitetura de SD

Page 16: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Cliente-Servidor● Cliente-servidor é um modelo computacional que

separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma.

Page 17: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Cliente-ServidorCaracterísticas do Cliente

● Sempre inicia pedidos para servidores;● Espera por respostas;● Recebe respostas;● Normalmente conecta-se a um pequeno número de servidores de uma só vez;● Normalmente interage diretamente com os usuários finais através de qualquer

interface com o usuário;● Utiliza recursos da rede.

Características do Servidor● Sempre espera por um pedido de um cliente;● Atende os pedidos e, em seguida, responde aos clientes com os dados solicitados;● Pode se comunicar com outros servidores para atender uma solicitação específica

do cliente;● Fornece recursos de rede.

Page 18: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Cliente-ServidorVantagens

● Na maioria dos casos, a arquitetura cliente-servidor permite que os papéis e responsabilidades de um sistema de computação possam ser distribuídos entre vários computadores independentes que são conhecidos por si só através de uma rede. Isso cria uma vantagem adicional para essa arquitetura: maior facilidade de manutenção. Por exemplo, é possível substituir, reparar, atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam a ser a consciência e não afetado por essa mudança;

● Todos os dados são armazenados nos servidores, que geralmente possuem controles de segurança muito maior do que a maioria dos clientes. Servidores podem controlar melhor o acesso e recursos, para garantir que apenas os clientes com as permissões adequadas possam acessar e alterar dados;

● Desde o armazenamento de dados é centralizada, as atualizações dos dados são muito mais fáceis de administrar,

● Muitas tecnologias avançadas de cliente-servidor já estão disponíveis, que foram projetadas para garantir a segurança, facilidade de interface do usuário e facilidade de uso;

● Funciona com vários clientes diferentes de capacidades diferentes.

Page 19: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Cliente-ServidorVantagens

● Na maioria dos casos, a arquitetura cliente-servidor permite que os papéis e responsabilidades de um sistema de computação possam ser distribuídos entre vários computadores independentes que são conhecidos por si só através de uma rede. Isso cria uma vantagem adicional para essa arquitetura: maior facilidade de manutenção. Por exemplo, é possível substituir, reparar, atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam a ser a consciência e não afetado por essa mudança;

● Todos os dados são armazenados nos servidores, que geralmente possuem controles de segurança muito maior do que a maioria dos clientes. Servidores podem controlar melhor o acesso e recursos, para garantir que apenas os clientes com as permissões adequadas possam acessar e alterar dados;

● Desde o armazenamento de dados é centralizada, as atualizações dos dados são muito mais fáceis de administrar,

● Muitas tecnologias avançadas de cliente-servidor já estão disponíveis, que foram projetadas para garantir a segurança, facilidade de interface do usuário e facilidade de uso;

● Funciona com vários clientes diferentes de capacidades diferentes.

Page 20: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Peer-to-Peer●Descentralização●Heterogeneidade●Escalabilidade global●Disponibilidade●DNS

Page 21: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Exercício1. Tarefa: Slides01 baseados no CAP1 do Coulouris; Slides02

baseados no CAP2 do Coulouris. Olhar estes dois capítulos no livro texto. Sugestão: biblioteca, alternativa PDF.

2. Qual diferencial entre um cluster e uma máquina NUMA no quesito Sistema Operacional? Qual é a situação mais vantajosa e porque?

3. O que é e para que serve um middleware de sistemas distribuídos? Cite alguns exemplos.

4. Quais as características das principais arquiteturas de SD?5. Quais as características das principais arquiteturas de

computadores paralelos?6. Em computadores MIMD, quais diferentes classificações de

tipos de acesso a memória?

Page 22: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Exercício7. O que em Arquitetura seria um sistema DSM?8 . Onde são usados Sistemas Massivos de Processamento Paralelo (MPP)?9. Qual a diferença de multiprocessadores e multicomputadores?10. O que são computadores fortemente e fracamenteacoplados?11. Como funciona o sistema de janelas X11?12. Como funciona o DNS?

Page 23: SIST706 – Sistemas Distribuídos · Arquitetura de Comp Paralelos Computadores Paralelos Há vários modelos/tipos/exemplos de computadores paralelos “reais” ou “virtuais”

Bibliografia