coerência de memórias cache e modelos de consistência de memória renato silva das neves...

13
Coerência de Coerência de Memórias Cache e Memórias Cache e Modelos de Modelos de Consistência de Consistência de Memória Memória Renato Silva das Neves Renato Silva das Neves Arquitetura de Arquitetura de Computadores Computadores Junho 2006 Junho 2006

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Coerência de Memórias Cache e Memórias Cache e

Modelos de Modelos de Consistência de Consistência de

MemóriaMemóriaRenato Silva das NevesRenato Silva das Neves

Arquitetura de ComputadoresArquitetura de Computadores

Junho 2006Junho 2006

Page 2: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

SumárioSumário

MotivaçãoMotivação Coerência de Memórias CacheCoerência de Memórias Cache

Conceitos iniciaisConceitos iniciais Protocolos de monitoraçãoProtocolos de monitoração Protocolos baseados em diretórioProtocolos baseados em diretório

Modelos de Consistência de Modelos de Consistência de MemóriaMemória

ConclusãoConclusão

Page 3: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

IntroduçãoIntrodução

Caches melhoram desempenhoCaches melhoram desempenho Velocidade dos microprocessadoresVelocidade dos microprocessadores Arquiteturas multiprocessadasArquiteturas multiprocessadas Cópias de blocos distribuídas entre Cópias de blocos distribuídas entre

as caches dos processadoresas caches dos processadores Coerência de cacheCoerência de cache Consistência de memóriaConsistência de memória

Page 4: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Memórias Coerência de Memórias CacheCache

Conceitos IniciaisConceitos Iniciais SoftwareSoftware

Análise de código pelo compiladorAnálise de código pelo compilador Evitam o uso de hardware especialEvitam o uso de hardware especial Pode levar a uma utilização ineficiente da Pode levar a uma utilização ineficiente da

cachecache HardwareHardware

Mantém coerência em tempo de execuçãoMantém coerência em tempo de execução Protocolos de monitoraçãoProtocolos de monitoração Protocolos baseados em diretóriosProtocolos baseados em diretórios

Page 5: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Memórias Coerência de Memórias CacheCache

Protocolos de MonitoraçãoProtocolos de Monitoração Barramento compartilhadoBarramento compartilhado BroadcastBroadcast Protocolos de atualização de gravaçãoProtocolos de atualização de gravação Protocolos de invalidação de gravaçãoProtocolos de invalidação de gravação

Write-onceWrite-once BerkeleyBerkeley IllinoisIllinois FireflyFirefly MESIMESI ......

Page 6: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Memórias Coerência de Memórias CacheCache

Protocolos de MonitoraçãoProtocolos de MonitoraçãoInválido Válido

Dirty Reservado

Bus write-once

Write miss

Read miss

Write hit

Write hit

Buswritemiss

BusreadmissWrite hit

Inválido Válido

DirtyCompartilha

do-dirty

Bus invalidate

Write miss

Read miss

Write hit

Buswritemiss

Write hit

Busreadmiss

Bus read miss

InválidoVálido-

Exclusivo

DirtyCompartilha

do

Write miss

Read miss(da memória)

Bus readmiss

Write hit

Buswritemiss

Write hit

Bus write miss

Bus invalidate

Read miss(da cache)

Bus readmiss

Write Once Berkeley

Válido-Exclusivo

Dirty

Compartilhado

Write miss

Read miss

Write hit Writehit

Write hit

Read miss

Writehit

Write miss

Bus read

Bus read

Bus read/write

FireflyIllinois

Page 7: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Memórias Coerência de Memórias CacheCache

Protocolos de DiretórioProtocolos de Diretório

Page 8: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Memórias Coerência de Memórias CacheCache

Protocolos de DiretórioProtocolos de Diretório Informações de compartilhamento são Informações de compartilhamento são

armazenados em diretóriosarmazenados em diretórios Centralizado – memória centralizadaCentralizado – memória centralizada Distribuído – memória distribuídaDistribuído – memória distribuída

Entrada de DiretórioEntrada de Diretório Estado do bloco da memória / cacheEstado do bloco da memória / cache Lista de compartilhadoresLista de compartilhadores

Escalabilidade – muitos processadores!Escalabilidade – muitos processadores! Conexão ponto-a-ponto, sem broadcastConexão ponto-a-ponto, sem broadcast Classificações: completamente-mapeado, Classificações: completamente-mapeado,

limitado ou encadeadolimitado ou encadeado

Page 9: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Memórias Coerência de Memórias CacheCache

Protocolos de DiretórioProtocolos de Diretório Estados: bloco compartilhado, não inserido Estados: bloco compartilhado, não inserido

na cache ou exclusivona cache ou exclusivo Falha de leitura na cacheFalha de leitura na cache

Bloco exclusivo de outro processadorBloco exclusivo de outro processador Realiza write-back na memóriaRealiza write-back na memória Estado do bloco passa a ser compartilhadoEstado do bloco passa a ser compartilhado

Gravação de um bloco na cacheGravação de um bloco na cache Mensagem é enviada para invalidar cópias em Mensagem é enviada para invalidar cópias em

cachescaches Confirmações são enviadas pelos processadores Confirmações são enviadas pelos processadores O processador requisitante agora tem acesso O processador requisitante agora tem acesso

exclusivo ao blocoexclusivo ao bloco

Page 10: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Modelos de Consistência Modelos de Consistência de Memóriade Memória

Especifica a ordem vista pelo programadorEspecifica a ordem vista pelo programador Leitura deve retornar o valor da “última” Leitura deve retornar o valor da “última”

escritaescrita Sistemas multiprocessados: execução fora Sistemas multiprocessados: execução fora

de ordemde ordem Modelos de consistênciaModelos de consistência

SeqüencialSeqüencial RelaxadoRelaxado

Escrita para leitura, escrita para escrita ou todas as Escrita para leitura, escrita para escrita ou todas as ordensordens

Page 11: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Modelos de Consistência Modelos de Consistência de Memóriade Memória

Exemplo: relaxamento escrita para leituraExemplo: relaxamento escrita para leitura

P1

Barramento Compartilhado

P2

LeituraFlag2

t1Escrita Flag1 t3 Escrita Flag2 t4

Flag1: 0Flag2: 0

Memória

LeituraFlag1

t2

P1

Flag1 = 1if (Flag2 == 0)seção crítica

P2

Flag2 = 1if (Flag1 == 0)seção crítica

Page 12: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

ConclusãoConclusão

Coerência de memórias cacheCoerência de memórias cache Abordagem de monitoração – Abordagem de monitoração –

barramento compartilhado, poucos barramento compartilhado, poucos processadores (até 32)processadores (até 32)

Abordagem de diretórios – conexão Abordagem de diretórios – conexão ponto-a-ponto, muitos processadoresponto-a-ponto, muitos processadores

Consistência de memóriaConsistência de memória Execução fora de ordemExecução fora de ordem Necessidade de sincronizaçãoNecessidade de sincronização

Page 13: Coerência de Memórias Cache e Modelos de Consistência de Memória Renato Silva das Neves Arquitetura de Computadores Junho 2006

Coerência de Coerência de Memórias Cache e Memórias Cache e

Modelos de Modelos de Consistência de Consistência de

MemóriaMemóriaRenato Silva das NevesRenato Silva das Neves

Arquitetura de ComputadoresArquitetura de Computadores

Junho 2006Junho 2006