• Nenhum resultado encontrado

Arquiteturas MIMD

N/A
N/A
Protected

Academic year: 2021

Share "Arquiteturas MIMD"

Copied!
15
0
0

Texto

(1)

Arquitetura de Computadores II

Gabriel P. Silva

Universidade Federal do Rio de Janeiro Informática DCC/IM

Arquiteturas MIMD

Arquiteturas MIMD

As arquiteturas MIMD dividem-se

em dois grandes modelos:

„ Arquiteturas MIMD de Memória

Distribuída

Š Cada processador é capaz de endereçar apenas a sua memória local.

„ Arquiteturas MIMD de Memória

Compartilhada

Š Cada processador consegue ter acesso a todo o espaço de memória do sistema.

(2)

Gabriel P. Silva

MIMD com Memória Distribuída

Cada processador enxerga apenas o

seu espaço de memória.

Vantagens:

„ Altamente escalável e permitem a

construção de processadores maciçamente paralelos.

„ A comunicação entre os processadores

se dá através de troca de mensagens.

„ A troca de mensagens resolve tanto o

problema da comunicação processadores como o da sincronização.

MIMD com Memória Distribuída

Desvantagens:

„ Necessidade de fazer uma boa

distribuição de carga entre os processadores, quer seja automaticamente, quer seja manualmente.

„ É necessário evitar as situações de

“deadlock”, tanto no nível de aplicação como no nível de aplicação.

(3)

Gabriel P. Silva

MIMD com Memória Distribuída

. . . REDE DE INTERCONEXÃO M0 P0 PE0 M1 P1 PE1 Mn Pn PEn

MIMD com Memória Compartilhada

Vantagens:

„ Não há necessidade de particionar o

código ou dados, logo técnicas de programação para uniprocessadores podem ser facilmente adaptados para ambientes multiprocessadores.

„ Não há necessidade de se movimentar

fisicamente os dados quando dois ou mais processadores se comunicam. Como resultado a comunicação entre processos é bastante eficiente.

(4)

Gabriel P. Silva

MIMD com Memória Compartilhada

Desvantagens:

„ Há necessidade do uso de primitivas

especiais de sincronização quando do acesso a regiões compartilhadas na memória, para assegurar um resultado correto para a computação.

„ Falta de escalabilidade devido ao

problema de contenção de memória. Depois de um determinado número de processadores a adição de mais

processadores não aumenta o desempenho.

MIMD com Memória Compartilhada

M0 M1 . . . Mk

REDE DE INTERCONEXÃO

(5)

Gabriel P. Silva

Arquiteturas UMA

Arquiteturas com memória única global. Tempo de acesso à memória é 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” com o uso da técnica de “snooping”.

Arquiteturas UMA

MEMÓRIA

P0 P1 . . . Pn BARRAMENTO ÚNICO

(6)

Gabriel P. Silva

Análise de Escalabilidade em

Memória Compartilhada

Um dos grandes problemas dos sistemas de memória compartilhada com uso de barramento único é a escalabilidade. Ou seja, para um grande número de processadores a contenção no uso do barramento aumenta até o ponto em que a adição de novos processadores não é mais efetiva.

Um barramento único tem um tamanho limitado, o que limita o número de

processadores e módulos de memória que podem ser acrescidos ao sistema.

Análise de Escalabilidade em

Memória Compartilhada

Ao invés do barramento, pode-se utilizar uma rede de interconexão com alto

“throughput” e baixa latência.

Essa rede tem características distintas do barramento, pois permite que vários

processadores tenham acesso a módulos de memória distintos simultaneamente. Uma solução utilizada para permitir que a quantidade de memória do sistema cresça na medida em que cresce o número de processadores é agregar um módulo de memória local para cada processador do sistema.

(7)

Gabriel P. Silva

Análise de Escalabilidade em

Memória Compartilhada

Um dos problemas decorrentes desta estratégia é a necessidade de se tolerar e esconder as

latências de acesso aos dados nos níveis mais distantes.

Uma rede de interconexão com alto desempenho serve para reduzir o tempo de acesso aos módulos de memória remotos, melhorando assim a

escalabilidade.

Busca avançada dos dados/páginas é uma outra solução empregada para diminuir a latência. Uso de memórias “caches” locais, com cópia dos conteúdos das memórias remotas, também reduz o problema da contenção e da latência, pois não é necessário atravessar a rede de interconexão.

Análise de Escalabilidade em

Memória Compartilhada

O uso de cache locais, por outro lado, exige o uso de algoritmos em “hardware” para manutenção da coerência de dados.

Uso de “threads” e um mecanismo rápido de troca de contexto entre “threads” é uma outra forma de esconder a latência aos dados remotos.

Mas é necessário também tolerar e esconder o tempo de espera devido a sincronização entre processos/threads paralelos.

Isto acontece porque o acesso a estruturas de dados compartilhadas exige o uso de primitivas de sincronização (semáforos), cujo tempo de espera aumenta a medida que aumenta o número de processadores envolvidos na computação.

(8)

Gabriel P. Silva

Análise de Escalabilidade em

Memória Compartilhada

A implementação de um memória que é logicamente compartilhada, mas que pode ser implementada com o uso de um conjunto de memórias locais recebe o nome de “Arquitetura de Memória

Compartilhada Distribuída”, que pode ser dividido em três classes:

„ NUMA (Non-uniform Memory Access) „ CC-NUMA (Cache Coherent Non-uniform

Memory Access)

„ COMA (Cache-Only Memory Access)

Arquiteturas NUMA

