domingo, 29 de enero de 2012

COHERENCIA CACHE


La coherencia de cache hace referencia a la integridad de los datos almacenados en las caches locales de los recursos compartidos. La coherencia de la cache es un caso especial de lacoherencia de memoria.

En particular las CPUs en un multiprocesador, mantienen caches de una memoria compartida.
→Los protocolos:
Los protocolos basados en directorio mantienen los bloques que hay en las caches. Se utilizan tanto en multiprocesadores con memoria físicamente distribuida, como en sistemas con memoria centralizada con red escalable. Estos protocolos de mantenimiento de coherencia reducen el tráfico en la red enviando selectivamente órdenes sólo a aquellas caches que disponen de una copia válida del bloque implicado en la operación de memoria.


El protocolo Snoopy hace que las caches individualmente monitoreen las líneas(buses) de direcciones de accesos a memoria con respecto a los bloques que han copiado. Cuando una operación de escritura es observada sobre una dirección de un bloque del cual tiene un bloque, el controlador de cache invalida su copia. También es posible que el controlador de cache observe la dirección y el dato correspondiente a esa dirección, intentando así actualizar su copia cuando alguien modifica dicho bloque en la memoria principal.


El protocolo de memoria distribuida imita a los anteriores en un intento de mantener la consistencia entre bloques de memoria en sistemas con débil acoplamiento.
Varios modelos y protocolos han sido desarrollados para mantener la coherencia de la cache, tales como protocolo MSIprotocolo MESIprotocolo MOSI y el protocolo MOESI. La elección de un modelo de consistencia es crucial a la hora de diseñar un sistema de cache coherente. Los modelos de coherencia difieren en rendimiento y escalabilidad, por lo que deben ser evaluados para cada sistema diseñado.
  









No hay comentarios:

Publicar un comentario