Buscar

005-ASD-Classificação de Flynn

Prévia do material em texto

ARQUITETURA DE 
SISTEMAS DISTRIBUÍDOS
Prof. Carlos Alves
disciplinas@linuxconsult.com.br
Classificação de Flynn
Taxonomia de computadores
Pesquisadores mostraram classificações 
diferentes
Flynn, 1972
Treleaven, 1985
Taxonomia de computadores
Classificação de computadores baseada no
fluxo de instrução e de dados proposta na
década de 70 por Flynn.
Taxonomia de Flynn
 Proposta por J. L. Flynn em 1972;
 Ainda é válida e muito difundida;
 Diferencia o fluxo de instruções (instruction stream) e o
fluxo de dados (data stream), dependendo se esses
fluxos são múltiplos ou não.
Fluxos de instruções
Fluxos de dados
Taxonomia de Flynn
Fluxo de instruções = Contador de programa
Um sistema com n CPUs tem n contadores de
programa, por conseguinte, n fluxos de
instruções
Taxonomia de Flynn
SD
(Single Data)
(Um dado)
MD
(Multiple Data)
(Múltiplos dados)
SI
(Single Instruction
(Uma instrução)
SISD
Máquinas de Von 
Neumann 
convencionais
SIMD
Máquinas Array
(computadores
vetoriais)
MI
(Multiple Instruction)
(Múltiplas instruções)
MISD
Pipelines
MIMD
Multiprocessadores e 
Multicomputadores
(Computadores 
paralelos)
SISD
Single Instruction stream/Single Data stream
É a identificação mais simples;
O equipamento é considerado sequencial;
Só é executada uma instrução por vez para
cada dado enviado;
SISD
Single Instruction stream/Single Data stream
Possuem uma única unidade de controle
Pode ter várias unidades funcionais mas apenas
uma de controle
São as máquinas Von Neuman tradicionais,
sem qualquer paralelismo
São exemplos as maquinas:
Monoprocessadas: PC, MAC, Workstation Sun
Arquitetura Von Neumann
Pontos básicos:
1. Um único controle centralizado (uma só CPU);
2. Uma única memória para dados e instruções; e
3. As instruções devem fazer operações elementares
sobre os dados.
 Desenvolvido na década de 50;
 Cerca de 90% dos computadores atuais usam
essas características.
SISD
Single Instruction stream/Single Data stream
SIMD
Single Instruction stream/Multiple Data stream
 É equivalente ao paralelismo de dados
 Uma simples instrução é executada paralelamente
utilizando vários dados de forma síncrona, em que se
executa um único programa ao mesmo tempo
 Neste contexto se encaixam:
A tecnologia MMX (MultiMedia eXtension) existente
dentro dos processadores atuais;
Nos computadores vetoriais como Cray 1, CM-2
SIMD
Single Instruction stream/Multiple Data stream
SIMD
Single Instruction stream/Multiple Data stream
MISD
Multiple Instruction stream/Single Data stream
Seriam máquinas que executam várias instruções ao
mesmo tempo sobre um único dado
É difícil imaginar uma máquina nestas condições
Não representa nenhuma implementação disponível
Um exemplo, seria criar uma máquina com vários
processadores tentando quebrar um código de
criptografia
A arquitetura MIMD já faz isto
MISD
Multiple Instruction stream/Single Data stream
MIMD
Multiple Instruction stream/Multiple Data stream
Múltiplas unidades de controle atuando em fluxos de
dados diferentes
Esta classe foi subdividida em
Sistemas fortemente acoplados
Sistemas fracamente acoplados
Várias unidades de controle comandam suas
unidades funcionais
MIMD
Multiple Instruction stream/Multiple Data stream
Refere-se ao modelo de execução paralela na qual
cada processador está essencialmente agindo
independente
Existem múltiplos fluxos de instruções e múltiplos
dados como se fossem um conjunto de máquinas
SISD em que cada processador é capaz de executar
um programa diferente
Exemplos: servidores com múltiplos processadores,
sistemas MPP* e os clusters de computadores
*Massively Parallel Processors – Processadores Fortemente Paralelos
MIMD
Multiple Instruction stream/Multiple Data stream
MIMD
Multiple Instruction stream/Multiple Data stream
MIMD
Sistemas fortemente acoplados
Memória compartilhada
Multiprocessadores
Arquiteturas:
UMA (Uniform Memory Access)
NUMA (Non-Uniform Memory Access)
COMA (Cache-Only Memory Access)
Programação: memória compartilhada
MIMD
Sistemas fortemente acoplados
Vantagem:
Compartilhamento de dados entre os processos
muito mais rápido;
Desvantagens:
Computadores extremamente caros
Existe uma limitação física para a quantidade de
processadores
Necessário técnicas de sincronização para leitura
e gravação de dados
MIMD
Sistemas fortemente acoplados
Modelo de Arquitetura SMP
Arquitetura UMA
Arquiteturas com memória única global.
Tempo de acesso uniforme para todos os nós de
processamento.
Nós de processamento e memória interconectados
através de barramento único.
Número reduzido de nós de processamento.
Coerência de cache mantida por "hardware" .
Arquitetura UMA - Uniform Memory Access
Arquitetura UMA
Utilizado em sistemas de pequena dimensão
Desenvolvimento simplificado
Arquitetura UMA - Uniform Memory Access
Arquitetura NUMA
Construída em vários módulos
Associando um a cada processador
O espaço de endereçamento é único
Tende a ser mais complexo
Depende exclusivamente da localização dos dados
Arquitetura NUMA
Arquitetura NUMA (Non-Uniform 
Memory Access)
Espaço de Endereçamento
Arquitetura COMA
 É um tipo de especial de NUMA
Memórias globais são substituídas por caches
 Necessário um mecanismo de coerência caches
 Tem um alto preço
Arquitetura COMA(Cache-Only Memory Access)
Arquitetura COMA
Sistemas fracamente acoplados
Multicomputadores
Memória fisicamente distribuída
 Arquiteturas: NORMA,
 Programação: troca de mensagens
Sistemas fracamente acoplados
 Desvantagens
Programação mais complicada
Paralelismo não é intuitivo
Se exigir muita comunicação = custo com envio de
mensagens
Sistemas fracamente acoplados
Arquitetura com memória distribuída
Próxima aula
Modelos de programação

Continue navegando