la mauvaise cohérence est
le problème naturel qui se développe lorsque l'ensemble des données d'un
système est accessible et modifié par de multiples agents. Le principal domaine
de l'architecture informatique où cela devient un problème dans les ordinateurs
multiprocesseurs. Chaque processeur dans un ordinateur multiprocesseur possède sa propre mémoire qui cache, charge et stocke des informations
provenant de la mémoire à accès aléatoire (RAM). Lorsque deux processeurs
accèdent à la même zone de la mémoire, de la cohérence de cache serait perdu si
certaines précautions ne sont pas prises.
Sans cohérence de cache, un système multiprocesseur serait
incapable de fonctionner. Il existe plusieurs méthodes qui ont été développées
afin de résoudre ce problème et éviter d'éventuels problèmes. Cohérence basée
sur le répertoire, IGMP et snarfing existe trois méthodes qui sont utilisées
pour prévenir la perte de cohérence de cache.
La cohérence à base fonctionne comme un filtre, afin
d'assurer la cohérence. Les données sont placées dans une partie de la mémoire
qui est accessible à tous les processeurs. Lorsque l'information qui est
stockée dans cette zone de la mémoire est modifiée, le système soit mettre à
jour les caches ou les invalider.
Snooping nécessite le processeur pour surveiller tous les
accès aux emplacements de mémoire qui ont été mis en cache. Cela permet au
processeur de savoir quand une opération d'écriture s'est produite. En sachant
quand une opération d'écriture se produit, le processeur peut mettre à jour son
cache.
Snarfing est assez similaire à l'espionnage. Snarfing
implique non seulement de contrôler les accès à des emplacements de mémoire qui
ont été mis en cache, mais aussi contrôler l'information réelle qui est stocké
dans la mémoire. Quand une écriture de mémoire se produit, le cache peut être
mis à jour avec les nouvelles informations.
Les systèmes de cohérence basée sur le répertoire ont une
latence relativement élevée, qui entraîne un traitement plus lent. Réduction
des besoins de bande passante permettent aux systèmes de cohérence à base de
répertoire pour être pratique dans des applications à grande échelle de
cohérence de cache. Les plus de processeurs que le système utilise, plus les
avantages qu'elle peut avoir de l'aide d'un système de cohérence basée sur le
répertoire.
Snooping est une méthode beaucoup plus rapide. Cette méthode
nécessite plus de bande passante que l'approche basée sur le répertoire. Cette
méthode peut être utilisée efficacement dans des systèmes qui ont relativement
peu de processeurs.
Snarfing n'est généralement pas utilisé comme une méthode de
maintien de la cohérence de cache. C'est principalement parce que snarfing
nécessite davantage de ressources soient utilisées par rapport à la fois à
l'espionnage et méthodes basée sur le répertoire. Pour un système snarfing à
travailler, il doit assurer le suivi à la fois des adresses de mémoire et les
données mémorisées dans les zones de mémoire. La quantité de bande passante et
le traitement qui est repris par cette méthode, il est souhaitable pour la
plupart des applications de maintien de la cohérence de cache.
Ecrit par: Adrem Siratt
Edité par: A. Joseph