Multiprocessamento
Multiprocessadores com memória distribuída (multicomputador)
• Conjunto de processadores, cada qual com sua memória local
• Processadores se comunicam por troca de mensagens, via rede de interconexão • Programador cuida da distribuição do código e dos dados dentre os processadores, através de chamadas a troca de mensagens, sempre que dados são requeridos por outros processadores
Redes de Interconexão - Profa Luiza Mourelle
1
Multiprocessamento
rede de interconexão
P
P
...
P
M
M
...
M
Redes de Interconexão - Profa Luiza Mourelle
2
Multiprocessamento
Multiprocessadores com memória compartilhada
• Espaço de endereçamento único para todos os processadores
• Troca de dados entre processadores via memória compartilhada
• Acesso uniforme à memória (Uniforme Memory Access - UMA)
Redes de Interconexão - Profa Luiza Mourelle
3
Multiprocessamento
P
P
...
P
rede de interconexão
M
M
Redes de Interconexão - Profa Luiza Mourelle
...
M
4
Multiprocessamento
Multiprocessadores com memória compartilhada distribuída
• Memória fisicamente distribuída entre os processadores
• Acessos à memória remota feitos via rede de interconexão
• Troca de mensagens feita através de acessos à memória ao invés de chamadas ao sistema
• Cada processador tem vários níveis de cache (Non-Uniform Memory
Access – NUMA)
• Principal problema é manter a coerência da cache
Redes de Interconexão - Profa Luiza Mourelle
5
Multiprocessamento
Alguns fatores que podem determinar a escolha de uma rede de interconexão: • Requisitos de desempenho
• latência: tempo entre o momento em que uma mensagem é gerada no nó origem e o momento em que a mensagem é entregue no nó destino • throughput: quantidade máxima de informação entregue pela rede por unidade de tempo
Redes de Interconexão - Profa Luiza Mourelle
6
Multiprocessamento
• Escalabilidade
• a