SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
O Problema de Coerência de
Memória Cache em Sistemas
Multiprocessados
Junio Figueiredo eWagner Silva Costa
Elaborado em Novembro/2011
Arquitetura de Computadores
Prof. Dr. Alisson Brito
1. Introdução
2. Apresentação do Problema
3. Como Resolver o Problema de Coerência de Cache
4. Esquemas e Protocolos de Coerência de Cache
ObjetivosObjetivos
Pág. 2
5. Conclusão
6. Referências Bibliográficas
Alunos: Junio eWagnerArquitetura de Computadores
Coerência:
Qualidade, estado ou atitude de coerente [Aurélio]
Coerência de Cache:
É garantir qualquer processador sempre receba o dado
IntroduçãoIntrodução
Pág. 3
É garantir qualquer processador sempre receba o dado
mais atual contido em qualquer cache para um mesmo
endereço.
Alunos: Junio eWagnerArquitetura de Computadores
Problemas de coerência de cache aparecem mais
comumente em sistemas que possuem mais de um
processador. [1]
Apresentação do ProblemaApresentação do Problema
Pág. 4 Alunos: Junio eWagnerArquitetura de Computadores
Apresentação do ProblemaApresentação do Problema
1. P1 realiza a leitura do dado X = 0. O dado é gravado na cache
privada;
2. P2 realiza a leitura do dado X = 0. O dado é gravado na cache
privada;
3. P1 realiza X = X + 1. O dado X = 0 é lido da cache privada, e X = 1 é
então gravado;
Pág. 5 Alunos: Junio eWagnerArquitetura de Computadores
então gravado;
4. P2 realiza X = X + 3. O dado X = 0 é lido da cache privada, e X = 3 é
então gravado.
No passo 4, como P2 leu o dado X da cache privada, a alteração
realizada por P1 no passo 3 não foi levada em conta; ocorre incoerência
entre as caches devido à violação da condição chave acima.
1. Esquemas Simples:
• Baseiam na limitação do tipo de dado que pode ir para a
Como Resolver o Problema deComo Resolver o Problema de
Coerência de CacheCoerência de Cache
Pág. 6
• Baseiam na limitação do tipo de dado que pode ir para a
cache, permitindo que apenas dados para leitura ou
mesmo dados não-compartilhados (privados ao
processador) possam ser armazenados na cache.
Alunos: Junio eWagnerArquitetura de Computadores
2. Esquemas Baseados em Software e Hardware
• Esquemas de Sofware:
Como Resolver o Problema deComo Resolver o Problema de
Coerência de CacheCoerência de Cache
Pág. 7
• Esquemas de Sofware:
Delega-se ao compilador ou ao sistema operacional a
responsabilidade de garantir a coerência. A vantagem dos
esquemas baseados em software é evitar que um outro
hardware seja necessário para realizar o tratamento do
problema de coerência.
Alunos: Junio eWagnerArquitetura de Computadores
2. Esquema Baseado em Software e Hardware
• Esquemas de Hardware:
Detectam as condições de inconsistências, livrando
Como Resolver o Problema deComo Resolver o Problema de
Coerência de CacheCoerência de Cache
Pág. 8
Detectam as condições de inconsistências, livrando
completamente o SO, compilador e o programador do
problema de coerência de cache.
Alunos: Junio eWagnerArquitetura de Computadores
Esquemas de Coerência Baseados em Software:
São mais baratos, porém pode exigir um esforço extra do
Sistema Operacional , do Compilador e por parte do
programador.
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 9
Esquemas Implementados como parte do:
Compilador (Rodam em tempo de compilação);
SO (Rodam em tempo de execução);
São divididas em duas Soluções;
Estáticas
Dinâmicas
Alunos: Junio eWagnerArquitetura de Computadores
Esquemas de Coerência Baseados em Software:
Estáticas:
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 10
Resultam de ações realizadas durante a criação do
programa, normalmente pelo compilador
Dinâmicas:
São soluções feitas em tempo de execução, por isso
são baseadas em ações do sistema operacional
Alunos: Junio eWagnerArquitetura de Computadores
Exemplos:
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
-Controle de Versão
-Timestamp
-Ultracomputer
Esquemas
Estáticos
Pág. 11 Alunos: Junio eWagnerArquitetura de Computadores
-Coerência no Pedido
de interrupção
- One-time Identifier
Esquemas
Dinâmicos
Baseados
em
Software
Esquema de Coerência Baseados em Software
Controle Versão (Estáticas)
Cada nova escrita de um dado compartilhado gera uma
nova versão de conteúdo. Os processadores incrementam o
novo número a cada escrita que ocorra.[2]
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 12
novo número a cada escrita que ocorra.[2]
Para todo acesso ao dado compartilhado, os números da
cache e o corrente processador são comparados.[3]
Caso a versão do processador seja maior que o da versão
na cache. O processador esta trabalhando com o Dado
corrento.[1]
Alunos: Junio e WagnerArquitetura de Computadores
Coerência no Pedido de Interrupção (Dinâmicas)
Solução que utiliza a mesma idéia de memória virtual.
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 13
Ao se detectar um page fault, o hardware interrompe a
execução chamando o sistema operacional para fazer o
tratamento adequado.[3]
Alunos: Junio eWagnerArquitetura de Computadores
Protocolos de Coerência Baseados em Hardware:
Utilizados principalmente em sistemas multiprocessadores
.
Tais protocolos lidam com a coerência em tempo de
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 14
Tais protocolos lidam com a coerência em tempo de
execução, sendo assim considerados dinâmicos. [2]
São mais complexos de implementar, pois são
caracterizados pelo uso de recursos de baixo nível de
arquitetura.[1]
São Classificados em Snoopy e Directory
Alunos: Junio eWagnerArquitetura de Computadores
Protocolos de Coerência Baseados em Hardware:
Protocolo Snoopy: (Protocolo de Monitoramento)[4]
Responsabilidade de manter a coerência entre todos os caches;
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 15
Responsabilidade de manter a coerência entre todos os caches;
Protocolo Singles Bus
Utiliza duas Política:
Write-Invalidade;
Write-update;
Alunos: Junio eWagnerArquitetura de Computadores
Protocolos Snoopy (Singles bus “Write-Invalidade”)
Permite ter um escritor e vários leitores;
Uma escrita em um dado compartilhado gera uma
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 16
Uma escrita em um dado compartilhado gera uma
invalidação de todas as cópias desse dado antes que a
escrita se inicie
Protocolos Snoopy (Singles bus “Write-update”)
Atualiza todas as cópias do dado compartilhado antes de
realizar a escrita
Alunos: Junio eWagnerArquitetura de Computadores
Protocolos de Coerência Baseados em Hardware:
Protocolo Directory: (Protocolo de Monitoramento)
Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência
de Cachede Cache
Pág. 17
Protocolo Directory: (Protocolo de Monitoramento)
Utilizam um controlador central para manter a coerência de cache;
Guardam as informações das cópias de dados
Utiliza um diretório na memória principal, onde armazena o estado
global do conteúdo das varias caches
Alunos: Junio eWagnerArquitetura de Computadores
Devido ao crescimento de sistemas multiprocessados, o
compartilhamento de memória torna-se um ponto importante
para obter um bom desempenho de sua arquitetura, levando
ConclusãoConclusão
Pág. 18
a solucionar problemas de coerência de cache com a
premissa de baixo custo Vs. Alto desempenho. Dando a
origem a diversa soluções baseadas em software e
hardware.
Alunos: Junio eWagnerArquitetura de Computadores
1.Covacevive, Aleksey V.,Baldochi,B.Y., De Castro,F.R
Coerência de Cache. Instituto de Computação – UNICAMP
2.Geiss, Lenise Cristina.Coerência de Cache em
Multiprossedores.Instituto de Informática UFRGS
3. Da Costa,Andre L.N., Barbosa,Davi.M.J., Silva, Felipe
S.S.Coerência de Cache: O Problema e Algumas Soluções.
Instituto de Computação – UNICAMP
ReferênciasReferências
Pág. 19
Instituto de Computação – UNICAMP
4. M. M. K. Martin. Formal verication and its impact on the
snooping versus directory protocol debate. Proceedings of
the 2005 International Conference on Computer Design,
pages 543-549, 2005.
5.Neves,Renato S., Coerência de Memórias Cache e
Modelos de Consistência de Memória. Instituto de
Computação – UNICAMP
Alunos: Junio eWagnerArquitetura de Computadores

