Multithreading e multiprocessamento

Slides:



Advertisements
Apresentações semelhantes
Vitor Fiorotto Astolfi Orientador: Jorge Luiz e Silva
Advertisements

Paralelismo em Máquinas Multiprocessadas
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2004s2 Desempenho.
Máquinas virtuais Orlando Corrêa Netto.
Modos de Transferência Acesso Direto à Memória (DMA)
COMPUTAÇÃO PARALELA: UMA INTRODUÇÃO
Sistemas Distribuídos
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte Desempenho.
Avaliação do desempenho
MULTICORE Aluno: Gabriel Antonio Leite São processadores caracterizados por apresentar vários cores (núcleos de processamento) em um único chip.
Software Básico Silvio Fernandes
ARQUITETURA DE COMPUTADORES II
AULA 06 - MIPS PIPELINE.
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
Processador Pentium 4 MO401 – Arquitetura de Computadores I
Arquiteturas Superescalares
Arquiteturas Diferentes
Aproveitamento do Processador
Chapter 4: Threads.
CISC e RISC.
Modelos de Computadores Paralelos
SSC114 Arquitetura de Computadores Arquiteturas Paralelas
Aula 8 01/09/10 (Turmas 1 e 2) Profa. Sarita
SSC144 Arquitetura de Computadores Introdução
SSC114 Arquitetura de Computadores Pipeline - Desempenho
Sistemas Distribuídos e Redes de Computadores
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Threads.
Sistemas Operacionais
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
PARALELISMO EM NÍVEL DE THREAD
Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados Leomar Soares da Rosa Junior Porto Alegre, março de 2003.
SISTEMAS OPERACIONAIS
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
Fundamentos de programação CUDA
Tópicos em redes e sistemas distribuídos B
Arquitetura de computadores
Arquitetura de computadores
Noções de Software Escola Almirante Soares Dutra
Processadores Multicore
ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula 17: Introdução às Arquiteturas Paralelas.
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Computação de Alto Desempenho Utilizando Placas Gráficas Divino César S. Lucas Universidade Católica de Goiás
DUAL CHANNEL Adinan Southier Soares Senai – São Lourenço do Oeste.
TELP: Aplicações Paralelas em Ambientes de Passagem de Mensagens
ARQUITETURA DE COMPUTADORES II
POLIMIG Curso Técnico em Informática Disciplina: Hardware
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Unidade Central De Processamento: Processador
Paralelismo em Máquinas Multiprocessadas
Single-Chip Cloud Computer (SCC) Um processador many-core experimental desenvolvido pela Intel Labs.
Processos.
Multiprocessadores e Paralelismo nível de Thread
CPU (Unidade Central de Processamento Processador É constituído por um conjunto de chips responsáveis pela execução de cálculos, decisões lógicas e instruções.
Linux em Máquinas Paralelas
Slides before 1st Section Divider
Programação Paralela Simone de Lima Martins Março-Julho/2001 Universidade Federal do Mato Grosso do Sul.
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
Estrutura de Interconexão
Multiprocessadores e Paralelismo nível de Thread
Processadores.
Algoritmos Paralelos.
Arquitetura de computadores
Conceituação e Classificação
Transcrição da apresentação:

Multithreading e multiprocessamento

Multithreading simultâneo Thread é um trecho de instruções de um programa Comparação: Superescalar sem suporte para multithreading Superescalar com multithreading grosso Superescalar com multithreading fino Superescalar com multithreading simultâneo

Execução de Threads em paralelo Slots de emissão (despacho) tempo Horizontal – capacidade de emissão de instrução a cada ciclo Vertical – sequência de ciclos de clock Caixa branca – slot de emissão não usado naquele ciclo de clock Cores diferentes de branco – threads diferentes

Speedup no Power5 com e sem SMT SPECint = 1,23 SPECfp SPECfp = 1,16 SPECint perda ganho

Características de 4 processadores SMT

Desempenho para SPECint2000

Desempenho para SPECft2000

Eficiência em termos de área de silício e potência

Taxonomia das arquiteturas paralelas (Flynn, 1966) SISD – fluxo de instrução único, fluxo de dados único SIMD – fluxo de instrução único, fluxo de dados múltiplo MISD – fluxo de instrução múltiplo, fluxo de dados único MIMD – fluxo de instrução múltiplo, fluxo de dados múltiplo

MIMDs (Multiprocessadores) Os MIMDs oferecem flexibilidade. Focaliza alto desempenho, para uma ou várias aplicações, executando muitas tarefas simultaneamente. Podem se basear nas vantagens de custo-desempenho dos processadores de prateleira – os mesmos processadores usados nas estações de trabalho e servidores. Os chips multicore aproveitam o investimento de projeto de um núcleo (core) de um processador fazendo a replicação.

Multiprocessador de memória compartilhada centralizada

Multiprocessador de memória distribuída

Desafios do processamento paralelo Queremos alcançar um ganho de velocidade de 80 com 100 processadores. Que fração da computação original pode ser sequencial?

Latência de acesso remoto à memória Supor uma aplicação executada em um multiprocessador com 32 processadores, que possui tempo de 200 ns para memória remota. Considerar que todas as referências, exceto às referentes à comunicação, atingem a memória local. Os processadores são protelados numa solicitação remota, e a taxa de clock é de 2GHz. Se o CPI de base (considerando que todas as referências atingem o cache) é 0.5, quanto mais rápido é o multiprocessador se não houver comunicação versus se 0.2% das instruções envolvem uma referência de comunicação remota? Solução: CPI = CPI base + Taxa de solicitação remota x Custo de solicitação remota = 0.5 + 0,2% x Custo de solicitação remota Portanto CPI = 0.5 + 0,8 =1.3 e o speedup = 1.3/0.5 = 2.6.

Multiprocessador Simétrico (Symmetric Multiprocessor - SMP) Todos os processadores são iguais Na falha de um, um outro processador pode substitui-lo Usa sincronismo por memória compartilhada centralizada

CPU de um único thread RAM - quatro programas em execução Front end – busca até 4 instruções paralelas 7 Pipelines, sendo apenas o programa de cor vermelha em execução Nota-se os espaços em branco dos estágios pipeline ociosos

Single Threaded SMP (Symmetric Multiprocessor) Os diferentes programas são executados em CPUs distintos. Programa vermelho numa CPU amarelo em outra

Superthreading ou multithreading CPU com capacidade para executar mais de um thread simultaneamente, porém, cada estágio do pipeline deve conter instruções de apenas um thread Não se pode emitir instruções de threads distintos num mesmo instante

Simultaneous multithreading (SMT) ou Hyper-threading (HT) Não existe restrição de emissão de instruções para threads diferentes em cada ciclo de clock. Compara-se ao single-threaded SMP Single-threaded SMP

Chips de um único CORE Superescalar SMT

Processadores Multi-Core Um único chip com múltiplos cores (CPUs), cada um executando threads distintos como em single-threaded SMP Compatível em softare a uma arquitetura SMT porém tecnologicamente mais interessante, pois pode ser usada uma tecnologia que consome menos energia, e o desempenho aumenta com o número de CORES.