1 / 20

Coerência de Cache

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

reyna
Télécharger la présentation

Coerência de Cache

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Coerência de Cache MC722 - Projeto de Sistemas ComputacionaisProf Rodolfo Jardim de Azevedo André Costa 031198Felipe Sodré 032714Davi Barbosa 032136

  2. 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

  3. 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

  4. 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.

  5. 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

  6. 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."

  7. 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

  8. 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

  9. Write - invalidate Snoopy Write - update Hardware Full Map Directory Limited Directory Chained Directory Classificação das Soluções baseadas em Hardware

  10. 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.

  11. 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.

  12. 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.

  13. Protocolo write-once

  14. 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.

  15. Protocolo Firefly

  16. 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

  17. Protocolo de Coerência de Cache baseado em Diretório • Diretório Full-Map

  18. Protocolo de Coerência de Cache baseado em Diretório • Diretório Limitado

  19. Protocolo de Coerência de Cache baseado em Diretório • Diretório Ligado

  20. 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.

More Related