15.03.2015 Views

Aula 2 – Arquiteturas Paralelas - INF-Unioeste

Aula 2 – Arquiteturas Paralelas - INF-Unioeste

Aula 2 – Arquiteturas Paralelas - INF-Unioeste

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Aula</strong> 2 – <strong>Arquiteturas</strong> <strong>Paralelas</strong><br />

<br />

- O conjunto de arquiteturas computacionais pode ser dividido em três grupos básicos:<br />

arquiteturas seqüenciais<br />

arquiteturas com mecanismos de paralelismo de baixo nível<br />

arquiteturas paralelas (!)<br />

Definição (Duncan, 1990)<br />

“Uma arquitetura paralela fornece uma estrutura explícita e de alto nível para o<br />

desenvolvimento de soluções utilizando o processamento paralelo, através da<br />

existência de múltiplos processadores que cooperam para resolver problemas através<br />

de execução concorrente”<br />

<br />

Existem muitas maneiras de se organizar computadores paralelos. Para que se possa<br />

visualizar melhor todo o conjunto de possíveis opções de arquiteturas paralelas, é<br />

interessante classificá-las.<br />

<br />

Classificação de Flynn:<br />

• - Fluxos de instruções e fluxos de dados<br />

• - 4 classes<br />

• SISD - Single Instruction/Single Data stream<br />

corresponde aos computadores seqüenciais convencionais<br />

• SIMD - Single Instruction/Multiple Data stream<br />

corresponde aos processadores matriciais/vetoriais<br />

• MISD – Multiple Instruction/Single Data:<br />

Não existem computadores construídos que se enquadrem nesta categoria<br />

• MIMD - Multiple Instruction stream over a Multiple Data stream:<br />

Esta classe engloba a maioria dos computadores paralelos


As arquiteturas MIMD ainda podem ser divididas em duas subcategorias:<br />

arquiteturas de memória compartilhada<br />

arquiteturas de memória distribuída<br />

<br />

Memória Compartilhada:<br />

todos os processadores possuem acesso a uma memória compartilhada<br />

• multiprocessadores<br />

• comunicação: através da memória compartilhada<br />

• acesso: UMA, NUMA<br />

<br />

<br />

pontos positivos:<br />

• localidade memória/processador<br />

• compartilhamento de recursos<br />

• semelhante a uma arquitetura seqüencial<br />

• programação mais simples<br />

pontos negativos<br />

• gargalo no barramento de memória<br />

• consistência de cache<br />

<br />

Memória Distribuída:<br />

multicomputadores<br />

neste tipo de arquitetura, cada nó tem seu processador, sua unidade de controle e sua<br />

memória local<br />

cada processador pode executar um processo independente sobre seus próprios dados<br />

Estrutura de rede é fundamental<br />

comunicação: troca de mensagens<br />

pontos positivos:<br />

• compartilhamento de uso (vários usuários simultaneamente)<br />

• possibilidade de emular outras arquiteturas<br />

• escalabilidade<br />

pontos negativos:<br />

• comunicação


• sincronização<br />

• uso ineficiente de memória<br />

• tipo de acesso: NORMA<br />

<br />

Tendências atuais na construção de máquinas paralelas:<br />

De acordo com o TOP 500:<br />

• Constelations (SMP) 6%<br />

• MPP 22%<br />

• Clusters 72%<br />

<br />

<br />

<br />

<br />

<br />

Processadores vetoriais<br />

• poucos processadores vetoriais<br />

• memória compartilhada<br />

• já não aparecem no top 500<br />

SMP<br />

• processadores de uso geral<br />

• memória compartilhada<br />

• coerência de cache (!)<br />

MPP (Massively Parallel Processors)<br />

• multicomputador constituído de milhares de processadores de uso geral<br />

• rede proprietária<br />

• milhares de nós<br />

• DOE/NNSA/LLNL (USA) eServer Blue Gene Solution(IBM) 131072 procs<br />

Clusters<br />

• evolução das redes de estações de trabalho<br />

• máquinas e SO otimizados<br />

• redes tradicionais de baixa latência<br />

Grids<br />

• clusters geograficamente distribuídos (?)<br />

Exercício<br />

Quais são as duas possibilidades para se construir máquinas com vários processadores? Que<br />

nome é dado a cada uma delas? Quais as vantagens e desvantagens de cada uma?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!