Академический Документы
Профессиональный Документы
Культура Документы
Em computadores com mais de um processador operando, comum e exclusivo dessas plataformas o problema de incoerncia de cache. Que quando mltiplas cpias de uma mesma posio de memria podem vir a existir em caches diferentes ao mesmo tempo. Sendo assim, cada processador pode atualizar sua cpia local, no se preocupando com a existncia de outras cpias da mesma posio em outros processadores. Se essas cpias existirem, cpias de um mesmo endereo de memria podero possuir valores diferentes, o que caracteriza uma situao de inconsistncia de dados. Uma alternativa para eliminar completamente o problema seria no permitir que dados compartilhados para operaes de escrita sejam colocados nas caches do sistema. Estratgias de coerncia de cach o Uma operao de escrita em uma posio da cache resulta na atualizao de outras cpias desse mesmo dado em outras caches do sistema (write-update). Esta estratgia tem naturalmente um custo mais alto, especialmente em mquinas com muitos processadores, mas faz com que um novo acesso a essas cpias seja resolvido em nvel de cache.
o Uma operao de escrita em uma posio da cache resulta na invalidao de outras cpias desse mesmo dado em outras caches do sistema (write-invalidate). Esta estratgia tem um custo menor, mas resulta em uma maior latncia de acesso. As duas estratgias resolvem o problema, impedindo que sejam geradas mltiplas cpias diferentes da mesma posio de memria. Se os processadores que estavam usando as cpias antes de serem atualizadas fizerem novos acessos a esses dados, o custo das atualizaes vai ter valido a pena. Se os processadores no utilizarem esses dados novamente, o trfego gerado pelas atualizaes s onerou a rede de interconexo e no teve utilidade, neste caso, a invalidao eliminaria as cpias antigas e acabaria com uma situao de compartilhamento aparente. Protocolos de coerncia de cache: o Snoopy Distribui a responsabilidade de manter a coerncia entre todos os cachs; Envia todos os requests de dados para todos os processadores; Processadores verificam se eles tm uma cpia e respondem; Requer broadcast, j que informaes cacheadas esto nos processadores; Trabalha bem com barramento (broadcast natural); Domina as implementaes para mquinas pouco escalveis (maioria no mercado); o Diretrio Coleta e mantm informaes sobre onde as cpias dos blocos residem; Controlador central; Quando um cache local faz uma solicitao, o controlador central verifica e emite os comandos necessrios para a transferncia de dados entre o cache e a memria principal, ou entre os caches, mantendo atualizadas as informaes de estado global; Acessos exclusivos a dados; Escrita: Invalidao de outras cpias. Leitura: Solicita ao dono do dado que escreva os dados atualizados na memria. o Firefly Utiliza a poltica de write-update cuja principal idia uma cache que detecta quando outra cache compartilha um bloco de memria.
Quando uma cache atualiza a memria principal, todas as outras caches que possuem esse bloco espionam a transferncia e atualizam seus blocos.