Mais conteúdo relacionado

Mais procurados

Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dadosMarcio Jonnes
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidadeelliando dias
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01Marco Guimarães
 
Procedimentos de Backup
Procedimentos de BackupProcedimentos de Backup
Procedimentos de Backupelliando dias
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Memcached - Uma alternativa de cache para arquiteturas de alta escalabilidade
Memcached  - Uma alternativa de cache para arquiteturas de alta escalabilidade Memcached  - Uma alternativa de cache para arquiteturas de alta escalabilidade
Memcached - Uma alternativa de cache para arquiteturas de alta escalabilidade Felipe Bergamaschi
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Aula 4 (tecnologias de armazenamento)
Aula 4 (tecnologias de armazenamento)Aula 4 (tecnologias de armazenamento)
Aula 4 (tecnologias de armazenamento)Evandro Júnior
 
Replicação de dados
Replicação de dadosReplicação de dados
Replicação de dadoselliando dias
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdFrederico Madeira
 

Mais procurados (20)

Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
 
Procedimentos de Backup
Procedimentos de BackupProcedimentos de Backup
Procedimentos de Backup
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUXARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
 
Memcached - Uma alternativa de cache para arquiteturas de alta escalabilidade
Memcached  - Uma alternativa de cache para arquiteturas de alta escalabilidade Memcached  - Uma alternativa de cache para arquiteturas de alta escalabilidade
Memcached - Uma alternativa de cache para arquiteturas de alta escalabilidade
 
