1) O que é Classificação de Flynn?
A taxonomia de Flynn Baseia-se no fato de um computador executar uma sequência de instruções de dados, diferencia-se o fluxo de instruções e o fluxo de dados. Abrange quatro classes de arquiteturas de computadores: SISD (Single Instruction Single Data): Fluxo único de instruções sobre um único conjunto de dados.
2) Defina a arquitetura SISD?
A sigla 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.
3) Defina a arquitetura SIMD?
A sigla 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.
4) Defina a arquitetura MISD?
Na computação, 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 que um purista poderia dizer que os dados são diferentes 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, como MIMD e SIMD, e são muitas vezes mais adequado para dados comum paralelo técnicas. Especificamente, eles permitem melhor escalonamento e da utilização de recursos computacionais que MISD faz.
5) Defina a arquitetura MIMD?
Máquinas MIMD (Multiple Instruction Multiple Data) são arquiteturas
caracterizadas pela execução simultânea de múltiplos fluxos de instruções. Essa capacidade
deve-se ao fato de que são construídas a partir de vários processadores operando de forma
cooperativa ou concorrente, na execução de um ou vários aplicativos. Essa definição deixa
margem para que várias topologias de máquinas paralelas e de redes de computadores
sejam enquadradas como MIMD. A diferenciação entre as diversas topologias MIMD é
feita pelo tipo de organização da memória principal, memória cache e rede de interconexão.
Nas próximas seções serão detalhados os principais aspectos com relação às arquiteturas de
máquinas MIMD.
6) O que é Paralelismo Implícito?
Paralelismo implícito: a aplicação é paralelizada sem a intervenção do programador, que não especifica, e também não controla, a decomposição e o escalonamento das tarefas e a colocação dos dados. Comumente suportado por hardware, por linguagens de programação paralelas e por compiladores paralelizadores;
7) O que é Paralelismo Explícito?
Paralelismo explícito: o programador é responsável pela maior parte do esforço de paralelização (decomposição e/ou escalonamento de tarefas, comunicação, etc.). Essa abordagem se baseia na hipótese de que o programador é a pessoa que reúne as melhores condições para decidir como paralelizar sua aplicação. Usualmente é dito que esta abordagem permite obter melhores resultados.
8) O que é o Modelo de Multiprocessadores UMA?
Acesso à memória uniforme ( UMA ) é uma memória compartilhada arquitetura usada em computadores paralelos . Todos os processadores no modelo UMA compartilhar a memória física de maneira uniforme. Em uma arquitetura UMA, tempo de acesso a um local de memória é independente de qual processador faz com que o pedido ou que chip de memória contém os dados transferidos. Arquiteturas de computadores de acesso à memória uniforme são frequentemente contrastado com acesso à memória não uniforme arquiteturas (NUMA). Na arquitetura UMA, cada processador pode usar um cache privado. Periféricos também são compartilhados de alguma forma. O modelo UMA é adequado para aplicações de uso e compartilhamento de tempo gerais por vários usuários. Ele pode ser usado para acelerar a execução de um programa único grande no tempo crítico aplicações
9) O que é o Modelo de Multiprocessadores NUMA?
Acesso Não-uniforme a Memória (NUMA - Non-Uniform Memory Access (em inglês)) é uma arquitetura para projeto de memória principal de computadores multiprocessados. Nesta arquitetura o acesso à memória executado pelos processadores é não uniforme, o que significa que cada processador terá uma latência diferente ao acessar a memória principal e compartilhada do computador. Essa latência não-uniforme vem do fato de que cada processador ou conjunto de processadores tem os seus bancos de memória local. E o conjunto dessas memórias locais de cada processador forma a memória principal do computador. Quando um processador requisita memória mas não tem mais espaço em sua memória local, ele pede espaço de memória ao processador vizinho, memória remota. Neste caso, a latencia será maior pois a distância física do processador ao banco de memória é maior.
10) O que é o Modelo de Multiprocessadores COMA?
Cache única arquitetura de memória ( COMA ) é uma memória de computador organização para uso em multiprocessadores em que as memórias locais (normalmente DRAM ) em cada nó são usados como cache. Isto está em contraste com as memórias locais utilizando como memória principal real, como no NUMA organizações.
Em NUMA, cada endereço no espaço de endereço global é tipicamente atribuído um nó de telefonia fixa residencial. Quando os processadores acessar alguns dados, é feita uma cópia em seu cache local, mas o espaço permanece alocada no nó de casa. Em vez disso, com COMA, não há nenhuma casa. Um acesso de um nó remoto pode causar que os dados a serem migrados. Em comparação com a NUMA, isto reduz o número de cópias redundantes e podem permitir uma utilização mais eficiente dos recursos de memória. Por outro lado, levanta problemas de como encontrar um particular de dados (não há mais um nó de casa) e o que fazer se a memória local enche-se (migrar alguns dados na memória local, então precisa de expulsar alguns outros dados, que não têm uma casa para onde ir)
11) O que é Multithreading no chip?
È a capacidade que o sistema operacional possui de executar várias threads simultaneamente sem que uma interfira na outra. Estas threads compartilham os recursos do processo, mas são capazes de ser executadas de forma independente. Para possuir processamento multithread “real”, os processadores precisam ser capazes de atender duas ou mais threads ao mesmo tempo e não simular este efeito, atendendo-as uma por vez em um curto período de tempo. A maior vantagem trazida com a execução multithread é permitir que os computadores com múltiplos núcleos de processamento possam aproveitar todo o seu potencial e operar de forma mais rápida. Apenas para ilustrar, nos computadores sem este tipo de suporte, quando o processo principal toma muito tempo, a aplicação inteira parece travar.
12) O que é Hiperthreading?
Hyper-Threading ou hiperprocessamento é uma tecnologia usada em processadores que o faz simular dois processadores tornando o sistema mais rápido quando se usa vários programas ao mesmo tempo. É uma tecnologia desenvolvida pela Intel e foi primeiramente empregada no processador Pentium 4 de núcleo Northwood, de 32 bit.
13) O que são Multicomputadores MPPs?
São multicomputadores construídos com milhares de nós (CPU e memória) independentes conectados por uma rede proprietária de alta velocidade.
14) O que são Multicomputadores de Cluster?
Conjunto de PCs independentes (Nós), que cooperam umas com as outras para atingir um determinado objetivo. – Os nós se comunicam via uma rede comercial para coordenar e organizar as tarefas a serem executadas.
15) Fale sobre Computação em Grade.
Computação em GRID computação em grade/grid ou ainda, grelha de cálculo (em inglês, grid computing), é um modelo computacional capaz de alcançar uma alta taxa de processamento dividindo as tarefas entre diversas máquinas, podendo ser em rede local ou rede de longa distância, .
16) O que é Memória Compartilhada Distribuída?
memória compartilhada é uma memória que pode ser acessada simultaneamente por múltiplos programas com a intenção de prover comunicação entre eles ou para evitar cópias redundantes. Dependendo do contexto, os programas podem ser executados em somente um processador ou por pelo menos dois processadores distintos. O conceito de memória compartilhada geralmente não inclui usar a memória para a comunicação de diferentes threads dum mesmo processo.
17) O que é abordagem DSM Linda?
DSM Linda: Sistemas DSM baseados em páginas como IVY e o Treadmarks usam o hardware MMU para causar exceções de acesso as páginas faltantes.
Uma delas é a Linda, que fornece processos em varias maquinas com uma memoria compartilhada distribuída com alto grau de estruturação. Essa memoria é acessada por meio de um pequeno conjunto de operações primitivas que podem ser adicionadas a linguagens existentes, tal como C e FORTRAN, para formar linguagens paralelas nesse caso, C-linda e FORTRAN-Linda. O conceito unificador fundamental de linda é um espaço abstrato de tuplas, que é global para o sistema inteiro e acessível a todos os seus processos.
18) O que é abordagem de memória Compartilhada ORCA?
ORCA:Uma abordagem um pouco diferente para a memória compartilhada no nível de aplicação em um multicomputador é usar como unidade de compartilhamento objetos totalmente desenvolvidos, em vez de apenas tuplas. O sistema baseado em objetos que da a ilusão de memoria compartilhada é denominado Orca. Orca é uma linguagem de programação tradicional, baseada em Modula 2, a qual foram adicionadas duas novas característica: objetos e a habilidade de criar novos processos. Um objeto Orca é um tipo de dados abstrato, análogo a um objeto em java ou a um pacote em Ada. Ele encapsula estruturas de dados internas e métodos escritos pelo usuário denominados operações.
19) O que e abordagem DSM Globe?
Globe: A maioria dos sistemas DSM, Linda e Orca executam em sistemas locais. Todavia, também é possível construir um sistema de memória compartilhada no nível de aplicação em um multicomputador que executa em âmbito mundial. No sistema Globe , um objeto pode estar localizado no espaço de endereço de vários processos ao mesmo tempo, possivelmente em diferentes continentes. Para acessar os dados de um objeto compartilhado, processos usuários devem passar por seus métodos, o que permite que diferentes objetos tenham diferentes estratégias de implementação. O que torna Globe um tanto ambicioso é sua meta de ser ampliado para um bilhão de usuários e um trilhão de objetos (possivelmente móveis). Localizar objetos, gerenciá-los e administrar a ampliação é crucial. O Globe faz isso com uma estrutura geral na qual, mesmo assim, cada objeto pode ter sua própria estratégia de replicação, estratégia de segurança e assim por diante. Isso evita o problema do tamanho único presente em outros sistemas e ao mesmo tempo, conserva a facilidade de programação oferecida pela memória compartilhada.
20) Defina MPI (Message-Passing Interface).
Message Passing Interface (MPI) é um padrão para comunicação de dados em computação paralela. Existem várias modalidades de computação paralela, e dependendo do problema que se está tentando resolver, pode ser necessário passar informações entre os vários processadores ou nodos de um cluster, e o MPI oferece uma infraestrutura para essa tarefa.
No padrão MPI, uma aplicação é constituída por um ou mais processos que se comunicam, acionando-se funções para o envio e recebimento de mensagens entre os processos. Inicialmente, na maioria das implementações, um conjunto fixo de processos é criado. Porém, esses processos podem executar diferentes programas. Por isso, o padrão MPI é algumas vezes referido como MPMD (multiple program multiple data). Elementos importantes em implementações paralelas são a comunicação de dados entre processos paralelos e o balanceamento da carga. Dado o fato do número de processos no MPI ser normalmente fixo, neste texto é enfocado o mecanismo usado para comunicação de dados entre processos. Os processos podem usar mecanismos de comunicação ponto a ponto (operações para enviar mensagens de um determinado processo a outro). Um grupo de processos pode invocar operações coletivas (collective) de comunicação para executar operações globais. O MPI é capaz de suportar comunicação assíncrona e programação modular, através de mecanismos de comunicadores (communicator) que permitem ao usuário MPI definir módulos que encapsulem estruturas de comunicação interna.
O objetivo de MPI é prover um amplo padrão para escrever programas com passagem de mensagens de forma prática, portátil, eficiente e flexível. MPI não é um IEEE ou um padrão ISO, mas chega a ser um padrão industrial para o desenvolvimento de programas com troca de mensagens