Classificação de Flynn e Modelos de Computação Paralela

Classificado em Computação

Escrito em em português com um tamanho de 179,23 KB

Os modelos de arquitetura de computadores são classificados pelo fluxo de instruções e dados que se apresentam.

Essa classificação é definida como a Taxonomia (classificação) de Michael Flynn. Ela é dividida em quatro categorias principais:

  • SISD - Single Instruction Single Data stream;
  • SIMD - Single Instruction Multiple Data stream;
  • MISD - Multiple Instruction Single Data stream;
  • MIMD - Multiple Instruction Multiple Data stream;

Single Instruction Single Data stream (SISD)

Um único fluxo de instruções que manipula um único fluxo de dados. Isto corresponde ao processamento sequencial característico da máquina de Von Neumann e que compreende os computadores pessoais e estações de trabalho. Apesar de os programas estarem organizados através de instruções sequenciais, elas podem ser executadas de forma sobreposta em diferentes estágios (pipelining).

SIMD - Single Instruction Multiple Data stream

Corresponde ao processamento de vários dados sob a camada de apenas uma instrução. Nesta arquitetura, o programa ainda obedece a uma organização sequencial. Nesta classe, estão os processadores vetoriais e matriciais.

  • N processadores idênticos, cada um com sua própria memória local;
  • Todos os processadores são controlados pelo mesmo fluxo de instruções;
  • N fluxos de dados, um por processador;
  • Sincronismo em cada passo: todos os processadores executam a mesma instrução em diferentes dados;
  • Utiliza algoritmos paralelos onde problemas são divididos em conjuntos idênticos de subproblemas que podem ser resolvidos em paralelo.

MISD - Multiple Instruction Single Data stream

Neste caso, múltiplas unidades de controle executando instruções distintas operam sobre o mesmo dado. N processadores, cada um com a sua própria unidade de controle, compartilham uma única memória.

MIMD - Multiple Instruction Multiple Data stream

Esta classe é a mais generalista e poderosa. Há N processadores, N fluxos de instruções e N fluxos de dados. Várias unidades de controle comandam suas unidades funcionais, as quais têm acesso a vários módulos de memória. Qualquer grupo de máquinas operando como uma unidade enquadra-se como MIMD: servidores multiprocessadores, redes de estações e arquiteturas massivamente paralelas.

Arquitetura Ômega - Resumo

  • Cada chave possui duas entradas e duas saídas;
  • Redução do número de comutações de para n log₂ n;
  • Esta alternativa exige chaves de comutação muito rápidas;
  • Se houver um número grande de processadores, as chaves de comutação se tornam um gargalo;
  • Oferece uma melhora considerável em relação ao número de pontos de comutação quando comparada à arquitetura Crossbar;
  • Cada processador tem uma memória associada a ele;
  • Pode acessar qualquer outra memória associada a qualquer outro processador (embora de forma um pouco mais lenta).

Transparências em Sistemas Distribuídos

  1. Transparência de acesso: Permite o acesso a componentes remotos e locais através das mesmas operações. Ex: Google Drive.
  2. Transparência de localização: Permite o acesso a componentes sem conhecimento da sua localização física. Existência de um mecanismo que determina a localização baseada em um nome. Ex: URL.
  3. Transparência de concorrência: Permite a execução concorrente de múltiplas operações sobre o mesmo conjunto de recursos sem causar interferência entre elas. Ex: Impressoras compartilhadas, leilão virtual.
  4. Transparência de escala: Permite a expansão do sistema e de suas aplicações sem exigir mudanças significativas na infraestrutura existente; o sistema não possui gargalos.
  5. Transparência de mobilidade (migração): Permite a realocação de recursos e aplicações sem afetar o seu uso.
  6. Transparência de replicação: O usuário desconhece a existência de várias cópias do recurso; fundamental para desempenho e tolerância a falhas.
  7. Transparência de falhas: A presença de falhas no sistema não é percebida pelos usuários; implica na ausência de um ponto único de falha.
  8. Transparência de desempenho: Recursos adicionais são adicionados para suprir a nova demanda. Ex: Serviços oferecidos pela Amazon (elasticidade).

Imagem

Imagem

Modelos Cliente-Servidor

Tipo Cliente-Desktop: Abrange os sistemas nos quais tanto o processo cliente quanto o servidor residem na máquina servidora e os usuários, através de uma estação ou terminal remoto, interagem com o processo cliente remotamente, emitindo o pedido e recebendo os resultados.

Tipo Cliente-Servidor Intra-Sistema: Sistemas nos quais os processos cliente e servidor residem no mesmo local. São exemplos típicos as estações de trabalho, isoladas ou não da rede. O usuário, ao fazer uso da aplicação local, emite uma solicitação de serviço ao processo servidor situado na mesma máquina onde o usuário está operando.

Tipo Servidor-Desktop: Nesse sistema, o processo cliente é executado na estação de trabalho do usuário, na qual são enviadas as requisições à máquina servidora através da rede. O servidor, por sua vez, recebe as requisições do cliente, efetua o processamento e devolve os resultados.

Acoplamento de Sistemas

Sistemas Fortemente Acoplados:

  • Pequeno atraso no envio de mensagens;
  • Permitem alta granularidade da aplicação;
  • Taxa de transmissão dos dados é alta.

Sistemas Fracamente Acoplados:

  • Alto atraso das mensagens entre máquinas;
  • Menor nível de granularidade da aplicação;
  • A taxa de transmissão dos dados é baixa.

Arquitetura Switch-Based

  • Não possui um backbone simples;
  • Existem diversas formas de conexão entre os processadores (ou computadores);
  • Existe uma decisão de chaveamento explícita feita em cada passo do roteamento da mensagem.

Computação em Grade (Grid Computing)

Compartilhamento de recursos entre máquinas conectadas em uma rede:

  • Desktops, servidores e supercomputadores;
  • Recursos: discos, memória, CPU, etc.;
  • Os recursos são compartilhados quando a máquina está ociosa.

Entradas relacionadas: