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

Post on 21-Nov-2018

217 views 0 download

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

Slide02Arquiteturas de SD

SIST706 – Sistemas Distribuídos2013/1

Prof. Jéfer Benedett Dörr@: prof.jefer@gmail.comprofjefer.wordpress.com

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)

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

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.

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.

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.

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

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.

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.

de memória● UMA (Uniform Memory Access)

● NUMA (non Uniform Memory Access)

● COMA (Cache-only memory architecture)

Tanenbaum

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

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

Arquitetura de SD

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.

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.

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.

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.

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

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?

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?

Bibliografia