Multiprocessadores e Paralelismo nível de Thread
|
|
|
- Natan Santarém
- 6 Há anos
- Visualizações:
Transcrição
1
2 Multiprocessadores e Paralelismo nível de Thread
3 Roteiro da Aula Conceitos básicos Paralelismo de Thread Taxonomia dos processadores Modelos de memória e de comunicação Problema da coerência de memória Protocolos de coerência baseado em snoop Protocolos de coerência baseado em diretórios
4 Além de ILP. Em algumas aplicações existem paralelismo natural Thread Level Parallelism Data Level Parallelism
5 Além de ILP. Thread: processo com instruções e dados próprios thread pode ser parte de um programa paralelo de múltiplos processos, ou pode ser um programa independente Cada thread tem seu estado (instruções, dados, PC, register state,etc) necessários para sua execução Data Level Parallelism: realiza operações identicas sobre um conjunto de dados
6 Thread Level Parallelism (TLP) ILP explora paralelismo implícito dentro de um loop ou trecho de código TLP é representado explicitamente de uso de múltiplas threads de execução que são paralelas. Objetivo: usar múltiplos streams de instruções para melhorar: Throughput de computadores que executam vários programas Tempo de Execução de programas multi-threaded. TLP pode ser mais eficiente que o ILP.
7 Multithreaded Execution Multithreading: múltiplas threads que compartilham a unidade funcional de um processador processador deve duplicar estado para cada thread i.e, uma cópia separada do register file, um PC separado, e para execução de programas independentes uma page table separada. Compartilhamento de memória através de mecanismos de memória virtual. HW chaveamento rápido de thread cerca de 100s para 1000s. Quando chavear? Alternar instrução por thread (fine grain) Quando um thread está em estado de espera (devido a cache miss), um outro thread pode ser executado (coarse grain)
8 Time (processor cycle) Multithreaded Categories Superscalar Fine-Grained Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Idle slot 8
9 Fine-Grained Multithreading
10 Fine-Grained Multithreading Chaveamento entre threads a cada instrução causa a execução de multiplas threads. Usualmente feito em round-robin fashion, pulando threads em stall CPU deve ser capaz de chavear entre threads a cada clock Vantagem de aproveitar pequenas e longas esperas desde que instruções de outras threads podem executar quando uma thread está em espera Desvantagem de tornar execução de threads individuais mais lenta desde que uma thread pronta para executar vai esperar execução de outras threads Usado Sun s Niagara
11 Time (processor cycle) Multithreaded Categories Superscalar Fine-Grained Coarse-Grained Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Idle slot 11
12 Coarse-Grained Multithreading Chaveamento de threads somente quando demora longa ocorre (L2 cache misses) Vantagens Não necessita de mecanismo para chaveamento rápido Não torna a thread mais lenta, Desvantagem Não melhora desempenho devido a esperas curtas Desde que a CPU despacha instruções para 1 thread, quando um stall ocorre, o pipeline deve ser esvaziado Nova thread deve preencher o pipeline antes que as instruções completem Devido a este start-up overhead, coarse-grained multithreading é melhor para reduzir a penalidade de stalls de alto custo, quando pipeline refill << stall time Usado no IBM AS/400
13 Coarse-Grained Multithreading
14 Coarse-Grained Multithreading + Sacrifica muito pouco o desempenho de uma single thread Tolera somente latencias longas (e.g., L2 misses) Definição de política de escalonamento de Thread Define uma preferred thread (e.g., thread A) Chaveia para thread B quando thread A L2 miss Chaveia de volta para A quando A L2 miss retorna Não pode tolerar latências menores que duas vezes a profundidade do pipeline Necessita in-order pipeline pequeno para bom desempenho Exemplo: IBM Northstar/Pulsar
15 Usar ambos ILP e TLP TLP e ILP exploram diferentes tipos de paralelismo em um programa Pode um processador orientado a ILP explorar TLP? Unidades Funcionais estão ociosas no data path projetado para ILP devido aos stalls ou dependencias no código. Pode TLP ser usado como fonte de instruções independentes que podem ocupar o processador durante stalls? Pode TLP ser usado para ocupar unidades funcionais que estariam ociosas quando não existe ILP suficiente?
16 Simultaneous Multi-threading... Cycle One thread, 8 units M M FX FX FP FP BR CC Two threads, 8 units Cycle M M FX FX FP FP BR CC 9 9 M = Load/Store, FX = Fixed Point, FP = Floating Point, BR = Branch, CC = Condition Codes 16
17 Simultaneous Multithreading (SMT) Podemos usar multithread em uma máquina out-oforder? Simultaneous multithreading (SMT) + Tolera todas latencias (e.g., L2 misses, mispredicted branches) ± Sacrifica um pouco o desempenho de uma única thread Politica de Escalonamento de Thread Round-robin Particionamento dinamico do Pipeline Exemplo: Pentium4 (hyper-threading): 5-way issue, 2 threads 12/3/
18 Simultaneous Multithreading (SMT) Simultaneous multithreading (SMT): dentro de um processador com escalonamento dinamico existem vários mecanismos de HW para suportar multithreading Grande conjunto de registradores virtuais que podem ser usados para implementar conjunto de registradores para cada thread Register renaming fornece um mecanismo para identificar registradores de forma única. Out-of-order completion permite a execução de threads out of order para melhor utilização do HW. Necessidade da adição de uma renaming table por thread e manter PCs separados Commit independente pode ser suportado através de reorder buffers separados para cada thread 12/3/
19 Time (processor cycle) Multithreaded Categories Superscalar Fine-Grained Coarse-Grained Simultaneous Multithreading Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Idle slot 19
20 SMT 20
21 Desafios em SMT Deve ter um grande Banco de registradores para armazenar contextos multiplos. Desenvolvimento eficiente do hardware para não afetar o tempo de ciclo de clock Instruction issue mais instruções devem ser consideradas Instruction completion escolher quais instruções para commit pode ser um desafio Garantir que os conflitos gerados pela cache e TLB em um processador SMT não degradam desempenho. 21
22 Exemplos
23 Exemplos
24 Exemplos
25 Desempenho dos Processadores
26 Time (processor cycle) Multithreaded Categories Simultaneous Superscalar Fine-Grained Coarse-Grained Multiprocessing Multithreading Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Idle slot 26
27 Interesse em Multiprocessadores Uma crescente utilização de servidores Um crescimento em aplicações dataintensive Um melhor entendimento de como usar multiprocessadores para explorar threadlevel paralelismo Investimento em replicação é mais atrativo que investimento em um projeto exclusivo.
28 Flynn s Taxonomy M.J. Flynn, "Very High-Speed Computers", Proc. of the IEEE, V 54, , Dec Single Instruction Single Data (SISD) (Uniprocessor) Multiple Instruction Single Data (MISD) (????) Single Instruction Multiple Data SIMD (single PC: Vector, CM- 2) Multiple Instruction Multiple Data MIMD (Clusters, SMP servers) Flynn classificou de acordo com streams de dado e controle em 1966 SIMD Data Level Parallelism MIMD Thread Level Parallelism MIMD mais popular pois: Flexibilidade: N programs e 1 programa multithreaded Cost-effective: mesma MPU em desktop & MIMD
29 Multiprocessamento Clusters commodity clusters Baseados em processadores comerciais e interconexões custom clusters O projetista customiza cada nó de processamento e a rede de interconexão
30 Multiprocessamento Clusters Aplicações que focam em taxa de transferência e possuem pouca (ou nenhuma) comunicação entre threads, com Servidores WEB, e aplicações baseadas em transações podem ser implementadas em um cluster.
31 Classificação de Multiprocessadores Arquitetura Paralela = Arquitetura do Computador + Arquitetura da Comunicação Classificação por memória: Processador de Memória Centralizada (Symmetric) Típico para sistemas pequenos demanda de largura de banda de memória e rede de comunicação. Multiprocessador de Memória Fisicamente Distribuída Escala melhor demanda de largura de banda para rede de comunicação
32 Classificação por Memória Multiprocessadores de Memória Centralizada Poucos processadores ( poucas dezenas chips ou cores) em 2006 Memória única e centralizada P0 P1 Pn C C... C M IO Centralized Memory
33 Classificação por Memória Multiprocessadores de Memória Fisicamente Distribuída Maior número de processadores (centenas de chips ou cores) Memória distribuída entre processadores P0 P1 Pn C C C M IO M IO... M IO Interconnection Network Distributed Memory
34 Centralized vs. Distributed Memory Scale P0 P1 Pn P0 P1 Pn C C... C M C IO M C IO... M C IO M IO Interconnection Network Centralized Memory Distributed Memory
35 Classificação de Multiprocessadores Arquitetura Paralela = Arquitetura do Computador + Arquitetura da Comunicação Classificando por comunicação: Multiprocessador baseado em Message- Passing : processadores enviam menssagens Processador baseado em Memória Compartilhada: processadores se comunicam através de espaço de endereçamento comum. Memória Centralizada:, UMA (Uniform Memory Access time) Memória Distribuída:, NUMA (Non Uniform Memory Access time)
36 Exemplos de Multiprocessadores
37 Exemplos de Multiprocessadores
38 Multi-core Multiprocessador implementado em um único circuito integrado
39 Mudança de Paradigma We are dedicating all of our future product development to multicore designs. This is a sea change in computing Paul Otellini, President, Intel (2005) Todas as companhias de processadores estão desenvolvendo multi-core (2X CPUs / 2 anos) Manufacturer/Year AMD/ 05 Intel/ 06 IBM/ 04 Sun/ 05 Processors/chip Threads/Processor Threads/chip
40 Multi-Core Processor
41 Cores homegêneos Superscalares Intel Core 2 Duo (escalonamento dinâmico, especulação, multiple issue) Interconexão baseada em barramento Cada core tem cache local (L1) Memória compartilhada (cache L2) no chip Source: Intel Corp.
42 Desafios do processamento Paralelo Primeiro desafio: quantos % do programa é inerentemente sequencial Suponha speedup de 80X speedup para 100 processadores. Qual a fração do programa que deve ser sequencial? a. 10% b. 5% c. 1% d. <1% O,25%
43 Resposta usando Lei de Amdahl Speedup overall 80 ( 79 = = 80 = ( 1 Fraction ) ( 1 Fraction ) ( 1 Fraction ) 80 Fraction Fraction parallel parallel parallel 1 enhanced Fraction Speedup 1 Fraction Fractionparallel + ) Fraction parallel + parallel parallel parallel = 1 parallel = 79 / 79.2 = 99.75%
44 Desafios do processamento Paralelo Segundo desafio: longas latências de memórias remotas Suponha 32 CPU MP, 2GHz, 200 ns memória remota, todos acessos locais são hits e CPI base de 0.5. (Acesso remoto = 200/0.5 = 400 ciclos.) Qual o impacto no desempenho se 0.2% das instruções envolvem acessos remotos? a. > 1.5X b. > 2.0X c. > 2.5X 2,6X
45 Equação do CPI CPI = CPI base + taxa de acesso remoto x custo do acesso remoto CPI = % x 400 = = 1.3 Sem acesso remoto é 2.6 mais rápida que com 0.2% das instruções envolvendo acessos remoto
46 Desafios do processamento Paralelo 1. Paralelismo da Aplicação através de novos algoritmos com melhor desempenho 2. Impacto da longa latência no acesso remoto mudanças na arquitetura e na programação For exemplo, redução dos acessos remotos por: Caching shared data (HW) Restruturando estruturas de dados para garantir mais acessos locais (SW) Foco do capítulo: gerenciar latência através do uso de cache.
47 Multi-processadores de Memória Compartilhada
48 Multi-processadores de Memória Compartilhada Evolução: Múltiplas placas ou chips usando barramento compartilhado Múltiplos processadores dentro de um chip. Caches Dados Privado usados por cada processador Dados Compartilhados usados por múltiplos processadores Caching dado compartilhado reduz latência a dados compartilhado, largura de banda da memória para acesso a dado compartilhado e largura de banda de interconexão problema de coerência de cache
49 Exemplo de problema de Coerência de Cache u :5 P 1 P 2 P 3 u =? u =? 4 $ $ 5 $ u :5 3 u= 7 1 u:5 2 I/O devices Memory Processadores verão diferentes valores de u após evento 3 Caches write-through: valores inconsistentes Caches write back: valor escrito na memória depende do momento que que ocorre o flush de cache e os valores são atualizados na memória
50 Garantindo a Coerência Replicação para dados compartilhados que estão na memória são feitas cópias nas caches que estão usando o dado Reduz latência de acesso e utilização simultânea do barramento na leitura de dado compartilhado. P 1 u =? P 2 P 3 $ $ $ u :5 u:5 I/O devices Memory
51 Garantindo a Coerência Migração o valor mais atualizado da variável é movido entre a cache que tem o valor mais atual e a cache que precisa do dado Reduz a latência devido a leitura dos dados na memória P 1 u = =7? 3 P 2 P 3 $ $ $ u :5 u=7 2 u:5 Memory 1 I/O devices
52 Exemplo de problema de Coerência de Cache u :5 P 1 P 2 P 3 u =? u =? 4 $ $ 5 $ u :5 3 u= 7 1 u:5 2 I/O devices Memory Processadores verão diferentes valores de u após evento 3 Caches write-through: valores inconsistentes Caches write back: valor escrito na memória depende do momento que que ocorre o flush de cache e os valores são atualizados na memória
53 Garantindo a Coerência Como manter coerência de dados migrados ou replicados? Protocolos implementados pelo controlador da cache e/ou pelo controlador de memória que permitem o rastreamento do status de compartilhamento.
54 Protocolos de Coerência de Cache 1. Snooping Cada cache que possui cópia de um dado também tem uma cópia do status de compartilhamento, Todas as caches são acessíveis através de meio barramento Todos os controladores de caches monitoram ou snoop o meio para determinar se eles possuem ou não uma cópia sendo requisitada pelo barramento 2. Directory based O status do compartilhamento de um bloco da memória física é armazenado em um local, diretório
55 Coerência: Conceito Só uma pessoa pode falar no microfone por vez Toda modificação em conta deve ser comunicada entre os funcionários através do alto falante Após qualquer modificação, as cópias devem ser inutilizadas
56 Protocolo Snooping de Coerência de Cache
57 Protocolo Snooping de Coerência de Cache State Tag Data P 1 Bus snoop P n $ $ Mem I/O devices Cache-memory transaction Controladores de Cache snoops (bisbilhotam) todas as transações no barramento Transações relevantes : envolvem bloco que a sua cache possui Realiza ação para garantir coerência invalida, atualiza, ou fornece valor Atualiza estado de compartilhamento do bloco de cache
58 Protocolos de Coerência de Cache Write Invalidate As cópías nas demais caches são Invalidadas na ocorrência de uma escrita em uma das caches Write Update As cópias das demais caches são atualizadas após a ocorrência de uma escrita em uma das caches Write update causam maior utilização do barramento Multiprocessadores atuais usam write invalidate
59 Exemplo: Write-thru Invalidate P 1 P 2 P 3 u = 7 u = $ $ 5 $ u :5 u :5 u= 7 1 u:5 u = 7 2 I/O devices Memory P3 Deve invalidar todas as cópias antes da escrita Caches write through: simplicidade de implementação porém mais acessos à memória Caches write-back: menos acessos à memória, mas como encontrar o bloco que contem a cópia com valor atualizado?
60 PROBLEMA 1: COMO GARANTIR QUE SÓ UM PROCESSADOR ESCREVE NA VARIÁVEL COMPARTILHADA?
61 Protocolo de Barramento Clock Bus Request Bus Grant R/W Address Cmd+Addr Data Data1 Data2 Só um processador usa o barramento por vez
62 Contenção de Barramento Dois processadores querem usar o barramento ao mesmo tempo P0 Bus req. P1 Bus req. Pn C C... C M IO
63 Contenção de Barramento Dois processadores querem usar o barramento ao mesmo tempo P0 Bus req. P1 Bus req. Pn C C... C Árbitro O processador P0 tem que esperar M IO
64 Módulos da Arquitetura State Tag Data P 1 Bus snoop P n Estados: Não válido, Válido, dirty $ Mem I/O devices $ Cache-memory transaction Protocolo de barramento: Requisição Comando Dado Acesso simultâneo: Só um processador ganha o acesso Decisão: árbitro Invalidação das demais cópias
65 PROBLEMA 2: ONDE ENCONTRAR A CÓPIA MAIS ATUALIZADA DO BLOCO DE CACHE?
66 Localizando cópia mais atualizada Caches Write-through: usa cópia da memória Write through é mais simples porém causa muitos acessos à memória e maior utilização do barramento. Caches Write-back: deve localizar cópia mais recente nas caches. É mais complicado de implementar Reduz acessos à memória A maioria dos multiprocessadores usam caches write-back
67 Localizando cópias em Caches Write Back Solução: Usar o mesmo mecanismo de snooping para achar a cópia mais atual Blocos de cache Snoop todo endereço colocado no barramento Se processador possui cópia atual do bloco requisitado ele responde a requisição de leitura e aborta acesso à memória.
68 Protocolo Snooping Write Back Cada bloco de cache vai estar em UM dos estados: Shared : bloco pode ser lido OU Modified/Exclusive : cache tem somente uma cópia que pode ser escrita e dirty OU Invalid : bloco não contem dado válido
69 Protocolo Snooping Write Back Cada bloco de cache vai estar em UM dos estados: Shared : bloco pode ser lido OU Modified/Exclusive : cache tem somente uma cópia que pode ser escrita e dirty OU Invalid : bloco não contem dado válido CPU solicita leitura: Se cache não tem cópia: Controlador coloca Read Miss no barramento Outras caches: Read misses: todas as caches vão dar snoop no barramento Controlador bisbilhota todo endereço colocado no barramento Se a cache possui uma cópia Exclusive do bloco requisitado, fornece o bloco em resposta a requisição de leitura e aborta o acesso à memória.
70 Protocolo Snooping Write Back Cada bloco de cache vai estar em UM dos estados: Shared : bloco pode ser lido OU Modified/Exclusive : cache tem somente uma cópia que pode ser escrita e dirty OU Invalid : bloco não contem dado válido CPU solicita escrita: Se cache não tem cópia: Controlador coloca Write Miss no barramento Outras caches: Write misses: todas as caches vão dar snoop no barramento Controlador bisbilhota todo endereço colocado no barramento Se a cache possui uma cópia Exclusive do bloco requisitado, atualiza a memória e Invalida a cópia. Se a cache possui uma cópia Shared do bloco requisitado invalida a cópia
71 Snooping: Write-Back - CPU Mudança de estado considerando requisições da CPU para cada bloco de cache Blocos que não estão na cache não são validos Invalid CPU Read Place read miss on bus CPU Read hit Shared (read/only) CPU Write Place Write Miss on bus Cache Block State CPU read hit CPU write hit Exclusive (read/write) CPU Write Place Write Miss on Bus CPU Write Miss (?) Write back cache block Place write miss on bus
72 Mudança de estado para requisições da CPU para cada bloco da cache Snooping: Write-Back Substituição de Bloco Invalid CPU Read Place read miss on bus CPU Read hit Shared (read/only) CPU Write Place Write Miss on bus CPU read miss Write back block, Place read miss on bus CPU Read miss Place read miss on bus Cache Block State CPU read hit CPU write hit Exclusive (read/write) CPU Write Place Write Miss on Bus CPU Write Miss Write back cache block Place write miss on bus
73 Snooping: Write-Back - Bus Mudança de estado considerando operações do barramento para cada bloco de cache Invalid Write miss for this block Shared (read/only) Write miss for this block Write Back Block; (abort memory access) Exclusive (read/write) Read miss for this block Write Back Block; (abort memory access)
74 Snooping Write-back Mudança de estado para requisições da CPU para cada bloco da cache e para requisições do barramento para cada bloco de ache Cache Block State Write miss for this block Write Back Block; (abort memory access) CPU read hit CPU write hit Invalid CPU Read Place read miss CPU Write on bus Place Write Miss on bus Exclusive (read/write) Write miss for this block CPU read miss Write back block, Place read miss on bus CPU Read hit Shared (read/only) CPU Read miss Place read miss on bus CPU Write Place Write Miss on Bus Read miss for this block Write Back Block; (abort memory access) CPU Write Miss Write back cache block Place write miss on bus
75 Exemplo Processor 1 Processor 2 Bus Memory P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 P1: Read A1 P2: Read A1 P2: Write 20 to A1 P2: Write 40 to A2 Assuma que estado inicial da cache é não válido A1 e A2 mapeiam para o mesmo slot de cache mas A1!= A2 Remote Write Write Back Invalid Remote Write Read miss on bus Write miss on bus Remote Read Write Back Shared CPU Write Place Write Miss on Bus CPU Read hit CPU Read Miss 75 CPU read hit CPU write hit Exclusive CPU Write Miss Write Back
76 Exemplo: Passo 1 P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: Read A1 P2: Read A1 P2: Write 20 to A1 P2: Write 40 to A2 Assuma que estado inicial da cache é não válido A1 e A2 mapeiam para o mesmo slot de cache mas A1!= A2 Estado ativo: Remote Write Write Back Invalid Remote Write Read miss on bus Write miss on bus Remote Read Write Back Shared CPU Write Place Write Miss on Bus CPU Read hit CPU Read Miss 76 CPU read hit CPU write hit Exclusive CPU Write Miss Write Back
77 Exemplo: Passo 2 P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: Read A1 Excl. A1 10 P2: Read A1 P2: Write 20 to A1 P2: Write 40 to A2 Assuma que estado inicial da cache é não válido A1 e A2 mapeiam para o mesmo slot de cache mas A1!= A2 Remote Write Write Back Invalid Remote Write Read miss on bus Write miss on bus Remote Read Write Back Shared CPU Write Place Write Miss on Bus CPU Read hit CPU Read Miss 77 CPU read hit CPU write hit Exclusive CPU Write Miss Write Back
78 Exemplo: Passo 3 P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: Read A1 Excl. A1 10 P2: Read A1 Shar. A1 RdMs P2 A1 A1 Shar. A1 10 WrBk P1 A1 10 A1 10 Shar. A1 10 RdDa P2 A P2: Write 20 to A1 10 P2: Write 40 to A Assuma que estado inicial da cache é não válido A1 e A2 mapeiam para o mesmo slot de cache mas A1!= A2 Remote Write Write Back Invalid Remote Write Read miss on bus Write miss on bus Remote Read Write Back Shared CPU Write Place Write Miss on Bus CPU Read hit CPU Read Miss 78 CPU read hit CPU write hit Exclusive CPU Write Miss Write Back
79 Exemplo: Passo 4 P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: Read A1 Excl. A1 10 P2: Read A1 Shar. A1 RdMs P2 A1 A1 Shar. A1 10 WrBk P1 A1 10 A1 10 Shar. A1 10 RdDa P2 A1 10 A1 10 P2: Write 20 to A1 Inv. Excl. A1 20 WrMs P2 A1 10 P2: Write 40 to A Assuma que estado inicial da cache é não válido A1 e A2 mapeiam para o mesmo slot de cache mas A1!= A2 Remote Write Write Back Invalid Remote Write Read miss on bus Write miss on bus Remote Read Write Back Shared CPU Write Place Write Miss on Bus CPU Read hit CPU Read Miss 79 CPU read hit CPU write hit Exclusive CPU Write Miss Write Back
80 Exemplo: Passo 5 P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: Read A1 Excl. A1 10 A1 P2: Read A1 Shar. A1 RdMs P2 A1 A1 Shar. A1 10 WrBk P1 A1 10 A1 10 Shar. A1 10 RdDa P2 A1 10 A1 10 P2: Write 20 to A1 Inv. Excl. A1 20 WrMs P2 A1 A1 10 P2: Write 40 to A2 WrMs P2 A2 10 Excl. A2 40 WrBk P2 A Assuma que estado inicial da cache é não válido A1 e A2 mapeiam para o mesmo slot de cache mas A1!= A2 Remote Write Write Back Invalid Remote Write Read miss on bus Write miss on bus Remote Read Write Back Shared CPU Write Place Write Miss on Bus CPU Read hit CPU Read Miss 80 CPU read hit CPU write hit Exclusive CPU Write Miss Write Back
81 Snooping State Tag Data P 1 Bus snoop P n Estados: Shared, Não válido, Exclusivo $ Mem I/O devices $ Cache-memory transaction Protocolo de barramento: Requisição Comando Dado Acesso simultâneo: Só um processador ganha o acesso Decisão: árbitro Invalidação das demais cópias
82 Limitações Aumento no número de processadores -> cresce demanda por memória - > tornando-se um bottleneck. Para bus-based multiprocessador, Bus: acessos devido a coerência e acessos à memória Memória UNICA: recebe TODAS as requisições dos processadores. Processadores mais rápidos e em maior número. Como suportar este novo cenário? Múltiplos barramentos e redes de interconexão Memória configurada em bancos de memória
83 Limitações Múltiplos barramentos e redes de interconexão Memória configurada em bancos de memória
84 Network-based Coherence
85 Abordagem Escalável: Diretórios Cada bloco de memória tem uma informação armazenada em um diretório Gerencia cópias dos blocos em cache e seus estados Em caso de miss, encontra entrada no diretório, analiza o mesmo e comunica somente com os nós que possuem cópia se necessário Em redes escaláveis, comunicação com diretório e cópias é feita através da rede. Várias alternativas para organizar informação no diretório.
86 Operação Básica de Diretório P P Cache Cache Interconnection Network k processadores. Cada bloco de cache na memória: k presence-bits, 1 dirty-bit Cada bloco de cache em cache: 1 valid bit, e 1 dirty (owner) bit Memory Directory presence bits dirty bit Leitura da memória pelo processador i: Se dirty-bit está OFF então { leitura da memória; atualiza p[i] para ON; } Se dirty-bit está ON então { acessa linha de cache do processador dirty (estado de cache para shared); atualiza memória; faz dirty-bit igual a OFF; faz p[i] igual a ON; fornece dado para i;} Escrita na memória pelo processador i: Se dirty-bit igual a OFF então { fornece dado para i; envia nvalidations para todas as caches que tem o bloco; faz dirty-bit igual a ON; faz p[i] igual a ON;... }...
87 Operação Básica de Diretório
88 Coerência Snooping Só uma pessoa pode falar no microfone por vez Toda modificação em conta deve ser comunicada entre os funcionários através do alto falante Após modificações cópias devem ser inutilizadas
89 Coerência: Diretório Acessos às pastas somente através do diretório Toda modificação em qualquer cópia deve ser comunicada ao diretório Diretório comunica a necessidade de inutilização Diretório envia cópia mais atualizada
90 Protocolo baseado em Diretório Interconnection Network Directory Directory Directory Local Memory Local Memory Local Memory Cache Cache Cache CPU 0 CPU 1 CPU 2
91 Protocolo baseado em Diretório Interconnection Network Bit Vector Directories X U Memories X 7 Caches CPU 0 CPU 1 CPU 2
92 CPU 0 lê X Interconnection Network Read Miss Directories X U Memories X 7 Caches CPU 0 CPU 1 CPU 2
93 CPU 0 lê X Interconnection Network Directories X S Memories X 7 Caches CPU 0 CPU 1 CPU 2
94 CPU 0 lê X Interconnection Network Directories X S Memories X 7 Caches X 7 CPU 0 CPU 1 CPU 2
95 CPU 2 lê X Interconnection Network Directories X S Memories Read Miss X 7 Caches X 7 CPU 0 CPU 1 CPU 2
96 CPU 2 lê X Interconnection Network Directories X S Memories X 7 Caches X 7 CPU 0 CPU 1 CPU 2
97 CPU 2 lê X Interconnection Network Directories X S Memories X 7 Caches X 7 X 7 CPU 0 CPU 1 CPU 2
98 CPU 0 escreve 6 em X Write Miss Interconnection Network Directories X S Memories X 7 Caches X 7 X 7 CPU 0 CPU 1 CPU 2
99 CPU 0 escreve 6 em X Interconnection Network Directories X S Memories Invalidate X 7 Caches X 7 X 7 CPU 0 CPU 1 CPU 2
100 CPU 0 escreve 6 em X Interconnection Network Directories X E Memories X 7 Caches X 6 CPU 0 CPU 1 CPU 2
101 CPU 1 lê X Interconnection Network Read Miss Directories X E Memories X 7 Caches X 6 CPU 0 CPU 1 CPU 2
102 CPU 1 lê X Interconnection Network Switch to Shared Directories X E Memories X 7 Caches X 6 CPU 0 CPU 1 CPU 2
103 CPU 1 lê X Interconnection Network Directories X E Memories X 6 Caches X 6 CPU 0 CPU 1 CPU 2
104 CPU 1 lê X Interconnection Network Directories X S Memories X 6 Caches X 6 X 6 CPU 0 CPU 1 CPU 2
105 CPU 2 escreve 5 em X Interconnection Network Directories X S Memories Write Miss X 6 Caches X 6 X 6 CPU 0 CPU 1 CPU 2
106 CPU 2 escreve 5 em X Interconnection Network Directories X S Memories X 6 Caches X 6 X 6 CPU 0 CPU 1 CPU 2
107 CPU 2 escreve 5 em X (Write back) Interconnection Network Directories X E Memories X 6 Caches X 5 CPU 0 CPU 1 CPU 2
108 CPU 0 escreve 4 em X Interconnection Network Directories X E Memories X 6 Caches X 5 CPU 0 CPU 1 CPU 2
109 CPU 0 escreve 4 em X Interconnection Network Directories X E Memories Take Away X 6 Caches X 5 CPU 0 CPU 1 CPU 2
110 CPU 0 escreve 4 em X Interconnection Network Directories X E Memories X 5 Caches X 5 CPU 0 CPU 1 CPU 2
111 CPU 0 escreve 4 em X Interconnection Network Directories X E Memories X 5 Caches CPU 0 CPU 1 CPU 2
112 CPU 0 escreve 4 em X Interconnection Network Directories X E Memories X 5 Caches X 5 CPU 0 CPU 1 CPU 2
113 CPU 0 escreve 4 em X Interconnection Network Directories X E Memories X 5 Caches X 4 CPU 0 CPU 1 CPU 2
114 Oito cores: cada um suporta até 4 threads. Cada core consiste num pipeline de 6 estágios Tl usa fine-grained multithreading, Os cores acessam 4 caches de 2 níveis Existe coerência entre caches L1 e um diretório com cada cache L2 LI data cache é write through, Exemplo T1
115 Exemplo T1
116 Exemplo T1
117 Comparação T1 e Superescalares
118 Comparação T1 e Superescalares
119 Comparação T1 e Superescalares
120 Comparação T1 e Superescalares
speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado
Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos
Arquitetura de Computadores. Processamento Paralelo
Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple
Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór
Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Filipo Mór WWW.FILIPOMOR.COM - REVISÃO ARQUITETURAS PARALELAS Evolução das Arquiteturas Evolução das Arquiteturas Entrada CPU Saída von
Multiprocessamento. Patterson & Hennessy Capítulo 9. Arquitetura e Organização de Computadores Juliano M. Vieira (c) 2011
Multiprocessamento Patterson & Hennessy Capítulo 9 Arquitetura e Organização de Computadores Juliano M. Vieira (c) 2011 Tópicos Abordados Tipos comuns SMP (processamento paralelo) NUMA (placas de alto
Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de
SSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 17ª Aula Paralelismos nível de tarefas Profa. Sarita Mazzini Bruschi [email protected] Paralelismo no nível de tarefas Paralelismo a nível de thread (TLP Thread-Level
Organização de Computadores II. Arquiteturas MIMD
Organização de Computadores II Arquiteturas MIMD Arquiteturas UMA Arquiteturas com memória única global. Tempo de acesso uniforme para todos os nós de processamento. Nós de processamento e memória interconectados
Desafios do Mapeamento de Processos em Arquiteturas Many-Core
Desafios do Mapeamento de Processos em Arquiteturas Many-Core Professor: Philippe O. A. Navaux Instituto de Informática - UFRGS Escola Regional de Alto Desempenho São Paulo 1 Indíce Evolução dos Processadores
Caracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Processamento Paralelo
Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários
AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTIPROCESSADORES
Protocolos de Coerência de Memória Cache
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquiteturas de Sistemas de Processamento Paralelo Protocolos de Coerência de Memória Cache Introdução Em sistemas
Linguagem de Programação II
Linguagem de Programação II Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB [email protected] Mo6vação Adaptar a estrutura lógica de um problema (Ex.: Servidores Web). Lidar com disposi6vos independentes
Organização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de
Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva
Introdução à Programação Paralela através de Padrões Denise Stringhini Calebe Bianchini Luciano Silva Sumário Introdução: conceitos de paralelismo Conceitos básicos sobre padrões de programação paralela
Computadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Multiprogramação leve em arquiteturas multi-core
Multiprogramação leve em arquiteturas multi-core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação
SSC510 Arquitetura de Computadores. 6ª aula
SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas
30/5/2011. Sistemas computacionais para processamento paralelo e distribuído
Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento
Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória
Infraestrutura de Hardware Explorando Desempenho com a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Arquiteturas Paralelas
Arquiteturas Paralelas Arquiteturas Paralelas Graduação em Ciência da Computação Universidade do Vale do Rio dos Sinos Prof. Gerson Cavalheiro Programação Paralela e Distribuída 2006 CC / UNISINOS Classificação
Memória Cache. Walter Fetter Lages.
Memória Cache Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução SRAM
Infraestrutura de Hardware. Explorando a Hierarquia de Memória
Infraestrutura de Hardware Explorando a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo
Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h
Pipelining Avançado Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução A técnica de pipelining explora o paralelismo entre as instruções Paralelismo em Nível de Instrução (ILP). Métodos
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL
INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES Prof. Dr. Daniel Caetano 2012-2 Lembretes Compreender o funcionamento da Arquitetura Superpipeline Compreender
Disciplina de Arquitetura de Computadores
USP - ICMC - SSC SSC 0510 - Informática - 2o. Semestre 2009 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW
Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem
Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core
RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:
Sistemas Distribuídos
Sistemas Distribuídos Classificação de Flynn Fonte: Professoras. Sarita UFRJ e Thais V. Batista - UFRN Arquiteturas Paralelas Computação Paralela Conceitos Permite a execução das tarefas em menor tempo,
Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquiteturas de Sistemas de Processamento Paralelo Arquiteturas MIMD Arquiteturas MIMD com Memória Distribuída MIMD
SSC0902 Organização e Arquitetura de Computadores
SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi [email protected] Arquitetura CISC CISC Complex Instruction
PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register
PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados
Faculdade de Computação 3 a Prova de Arquitetura e Organização de Computadores 2 Parte I Prof. Cláudio C. Rodrigues
Faculdade de Computação 3 a Prova de Parte I Prof. Cláudio C. Rodrigues Nome: Matrícula: Valor: 15 Nome: Matrícula: Valor: 15 Nome: Matrícula: Valor: 15 Nome: Matrícula: Valor: 15 Problemas: P1. Qual o
Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade
Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a
Unidade 12: Introdução ao Paralelismo:
Arquitetura e Organização de Computadores 1 Unidade 12: Introdução ao Paralelismo: Processadores Superescalares Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura superescalar
INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura
Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número
Memória Cache. Aula 24
Memória Cache Aula 24 Introdução Objetivo: oferecer o máximo de memória disponível na tecnologia mais barata, enquanto se fornece acesso na velocidade oferecida pela memória mais rápida Velocidade CPU
Arquitetura de Computadores. Prof. João Bosco Jr.
Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html
Arquitetura de Computadores Aula 11 - Multiprocessamento
Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br [email protected] 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.
periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações
Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.
Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela
Arquitetura de Computadores Paralelos Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Por que estudar Computação Paralela e Distribuída? Os computadores sequenciais
Arquiteturas paralelas Parte 1
Arquiteturas paralelas Parte 1 Processamento Paralelo Prof. Oberlan Romão Departamento de Computação e Eletrônica DCEL Centro Universitário Norte do Espírito Santo CEUNES Universidade Federal do Espírito
Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 1 Introdução Arquitetura e Organização 1. Arquitetura
Programação Distribuída e Paralela. Jorge Barbosa
Programação Distribuída e Paralela Jorge Barbosa 1 Máquinas Paralelas Processadores Memória Rede de interligação Classificação das máquinas paralelas 2 Processador Escalar Processadores Processador que
Barramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 9 e 10 Memória cache Tendências tecnológicas
Sistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
Capítulo 7 Sistemas de Memória. Ch7a 1
Capítulo 7 Sistemas de Memória Ch7a 1 Memórias: Revisão SRAM (Static RAM): Valor é armazenado por meio da interligação de um par de inversores Rápido, mas consome mais espaço que DRAM (4 a 6 transistores)
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender a Arquitetura SMP Conhecer a Organização SMP Apresentar o Conceito
Sistemas Operacionais. Conceitos de Hardware
Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal
Barramento CoreConnect
Barramento CoreConnect MO801 1º semestre de 2006 Prof. Rodolfo Jardim de Azevedo Fabiana Bellette Gil - RA 028671 CoreConnect Agenda Conceitos básicos Introdução ao CoreConnect Arquitetura Referências
PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca
PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 4. MEMÓRIA 2 4. MEMÓRIA A memória é um componente essencial de todo computador, sendo utilizada para armazenar as instruções a serem
Arquitetura e Organização de Processadores. Aula 4. Pipelines
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de
Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho
Hierarquia de Memória Sistemas de Computação André Luiz da Costa Carvalho 1 Introdução l Pode ser definida como um local para armazenamento de informações, onde as duas únicas ações possíveis são a leitura
Correção de Erros. Erros de memória de semicondutores podem ser:
Correção de Erros Erros de memória de semicondutores podem ser: Erros graves que constitui um defeito físico permanente; Erros moderados, onde a(s) célula(s) não são capazes de armazenar os dados ou fazem
MEMÓRIA COMPARTILHADA DISTRIBUÍDA
MEMÓRIA COMPARTILHADA DISTRIBUÍDA Sistemas Distribuídos 290 Formas de comunicação entre processos (IPC) Troca de mensagens originador: send(destinatário, dados) receptor receive(dados) Memória compartilhada
Sistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
Memória Cache Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Memória Cache Memória Principal Vs. Cache Fichário Quadro Pasta O fichário representa o disco rígido. A pasta sobre a mesa representa
Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro
Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador
Parte I Multiprocessamento
Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez [email protected] 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento
Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP
Introdução Memória Compartilhada e Distribuída _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Um sistema de memória compartilhada faz a memória física global de um sistema igualmente
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender a Arquitetura SMP Conhecer a Organização SMP Apresentar o Conceito
