Computação de Alto Desempenho

Slides:



Advertisements
Apresentações semelhantes
Coerência de Cache em Multiprocessadores
Advertisements

Paralelismo em Máquinas Multiprocessadas
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte Desempenho.
Sistemas Operacionais - 3
Aula Inicial.
Multithreading e multiprocessamento
William Stallings Arquitetura e Organização de Computadores 8a Edição
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
MC542 Organização de Computadores Teoria e Prática
Arquiteturas Diferentes
Capítulo 9 Multi-processadores
CISC e RISC.
Modelos de Computadores Paralelos
SSC114 Arquitetura de Computadores Arquiteturas Paralelas
Aula 10 06/10/10 (Turma 1 e 2) Profa. Sarita
Francieli Zanon Boito Rodrigo Virote Kassick
Descrição de hardware em SystemC
Rganização de Computadores Multiprocessadores Capítulo 9 – Patterson & Hennessy Organização de Computadores Multiprocessadores Capítulo 9 – Patterson &
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Silberschatz and Galvin Operating System Concepts Unidade 1: Introdução O que é um sistema operacional? Systemas simples em lote (batch) Sistemas.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Auditoria de Segurança da Informação
Experiments with Strassen’s Algorithm: from sequential to parallel
Provas de Concursos Anteriores
© GfK 2012 | Title of presentation | DD. Month
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Introdução à Programação
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Criação de objetos da AD 1Luis Rodrigues e Claudia Luz.
Cinemática Plana de um Corpo Rígido Cap. 16
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Fundamentos de Dinâmica Veicular
Object Oriented Software Construction (MEYER, Bertrand)
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
CUDA vs OpenCL Introdução.
Salas de Matemática.
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2010 Ministro Paulo Bernardo Silva Brasília, 31 de agosto de 2009.
Tópicos em redes e sistemas distribuídos B
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Carlos Oberdan Rolim Ciência da Computação
Arquitetura de computadores
É u m e l e m e n t o f u n d a m e n t a l
Sistemas Operacionais I
EXERCÍCIOS PARA GUARDA-REDES
Noções de Software Escola Almirante Soares Dutra
Aula19: Desempenho de SSM Large-Scale MP Sincronização
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula 17: Introdução às Arquiteturas Paralelas.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Computação de Alto Desempenho Utilizando Placas Gráficas Divino César S. Lucas Universidade Católica de Goiás
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Rio Verde - Goiás - Brasil
Cinemática Plana de um Corpo Rígido Cap. 16
TELP: Aplicações Paralelas em Ambientes de Passagem de Mensagens
Paralelismo em Máquinas Multiprocessadas
CMP 167– Programação com Objetos Distribuídos Prof. Cláudio Geyer
GINÁSTICA LABORAL UM NOVO CAMINHO.
Multiprocessadores e Paralelismo nível de Thread
MO MO Revisado 2006 Prof. Paulo Cesar Centoducatte MO401 Arquitetura de Computadores I.
Linux em Máquinas Paralelas
Programação Paralela Simone de Lima Martins Março-Julho/2001 Universidade Federal do Mato Grosso do Sul.
Multiprocessadores e Paralelismo nível de Thread
Parte 6 Otimizações da Arquitetura
Algoritmos Paralelos.
Arquitetura de computadores
Conceituação e Classificação
Transcrição da apresentação:

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

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 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.

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

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 SISD Exemplos: Estações de trabalho e Computadores pessoais com um único processador

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

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 MISD Exemplos: Array Sistólicos

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 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

Multiprocessadores - UMA 12 Multiprocessadores - UMA

Multiprocessadores - NUMA 13 Multiprocessadores - NUMA

Multiprocessadores - NUMA 14 Multiprocessadores - NUMA

15 Multicomputarores

16 Interconexão Grafo Completo Anel

17 Interconexão HiperCubo

18 Interconexão Árvore Estrela

19 Interconexão

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?

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

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 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 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 Lei de Ahmdahl

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 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

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

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)

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 .

Synchronization using Coherency 31 Synchronization using Coherency

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.”