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;
- Há 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 n² 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
- Transparência de acesso: Permite o acesso a componentes remotos e locais através das mesmas operações. Ex: Google Drive.
- 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.
- 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.
- 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.
- Transparência de mobilidade (migração): Permite a realocação de recursos e aplicações sem afetar o seu uso.
- 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.
- 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.
- Transparência de desempenho: Recursos adicionais são adicionados para suprir a nova demanda. Ex: Serviços oferecidos pela Amazon (elasticidade).
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.