Revisão sd
Revisão sdRevisão sd
Revisão sd
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Google File System
Google File SystemGoogle File System
Google File System
 
S.o aula 1920
S.o aula 1920S.o aula 1920
S.o aula 1920
 
Aula 4 (tecnologias de armazenamento)
Aula 4 (tecnologias de armazenamento)Aula 4 (tecnologias de armazenamento)
Aula 4 (tecnologias de armazenamento)
 
Replicação de dados
Replicação de dadosReplicação de dados
Replicação de dados
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Exercicio 03 alunos(1)
Exercicio 03 alunos(1)Exercicio 03 alunos(1)
Exercicio 03 alunos(1)
 
Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e Drbd
 

Semelhante a Problema coerência cache multiprocessados

Proposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaesProposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaeslucassrod
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuningDell Technologies
 
Barramentos (continuação) e memória interna
Barramentos (continuação) e memória internaBarramentos (continuação) e memória interna
Barramentos (continuação) e memória internaPAULO Moreira
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e softwarePaulo Fonseca
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Memoria cache princípio da localidade
Memoria cache   princípio da localidadeMemoria cache   princípio da localidade
Memoria cache princípio da localidadeClaudia Costa
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
Prova Da Dataprev 2006 Jaime Correia Amostra
Prova Da Dataprev 2006   Jaime Correia   AmostraProva Da Dataprev 2006   Jaime Correia   Amostra
Prova Da Dataprev 2006 Jaime Correia AmostraWalter Cunha
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 

Semelhante a Problema coerência cache multiprocessados (20)

So cap01
So cap01So cap01
So cap01
 
Proposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaesProposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaes
 
Vamos conversar sobre cache
Vamos conversar sobre cacheVamos conversar sobre cache
Vamos conversar sobre cache
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuning
 
