Pppd2
Pppd2
Pppd2
Arquiteturas MIMD
4.2 Multiprocessadores
processadores são conectados à memória através de uma rede de interconexão. A Fig. 4.1
apresenta um modelo de arquitetura de um multiprocessador.
P P P P P P P P
Rede de interconexão
M M M M
Neste tipo de máquina, o tempo para o acesso aos dados na memória é o mesmo
para todos os processadores a para todas as posições da memória. Essas arquiteturas
também são chamadas de SMP (Symmetric MultiProcessor). A forma de interconexão mais
comum neste tipo de máquina é o barramento e a memória geralmente é implementada com
um único módulo. O principal problema com este tipo de arranjo é que o barramento e a
memória tornam-se gargalos para o sistema, que fica limitado a uma única transferência por
vez. A Fig. 4.2 mostra uma arquitetura do tipo SMP.
P P P P P P P P
C C C C C C C C
Rede de interconexão
M I/O
P P P P P P P P
C C C C C C C C
M M M M M M M M
Rede de interconexão
Espaço de endereçamento
I/O
Nesse tipo de máquina, não existe garantia de coerência nos dados da memória
cache, ou simplesmente não existe cache.
4.3 Multicomputadores
Essas máquinas caracterizam-se pelo fato de que cada processador enxerga somente
a sua própria memória. Para a troca de mensagens e dados é preciso o envio de requisições
através da rede de interconexão. Os multicomputadores também são chamados de sistemas
de troca de mensagens (message passing systems). Com estas características, tais máquinas
paralelas podem ser implementadas através de um conjunto de máquinas autônomas, ou
seja, computadores tradicionais. A Fig. 4.4 mostra uma arquitetura de multicomputador.
P P P P P P P P
C C C C C C C C
M M M M M M M M
Rede de interconexão
Espaço de endereçamento
Como visto nas seções anteriores, a memória principal em uma máquina paralela
desempenha um papel fundamental (principalmente em multiprocessadores). Existem
várias formas de se fazer a conexão desta memória de maneira a privilegiar aspectos como
custo, taxa de transferência e latência. A organização da memória em um módulo único é
problemática devido à possibilidade de múltiplos acessos por vários processadores. O ideal
seria a possibilidade de cada processador acessar todas as posições da memória sem a
ocorrência de ciclos de espera. Uma forma de aumentar a capacidade de acessos
simultâneos à memória é a implementação de memórias entrelaçadas (interleaved). O
entrelaçamento permite que vários módulos operem em paralelo atendendo a requisições de
vários processadores.
O entrelaçamento pode ser feito de 3 formas diferentes havendo entre os mesmos
uma diferença na distribuição dos dados nos diversos módulos. Considere uma memória
com 2n endereços. No primeiro tipo de entrelaçamento (Fig. 4.5a), a parte mais significativa
do endereço (com m bits) é utilizada para a especificação do módulo (2m módulos) ao qual
o restante do endereço se refere. No segundo tipo de entrelaçamento (Fig. 4.5b), a parte
menos significativa do endereço (com m bits) é utilizada para a especificação do módulo
(2m módulos) ao qual o restante do endereço se refere.
Endereço n bits Endereço n bits
m bits n-m bits b. n-m bits m bits
a.
decodificador decodificador
Figura 4.5 Seleção dos módulos por endereço mais (a) e menos (b) significativo
Critérios de avaliação:
Redes estáticas
São as que especificam uma ligação direta dedicada entre dois componentes
quaisquer. Muito utilizada em multicomputadores. O número de ligações diretas de cada
componente define o grau do nó. A maior distância (em número de ligações) entre dois
componentes quaisquer é chamada de diâmetro da rede.
Array linear:
Estrela:
Anel:
- baixo custo
- diâmetro cresce de forma linear com os nós
- sem caminhos alternativos
- tráfego intenso
Anel chordal:
Totalmente conectada:
- alto custo
- grau de nó = número de nós - 1
- diâmetro 1 (ideal)
Capítulo 4 – Arquiteturas MIMD 8
Árvore binária:
X-Tree:
- caminhos alternativos
- grau de nó máximo 5
Malha bidimensional:
- grau de nó máximo 4
- facilidade de incremento de elementos
Torus:
- grau de nó 4
- diâmetro reduzido em relação ao número de nós
Hipercubos:
Butterfly:
- grau de nó 4
- diâmetro menor que um cubo CCC
- diâmetro cresce logaritmicamente
- o exemplo é de dimensão 3
Grafo de DeBrujn:
- grau de nó 4
- grafo de dimensão d = 2 x d nós
- diâmetro cresce logaritmicamente
- o exemplo é de um grafo de dimensão 3
Redes dinâmicas
Corresponde às redes em que as conexões são feitas sob demanda. Não existem
ligações fixas entre os componentes. São as mais utilizadas em multiprocessadores. Uma
questão importante nas redes dinâmicas é a possibilidade de serem bloqueantes ou não, ou
seja, é a possibilidade de conexão entre dois elementos da rede impedir a conexão entre
dois outros.
As redes dinâmicas podem ser de três tipos:
- Barramento
- Matriz de chaveamento
- Rede multinível
Roteamento de mensagens