Nessas arquiteturas a memória é dividida em tantos blocos quanto forem os processadores do sistema, e cada bloco de memória é conectado via barramento a um processador com memória local. O acesso aos dados que estão na memória local é muito mais rápido que o acesso aos dados em blocos de memória remotos.

Esta diferença faz com que sejam necessários cuidados especiais ao se programar em

arquiteturas deste tipo.

Apesar do uso de memória compartilhada, as arquiteturas NUMA mais modernas oferecem bibliotecas para programação utilizando troca de mensagens.

(9)

Gabriel P. Silva

Arquiteturas NUMA

. . . P0 M0 PE0 P1 M1 PE1 Pn Mn PEn REDE DE INTERCONEXÃO

Arquiteturas COMA

Assemelham-se a uma arquitetura NUMA, onde cada nó de processamento possui uma parte da memória global.

O particionamento dos dados entre as memórias de cada nó não é estático Î as memórias

funcionam como caches de nível 3.

O problema de partição de dados e balanceamento dinâmico de carga é realizado automaticamente. Conforme o algoritmo de coerência utilizado, os dados migram automaticamente para as caches locais dos processadores onde é mais necessária. Exemplo: KSR-1 e DDM

(10)

Gabriel P. Silva

Arquiteturas COMA

. . . P0 C0 PE0 P1 C1 PE1 Pn Cn PEn REDE DE INTERCONEXÃO

Arquiteturas CC-NUMA

Solução de compromisso entre as arquiteturas NUMA e COMA.

Cada nó processador possui uma cache local para reduzir o tráfego na rede de interconexão.

O balanceamento de carga é realizado dinamicamente pelos protocolos de coerência das caches.

Exemplo: Convex SPP1000, Stanford DASH e MIT Alewife.

(11)

Gabriel P. Silva

Arquiteturas CC-NUMA

. . . REDE DE INTERCONEXÃO PE0 P0 C0 M0 PE1 P1 C1 M1 PEn Pn Cn Mn

Exemplos de Arquitetura

MIMD

(12)

Gabriel P. Silva

Arquiteturas MIMD Multithreaded

Uma tipo de arquitetura muito

interessante, que foi desenvolvida para ocultar a latência a módulos de memória remotos.

Baseada no conceito de “threads”, realiza a troca de contexto de “thread” cada vez que uma operação de grande latência era executada.

Esse tipo de arquitetura eram baseados em processadores especiais, capazes de armazenar contexto e executar várias “threads” simultaneamente.

Arquiteturas MIMD Multithreaded

HEP

„ Projeto pioneiro desenvolvido em 1975. „ Multithread com granulosidade fina. „ Pipeline com 8 estágios, uma “thread”

diferente para cada estágio.

„ Um máximo de 64 “threads” podem

estar ativas simultaneamente.

„ Multiprocessador com memória

compartilhada.

„ Máximo de 16 processadores e 128

módulos de memória via uma rede de interconexão chaveada de alta

(13)

Gabriel P. Silva

Arquiteturas MIMD Multithreaded

Tera

„ Sucessor do projeto HEP. „ Ciclo de 3 ns.

„ 128 “threads” simultâneas com 41

registradores de 64 bits cada.

„ Multiprocessador com memória compartilhada

distribuída.

„ Até 256 processadores, 512 módulos de

memória e 256 processadores de E/S.

„ Desempenho máximo de 256 GFlops.

„ O paralelismo pode ser extraído implicitamente

pelo compilador ou definido explicitamente pelo programador com uso de biblioteca de primitivas.

MIT Alewife

MIT Alewife

„ Multiprocessador com memória

compartilhada distribuída com coerência de cache (CC-NUMA).

„ Multithreading de granulosidade grossa „ Objetivo de integrar capacidade

“multi-threading” com coerência de cache suportada pelo “hardware”.

„ A coerência da cache é mantida através

de um diretório na memória local.

„ Suporte em “hardware” para troca de

mensagem a nível de usuário, evitando assim o uso de interrupções e troca de

(14)

Gabriel P. Silva

MIT Alewife

MIT Alewife

„

Cada nó possui :

Š1 processador SPARCLE

Š4 Mbytes de memória principal

Š64 Kbytes de memória cache

Š4 Mbytes de memória local Š 1 unidade de ponto flutuante

Š1 unidade de gerência de memória e

comunicação

Š1 roteador/chave de rede

(15)

Gabriel P. Silva

MIT Alewife

Referências

Documentos relacionados

Forminha Torta de Maçã Bandeja Crespa Aço Inox. Forma Confeiteiro

Ex: Memória Kingston (fabricante) 4GB DDR3 2133Mhz. Isto quer dizer que esta memória conseguirá trocar informações com o processador a 2133Mhz, caso o barramento de

Hiperplasia benigna da próstata (HBP); Tabela de frequência-volume; Urofluxometria; Sintomas do aparelho urinário baixo (LUTS); International Prostate Symptom Score (I-PSS);

para entendermos por que o conhecimento pertencente apenas a determinados grupos tem sido representado em primeiro plano nas escolas, precisamos conhecer os interesses

A comissão do leiloeiro correspondente a 5% (cinco por cento), sobre o valor do arremate, a qual não está incluída no valor do lance, deverá ser paga em até 24 (vinte e

Considerando garantir a sustentabilidade e a eficiência operacional, em relação à gestão do processo de prestação de serviço na distribuição de água, a UGR Freguesia

Os produtos Xerox ® Scan to PC Desktop ® 12, incluindo OmniPage, PDF Converter Enterprise (em edições Professional), PDF Viewer (em edições Special), Image Retriever e PaperPort

A simulação da qualidade da água é usualmente realizada com base no escoa- mento permanente e fluxo de montante para jusante, que é a condição crítica mais fre- qüente.. No