A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Computação de Alto Desempenho

Apresentações semelhantes


Apresentação em tema: "Computação de Alto Desempenho"— Transcrição da apresentação:

1 Computação de Alto Desempenho
1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo Alta Granulosidade Programas Processos Baixa Granulosidade Instruções

2 Paralelismo no Nível de Programas e Processos
2 Arquiteturas de Processamento com Diversos Processadores (máquinas paralelas) Arquiteturas de Processamento com Diversos Computadores (rede de computadores)

3 3 Paralelismo no Nível de Instruções (ILP - Instruction Level Parallelism) Processador que Executam Instruções em Paralelo Pipelining Superpipelining Superscalar VLIW - Very long Instruction Word Vetorial etc.

4 Desempenho Desempenho final depende de vários fatores
4 Desempenho Desempenho final depende de vários fatores Características da Aplicação Mecanismo de Comunicação Qualidade do Código Gerado pelo Compilador Arquitetura dos Processadores Arquitetura dos Computadores

5 Modelos de Computadores Paralelos
5 Modelos de Computadores Paralelos Classificação de Flynn Classifica as várias arquiteturas de computadores baseado nos fluxos de Instruções e de Dados que ocorrem no interior dos computadores SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MIMD Multiple Instruction, Multiple Data stream MISD Multiple instruction, Single Data stream

6 6 SISD Exemplos: Estações de trabalho e Computadores pessoais com um único processador

7 7 SIMD Exemplos: ILIAC IV, MPP, DHP, MASPAR MP-2 e CPU Vetoriais

8 MIMD Exemplos: Cosmic Cube, nCube 2, iPSC, FX-2000, Mais difundida
8 MIMD Exemplos: Cosmic Cube, nCube 2, iPSC, FX-2000, Paragon XP/S e Redes de Computadores Mais difundida Memória Compartilhada Memória Distribuída

9 9 MISD Exemplos: Array Sistólicos

10 Resumo MIMD SIMD e MISD SISD Maioria dos sistemas paralelos existentes
10 Resumo MIMD Maioria dos sistemas paralelos existentes Mais adequado à computação paralela de “propósito geral” SIMD e MISD Computação específica SISD Computação Seqüencial

11 11 Máquinas MIMD Multiprocessadores de Memória Compartilhada (shared-memory multiprocessors) UMA (Uniform-Memory-Access) NUMA (NonUniform-Memory-Access) Multicomputadores (message-passing multicomputers) Redes de Computadores

12 Multiprocessadores - UMA
12 Multiprocessadores - UMA

13 Multiprocessadores - NUMA
13 Multiprocessadores - NUMA

14 Multiprocessadores - NUMA
14 Multiprocessadores - NUMA

15 15 Multicomputarores

16 16 Interconexão Grafo Completo Anel

17 17 Interconexão HiperCubo

18 18 Interconexão Árvore Estrela

19 19 Interconexão

20 Programação Paralela Exemplo
20 Programação Paralela Exemplo Somar 16 valores, utilizando-se 16 processadores Quantas operações soma são realizadas? Qual o ganho em relação à solução usando um único processador?

21 Programação Paralela Uma Solução
21 Programação Paralela Uma Solução

22 Programação Paralela Speedup
22 Programação Paralela Speedup Somar 16 valores, utilizando-se 16 processadores Quantas operações soma são realizadas? Solução seqüencial = 15 operações de Soma Solução paralela = 4 operações de Soma Qual o ganho em relação à solução usando um único processador? OBS.: 15 Comunicações

23 23 Desempenho Speedup - Ganho apresentado pela máquina paralela em relação a uma máquina seqüencial Qual o comportamento do speedup com o aumento do número de processadores? Ideal: N Realidade: menor que N

24 24 Lei de Ahmdahl Exemplo: Qual a fração paralelizável necessária para se alcançar um speedup de 200 usando-se 256 processadores? Onde: f - fração melhorada (paralelizável) P - número de processadores

25 25 Lei de Ahmdahl

26 26 Multiprocessors Idea: create powerful computers by connecting many smaller ones good news: works for timesharing (better than supercomputer) vector processing may be coming back bad news: its really hard to write good concurrent programs many commercial failures

27 27 Questions How do parallel processors share data? — single address space (SMP vs. NUMA) — message passing How do parallel processors coordinate? — synchronization (locks, semaphores) — built into send / recieve primitives — operating system protocols How are they implemented? — connected by a single bus — connected by a network

28 Some Interesting Problems
28 Some Interesting Problems Cache Coherency Synchronization — provide special atomic instructions (test-and-set, swap, etc.) Network Topology

29 Cache Coherency Most popular protocol - Snooping Multiple Copies
29 Cache Coherency Most popular protocol - Snooping Multiple Copies read - processors must have the most recent copy write - exclusive access write-invalidate (write-back) write-update (write-through)

30 Cache Coherency 30 . . I n v a l i d ( o t c h e b k ) R / W r y O f S
m P s w C u g p . I n v a l i d ( o t c h e b k ) R / W r y O p s w m f u A ; C g .

31 Synchronization using Coherency
31 Synchronization using Coherency

32 32 Concluding Remarks Evolution vs. Revolution “More often the expense of innovation comes from being too disruptive to computer users” “Acceptance of hardware ideas requires acceptance by software people; therefore hardware people should learn about software. And if software people want good machines, they must learn more about hardware to be able to communicate with and thereby influence hardware engineers.”


Carregar ppt "Computação de Alto Desempenho"

Apresentações semelhantes


Anúncios Google