Htm trabalho
Htm trabalhoHtm trabalho
Htm trabalho
 
Barramentos (continuação) e memória interna
Barramentos (continuação) e memória internaBarramentos (continuação) e memória interna
Barramentos (continuação) e memória interna
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Memoria cache princípio da localidade
Memoria cache   princípio da localidadeMemoria cache   princípio da localidade
Memoria cache princípio da localidade
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Prova Da Dataprev 2006 Jaime Correia Amostra
Prova Da Dataprev 2006   Jaime Correia   AmostraProva Da Dataprev 2006   Jaime Correia   Amostra
Prova Da Dataprev 2006 Jaime Correia Amostra
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Windows Vista , Seven , Server 2008 r2
Windows Vista , Seven , Server 2008 r2Windows Vista , Seven , Server 2008 r2
Windows Vista , Seven , Server 2008 r2
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Gestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptxGestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptx
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Sistema Operativo 2
Sistema Operativo 2Sistema Operativo 2
Sistema Operativo 2
 
So cap01
So cap01So cap01
So cap01
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 

Mais de Léia de Sousa

Algoritmos geometricos
Algoritmos geometricosAlgoritmos geometricos
Algoritmos geometricosLéia de Sousa
 
Dark silicon and the end of multicore scaling
Dark silicon and the end of multicore scalingDark silicon and the end of multicore scaling
Dark silicon and the end of multicore scalingLéia de Sousa
 
Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...
Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...
Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...Léia de Sousa
 
Characteristics of an on chip cache on nec sx
Characteristics of an on chip cache on nec sxCharacteristics of an on chip cache on nec sx
Characteristics of an on chip cache on nec sxLéia de Sousa
 
Data cache design itanium 2
Data cache design itanium 2Data cache design itanium 2
Data cache design itanium 2Léia de Sousa
 
Cache performance-x86-2009
Cache performance-x86-2009Cache performance-x86-2009
Cache performance-x86-2009Léia de Sousa
 

Mais de Léia de Sousa (11)

Algoritmos geometricos
Algoritmos geometricosAlgoritmos geometricos
Algoritmos geometricos
 
Dark silicon and the end of multicore scaling
Dark silicon and the end of multicore scalingDark silicon and the end of multicore scaling
Dark silicon and the end of multicore scaling
 
Crayl
CraylCrayl
Crayl
 
Cray xt3
Cray xt3Cray xt3
Cray xt3
 
Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...
Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...
Chrome server2 print_http_www_uni_mannheim_de_acm97_papers_soderquist_m_13736...
 
Characteristics of an on chip cache on nec sx
Characteristics of an on chip cache on nec sxCharacteristics of an on chip cache on nec sx
Characteristics of an on chip cache on nec sx
 
Data cache design itanium 2
Data cache design itanium 2Data cache design itanium 2
Data cache design itanium 2
 
Cache performance-x86-2009
Cache performance-x86-2009Cache performance-x86-2009
Cache performance-x86-2009
 
Ultrasparc3 (mpr)
Ultrasparc3 (mpr)Ultrasparc3 (mpr)
Ultrasparc3 (mpr)
 
Sx 6-single-node
Sx 6-single-nodeSx 6-single-node
Sx 6-single-node
 
Gr spice wrks
Gr spice wrksGr spice wrks
Gr spice wrks
 

