200 likes | 354 Views
Coerência de Cache. MC722 - Projeto de Sistemas Computacionais Prof Rodolfo Jardim de Azevedo André Costa 031198 Felipe Sodré 032714 Davi Barbosa 032136 . Tópicos. Motivação O Problema de coerência de cache Soluções em Software Soluções Estáticas Soluções Dinâmicas Soluções em Hardware
E N D
Coerência de Cache MC722 - Projeto de Sistemas ComputacionaisProf Rodolfo Jardim de Azevedo André Costa 031198Felipe Sodré 032714Davi Barbosa 032136
Tópicos • Motivação • O Problema de coerência de cache • Soluções em Software • Soluções Estáticas • Soluções Dinâmicas • Soluções em Hardware • Protocolos Snoopy • Protocolos de Diretório
Motivação • Aumento da freqüência dos processadores no limite físico • Solução:Multiprocessamento. • Memória cache: • Rápido acesso • Localidade Temporal e Espacial • Cache privado • Compartilhamento de Memória principal
O Problema • Múltiplas cópias em diferentes caches. • Uma das caches pode estar usando um dado ultrapassado. • Problema de Coerência de Cache: Procurar métodos que mantenham todas essas cópias sincronizadas.
O Problema Memória Compartilhada X : Memória Compartilhada X : 2 2 Cache Privada 2 X: Cache Privada 1 X: Cache Privada 1 X: Cache Privada 2 X: 2 P2 P1 P1 P2 Memória Compartilhada X : 6 Cache Privada 1 X: Cache Privada 2 X: 2 6 P1 P2
Soluções: Software x Hardware • Soluções baseadas em Software: • Mais baratos e pouca exigencia de hardware (Sistemas hibridos!) • Compilador e S.O. sofisticados, baixa taxa de HIT (baixa eficiencia). • Soluções baseadas em Hardware: • Eficiente e tráfego na rede reduzido . • Para muitos processadores, alta complexidade do hardware, alto custo de implementação. "Soluções baseadas em softwares são mais convenientes para grandes sistemas multiprocessadores por serem mais baratos, mas soluções em Hardware ainda são mais eficientes."
Software - Estática x Dinâmica • C.mmp page marking • Version Control • Timestamp • Ultracomputer • Estática: • Compilador, em tempo de compilação. • Dinâmica: • S.O., em tempo de execução. Estática Software • Coherence on interrupt • request • - One-time Identifier Dinamica
Soluções baseadas em Softwares • C.mmp page marking: • Solução trivial. • Compilador define dados cacheable e noncacheable. • Custo baixo de implementação e eficiencia extremamente baixa. • Version Control: • Número da versão atual (global) e Número da versão de nascimento (em cada linha do cache). • Números diferente, um read miss ocorrerá. • Localidade temporal, baixo o miss rate. Necessário hardware relativamente complexo. • Coherence on interrupt request: • Idéia da memória virtual, hardware armazena informações dos estado de páginas de memória • page fault, o hardware gera interrupção tratado pelo sistema operacional que utiliza estados das páginas de memória
Write - invalidate Snoopy Write - update Hardware Full Map Directory Limited Directory Chained Directory Classificação das Soluções baseadas em Hardware
Hardware - Políticas • Política de Write-Invalidation • As cópias em outras caches são invalidadas e causam um read-miss quando acessadas • Política de Write-Update • As cópias em outras caches são atualizadas.
Protocolos de Snoopy • Mantém a coerência através de mensagens de broadcast. • Tratamento distribuído. • Necessita de uma rede especial entre os processadores, e.g., barramento. • Com maior número de processadores e de escritas, sobrecarrega o barramento, se tornando inviável.
Protocolo write-once • Política de write-invalidate. • Mistura write-back com write-through. • Cada bloco de cache pode ser inválido, válido, reservado ou sujo. • Mensagens para invalidar todos as cópias de um bloco de memória.
Protocolo Firefly • Política de write-update • Barramento extra para comunicação entre as memórias caches. • Tenta diminuir a sobrecarga do barramento da memória. • Desenvolvido para o computador Firefly.
Protocolo de Coerência de Cache baseado em Diretório • Controle central com diretório • Sistema centralizado pode acarretar sobrecarregamento • Três categorias de diretórios: Full-Map, Limitado e Ligado
Protocolo de Coerência de Cache baseado em Diretório • Diretório Full-Map
Protocolo de Coerência de Cache baseado em Diretório • Diretório Limitado
Protocolo de Coerência de Cache baseado em Diretório • Diretório Ligado
Conclusão “A solução mais adequada para o problema de coerência de cache depende da sua arquitetura” Desafio: Desenvolver um protocolo especialmente para sua nova arquitetura. Exemplo: Firefly.