Taxonomia de Flynn
Introdução ao Processamento Paralelo e de Alto
Desempenho
CLASSIFICAÇÃO DE FLYNN
PARA ARQUITETURAS PARALELAS DE
COMPUTADORES
01.
SISD
Na classe SISD (Single Instruction, Single Data), um único fluxo de instruções
atua sobre um único fluxo de dados.
Corresponde
ao tradicional modelo Von Neumann. Um
processador
executa seqüencialmente um conjunto de instruções sobre um conjunto de dados.
Exemplo:
- Computadores com um processador (PC’s e Mainframes).
02.
SIMD
Na classe SIMD (Single Instruction, MultipleData), uma única instrução é
executada ao mesmo tempo sobre múltiplos
dados.
Envolve múltiplos processadores
(escravos) sob o co
ntrole de
uma única unidade de controle (mestre) executando simultaneamente a mesma
instrução em diversos conjuntos de
dados.
Arquiteturas SIMD são utilizadas para manipulação de matrizes e processamento
de imagens.
Uma única
unidade de controle busca a instrução que
comanda
varias unidades aritméticas que executam em paralelo, cada uma delas com seus
próprios dados;
Exemplo:
- Arrayde
processadores (vetoriais e matriciais) e alguns
supercomputadores;
03. MISD
Na classe MISD (MultipleInstruction,
SingleData), múltiplos
fluxos de instruções atuam sobre um
único fluxo de dados.
Envolve
múltiplos processadores executando diferent
es
instruções em um único conjunto de dados. Geralmente, nenhuma arquitetura é
classificada como MISD, isto é, não existem representantes desta categoria.
Alguns autores cons
ideram
arquiteturas pipeline como exemplo deste tipo de organização.
04. MIMD
Em uma máquina MIMD (Multiple Instruction, Multiple Data),
cada unidade de controle C recebe um
fluxo de instruções próprio e repassa-o para sua unidade processadora P.
Envolve
múltiplos processadores executando diferentes instruções em diferentes
conjuntos de dados, de maneira independente. Esta classe engloba a maioria doscomputadores
paralelos.
Os sistemas
distribuídos estão nesta categoria, ou um conjunto de computadores independentes, cada um com seu contador de
programa, conjunto de instruções e dados.
Esta
categoria dividi-se em duas categorias por tipo de memória:
- Memória
Compartilhada: Espaço de endereçamento compartilhado;
- Memória
Local ou Individual: espaço de endereçame
nto próprio.
RESUMINDO PODEMOS TER O SEGUINTE RELATO:
MIMD versus SIMD
Ambos os tipos de organizações computacionais apresentam
vantagens e desvantagens. Arquiteturas SIMD, por apresentarem fluxo único de instruções,
oferecem facilidades para a programação e depuração de programas paralelos. Além
disso, seus elementos de processamento são simples, pois são destinados à computação
de pequena granulação. Por outro lado, arquiteturas MIMD apresentam grande
flexibili
dade para a execução de algoritmos paralelos (arquiteturas
SIMD geralmente se destinam a processamento de propósito específico), e apresentam
bom desempenho em virtude de seus elementos de processamento serem
assíncronos.
A classificação de Flynn apresenta alguns problemas. Ela não
é abrangente o suficiente para incluir alguns computadores modernos (por exemplo,
processadores vetoriais e máquinas de fluxo de dados), falhando também, no que
concerne a
extensibilidade da classificação. Outro inconveniente desta
classificação é a falta de hierarquia. A classificação MIMD, por exemplo, engloba
quase todas as arquiteturas paralelas sem a
presentar subníveis. No entanto, apesar de antiga (proposta
em 1972), a classificação de Flynn é bastante concisa e a mais utilizada.
A fim de acrescentar novas arquiteturas paralelas
surgidas, sem descartar a classificação de Flynn (visto que
esta é muito difundida), Duncan propôs uma classificação mais completa, e que
permite apresentar uma visão geral dos estilos
de organização para computadores paralelos
da atualidade.