Problema coerência cache multiprocessados

  • 1. O Problema de Coerência de Memória Cache em Sistemas Multiprocessados Junio Figueiredo eWagner Silva Costa Elaborado em Novembro/2011 Arquitetura de Computadores Prof. Dr. Alisson Brito
  • 2. 1. Introdução 2. Apresentação do Problema 3. Como Resolver o Problema de Coerência de Cache 4. Esquemas e Protocolos de Coerência de Cache ObjetivosObjetivos Pág. 2 5. Conclusão 6. Referências Bibliográficas Alunos: Junio eWagnerArquitetura de Computadores
  • 3. Coerência: Qualidade, estado ou atitude de coerente [Aurélio] Coerência de Cache: É garantir qualquer processador sempre receba o dado IntroduçãoIntrodução Pág. 3 É garantir qualquer processador sempre receba o dado mais atual contido em qualquer cache para um mesmo endereço. Alunos: Junio eWagnerArquitetura de Computadores
  • 4. Problemas de coerência de cache aparecem mais comumente em sistemas que possuem mais de um processador. [1] Apresentação do ProblemaApresentação do Problema Pág. 4 Alunos: Junio eWagnerArquitetura de Computadores
  • 5. Apresentação do ProblemaApresentação do Problema 1. P1 realiza a leitura do dado X = 0. O dado é gravado na cache privada; 2. P2 realiza a leitura do dado X = 0. O dado é gravado na cache privada; 3. P1 realiza X = X + 1. O dado X = 0 é lido da cache privada, e X = 1 é então gravado; Pág. 5 Alunos: Junio eWagnerArquitetura de Computadores então gravado; 4. P2 realiza X = X + 3. O dado X = 0 é lido da cache privada, e X = 3 é então gravado. No passo 4, como P2 leu o dado X da cache privada, a alteração realizada por P1 no passo 3 não foi levada em conta; ocorre incoerência entre as caches devido à violação da condição chave acima.
  • 6. 1. Esquemas Simples: • Baseiam na limitação do tipo de dado que pode ir para a Como Resolver o Problema deComo Resolver o Problema de Coerência de CacheCoerência de Cache Pág. 6 • Baseiam na limitação do tipo de dado que pode ir para a cache, permitindo que apenas dados para leitura ou mesmo dados não-compartilhados (privados ao processador) possam ser armazenados na cache. Alunos: Junio eWagnerArquitetura de Computadores
  • 7. 2. Esquemas Baseados em Software e Hardware • Esquemas de Sofware: Como Resolver o Problema deComo Resolver o Problema de Coerência de CacheCoerência de Cache Pág. 7 • Esquemas de Sofware: Delega-se ao compilador ou ao sistema operacional a responsabilidade de garantir a coerência. A vantagem dos esquemas baseados em software é evitar que um outro hardware seja necessário para realizar o tratamento do problema de coerência. Alunos: Junio eWagnerArquitetura de Computadores
  • 8. 2. Esquema Baseado em Software e Hardware • Esquemas de Hardware: Detectam as condições de inconsistências, livrando Como Resolver o Problema deComo Resolver o Problema de Coerência de CacheCoerência de Cache Pág. 8 Detectam as condições de inconsistências, livrando completamente o SO, compilador e o programador do problema de coerência de cache. Alunos: Junio eWagnerArquitetura de Computadores
  • 9. Esquemas de Coerência Baseados em Software: São mais baratos, porém pode exigir um esforço extra do Sistema Operacional , do Compilador e por parte do programador. Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 9 Esquemas Implementados como parte do: Compilador (Rodam em tempo de compilação); SO (Rodam em tempo de execução); São divididas em duas Soluções; Estáticas Dinâmicas Alunos: Junio eWagnerArquitetura de Computadores
  • 10. Esquemas de Coerência Baseados em Software: Estáticas: Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 10 Resultam de ações realizadas durante a criação do programa, normalmente pelo compilador Dinâmicas: São soluções feitas em tempo de execução, por isso são baseadas em ações do sistema operacional Alunos: Junio eWagnerArquitetura de Computadores
  • 11. Exemplos: Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache -Controle de Versão -Timestamp -Ultracomputer Esquemas Estáticos Pág. 11 Alunos: Junio eWagnerArquitetura de Computadores -Coerência no Pedido de interrupção - One-time Identifier Esquemas Dinâmicos Baseados em Software Esquema de Coerência Baseados em Software
  • 12. Controle Versão (Estáticas) Cada nova escrita de um dado compartilhado gera uma nova versão de conteúdo. Os processadores incrementam o novo número a cada escrita que ocorra.[2] Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 12 novo número a cada escrita que ocorra.[2] Para todo acesso ao dado compartilhado, os números da cache e o corrente processador são comparados.[3] Caso a versão do processador seja maior que o da versão na cache. O processador esta trabalhando com o Dado corrento.[1] Alunos: Junio e WagnerArquitetura de Computadores
  • 13. Coerência no Pedido de Interrupção (Dinâmicas) Solução que utiliza a mesma idéia de memória virtual. Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 13 Ao se detectar um page fault, o hardware interrompe a execução chamando o sistema operacional para fazer o tratamento adequado.[3] Alunos: Junio eWagnerArquitetura de Computadores
  • 14. Protocolos de Coerência Baseados em Hardware: Utilizados principalmente em sistemas multiprocessadores . Tais protocolos lidam com a coerência em tempo de Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 14 Tais protocolos lidam com a coerência em tempo de execução, sendo assim considerados dinâmicos. [2] São mais complexos de implementar, pois são caracterizados pelo uso de recursos de baixo nível de arquitetura.[1] São Classificados em Snoopy e Directory Alunos: Junio eWagnerArquitetura de Computadores
  • 15. Protocolos de Coerência Baseados em Hardware: Protocolo Snoopy: (Protocolo de Monitoramento)[4] Responsabilidade de manter a coerência entre todos os caches; Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 15 Responsabilidade de manter a coerência entre todos os caches; Protocolo Singles Bus Utiliza duas Política: Write-Invalidade; Write-update; Alunos: Junio eWagnerArquitetura de Computadores
  • 16. Protocolos Snoopy (Singles bus “Write-Invalidade”) Permite ter um escritor e vários leitores; Uma escrita em um dado compartilhado gera uma Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 16 Uma escrita em um dado compartilhado gera uma invalidação de todas as cópias desse dado antes que a escrita se inicie Protocolos Snoopy (Singles bus “Write-update”) Atualiza todas as cópias do dado compartilhado antes de realizar a escrita Alunos: Junio eWagnerArquitetura de Computadores
  • 17. Protocolos de Coerência Baseados em Hardware: Protocolo Directory: (Protocolo de Monitoramento) Esquemas e Protocolos de CoerênciaEsquemas e Protocolos de Coerência de Cachede Cache Pág. 17 Protocolo Directory: (Protocolo de Monitoramento) Utilizam um controlador central para manter a coerência de cache; Guardam as informações das cópias de dados Utiliza um diretório na memória principal, onde armazena o estado global do conteúdo das varias caches Alunos: Junio eWagnerArquitetura de Computadores
  • 18. Devido ao crescimento de sistemas multiprocessados, o compartilhamento de memória torna-se um ponto importante para obter um bom desempenho de sua arquitetura, levando ConclusãoConclusão Pág. 18 a solucionar problemas de coerência de cache com a premissa de baixo custo Vs. Alto desempenho. Dando a origem a diversa soluções baseadas em software e hardware. Alunos: Junio eWagnerArquitetura de Computadores
  • 19. 1.Covacevive, Aleksey V.,Baldochi,B.Y., De Castro,F.R Coerência de Cache. Instituto de Computação – UNICAMP 2.Geiss, Lenise Cristina.Coerência de Cache em Multiprossedores.Instituto de Informática UFRGS 3. Da Costa,Andre L.N., Barbosa,Davi.M.J., Silva, Felipe S.S.Coerência de Cache: O Problema e Algumas Soluções. Instituto de Computação – UNICAMP ReferênciasReferências Pág. 19 Instituto de Computação – UNICAMP 4. M. M. K. Martin. Formal verication and its impact on the snooping versus directory protocol debate. Proceedings of the 2005 International Conference on Computer Design, pages 543-549, 2005. 5.Neves,Renato S., Coerência de Memórias Cache e Modelos de Consistência de Memória. Instituto de Computação – UNICAMP Alunos: Junio eWagnerArquitetura de Computadores