Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(Aula 2)
LCAD
Laboratrio de Computao de Alto Desempenho DI/UFES
Programa do Curso
1. Introduo 2. Arquitetura de Computadores
LCAD
3. Arquiteturas de Sistemas Paralelos 4. Computao de Alto Desempenho 5. Programao Paralela (modelos e paradigmas) 6. Anlise de Desempenho e Instrumentao 7. Aplicaes
UC
EP
Arquitetura de um microprocessador
UC
EP
Processadores Escalares
Processadores Escalares
Processadores Superescalares
2 pipelines
Processadores Vetoriais
Processadores Vetoriais
Hierarquia de Memria
Memory
I/O
Hierarquia de Memria
MFLOPS obtained for a single processor simulation as a function of the number of nodal points.
1000
Mflop/s
100
10 100
1000
10000
100000 1E+006
Otimizao
1. Evitar desvios de execuo 2. Uso eficiente da memria hierarquia de memria 3. Evitar divises 4. Permitir Loop-unrolling
Programa do Curso
1. Introduo 2. Arquitetura de Computadores
LCAD
3. Arquiteturas de Sistemas Paralelos 4. Computao de Alto Desempenho 5. Programao Paralela (modelos e paradigmas) 6. Anlise de Desempenho e Instrumentao 7. Aplicaes
SI (Single Instrution)
MI (Multiple Instrution)
UC
EP
UC UC
EP EP
M M
UC
EP
EP UC EP
M M
EP
UC UC
EP EP
M M
UC
EP
Esse um outro critrio que classifica mquinas paralelas segundo sua memria. Nas mquinas com memria compartilhada (shared memory) existe apenas um espao de endereamento, que usado de forma implcita para a comunicao entre os processadores, com operaes de load e store. O outro caso quando existem mltiplos espaos de endereamento privados ( multiple private address spaces), um para cada processador (memria distribuda). A comunicao tem que ser explcita, atravs do uso de troca de mensagens com operaes send e receive.
Memria Compartilhada
Interconexo M M M Memria M M
Memria Distribuda
Endereamento nico (memria compartilhada) Fisicamente distribuda Tempo de acesso no uniforme (NUMA ? Non-Uniform Memory Access) Implementao atravs de Hardware ou Software
Sistemas compostos de poucos processadores poderosos. A interconexo feita, em geral, por uma matriz de chaveamento (crossbar) de alta vazo. A memria compartilhada, e os sistemas podem ser classificados como multiprocessadores UMA. Normalmente no utilizam memria cache, usando para essa funo um grande nmero de registradores vetoriais e um buffer de instruo. Exemplos: Cray C-90 (mximo de 16 processadores), Cray T-90 (mximo de 32 processadores), Fujitsu VPP 700 (mximo de 256 processadores). O NEC Sx-6 tambm um PVP, e o Earth Simulator, que um NEC Sx-6, o nmero 1 na lista das 500 mquinas mais poderosas do mundo, possuindo 5120 processadores.
Os MPPs (Massively Parallel Processors) so multicomputadores NORMA construdos com milhares de processadores comerciais conectados por uma rede de alta velocidade. O alto desempenho obtido com o grande nmero de processadores. O fato de haver troca de mensagens torna a programao mais difcil que nos casos em que a memria compartilhada. Exemplos: Intel Paragon (mximo de 4000 processadores), Connection Machine CM-5 (mximo de 2048 processadores), IBM SP2 (mximo de 512 processadores) e Cray T3D (mximo de 2048 processadores).
Nos sistemas DSM (Distributed Shared Memory), mesmo com a memria sendo distribuda entre os ns, todos os processadores podem acessar todas as memrias. O espao de endereamento nico, o compartilhamento de dados e o controle de coerncia de cache so conseguidos com software. Podem ser sistemas NUMA com memria entrelaada distribuda, ou sistemas NORMA (com memrias locais), onde as memrias podem ser ligadas atravs de adaptadores de rede (AR) a uma rede de interconexo especfica, que permite o acesso a memrias remotas. A mquina, nos dois casos, considerada CC-NUMA ou SC-NUMA dependendo da implementao da coerncia de cache. Exemplo: SGI Origin (mximo de 512 processadores).
Algoritmos Paralelos (disciplina regular) Ementa: 1. Modelos de computao paralela: Memria compartilhada: PRAM sncrona e assncrona, QSP, QWQR, BSP, LogP, SMP Memria distribuda: SMPD circuitos combinatoriais 2. paradigmas de programao: multi-threaded, BSP, passagem de mensagem, funcional, tuple space, CSP 3. desempenho: profundidade de computao, trabalho, custo, speed-up, eficincia 4. Famlias fundamentais de algoritmos: rvore binria balanceada, divide-and-conquer, jumping pointer, compresso, randomizao 5. aplicaes ordenao grafos processamento de strings lgebra linear otimizao Complexidade paralela: P-completeness