Académique Documents
Professionnel Documents
Culture Documents
Architectures parallèles
« Cohérence de cache»
1
Dr HALFAOUI Fadhila
Super-calculateur
Avantages:
• Permet de mettre en parallèle les ressources de plusieurs ordinateurs souvent
identiques afin de réduire le temps nécessaire afin d’effectuer une tâche ou un
calcul complexe.
Limites:
• Le coût!!!
• L’espace.
Définitions
Les caches L2 et L3 sont plus grands que L1, mais leur accès est plus long. Le cache
L2 fait parfois partie de la CPU, mais constitue souvent une puce séparée entre la
CPU et la RAM.
Cohérence de cache
La cohérence du cache est la cohérence des données de ressources
partagées, qui sont finalement stockées dans plusieurs caches locaux. Des
problèmes peuvent survenir avec des données incohérentes lorsque les clients
conservent des caches de ressources de mémoire communes,
particulièrement courantes pour les processeurs dans les systèmes
multiprocesseurs.
Chaque processeur possède une mémoire cache distincte dans un système
multiprocesseur à mémoire partagée. Il est susceptible d'avoir de nombreuses
copies des données partagées : une copie dans la mémoire principale et une
dans le cache local de chaque processeur.
Si l'une des copies des données change, les autres copies doivent refléter le
changement.
Cohérence de cache
P1 P2 P3
Quelle valeur
X=64
Cache Cache de X?
Cache
X=24 X=24
Mémoire
X=24
Cohérence de cache :Causes
Définition
La cohérence du cache est la discipline qui garantit que les changements dans les
valeurs des opérandes partagés sont propagés dans tout le système.
Liaison : Processeur – Cache -
Mémoire
Le cache contient des copies (blocs) de la mémoire principale. Quand le
processeur veut lire/ecrire un mot en Mémoire principale, une vérification est faite
en consultant le tag du cache pour savoir si le mot cherché est en cache ou non
LRU (Least Recently Used) : Remplace le bloc le plus ancien (le moins
récemment utilisé),
FIFO (First-In First-Out): Remplace le premier bloc entré dans la file d’attente
Les deux protocoles de cohérence les plus utilisés sont les suivants:
• Ecrire et mettre à jour: Dans ce système, lorsqu'un processeur écrit sur une ligne
de cache, toutes les copies dans les différents caches sont mises à jour.
Protocoles de cohérence matériels :
Snooping : esprionnage
Le snooping est un processus dans lequel les caches individuels surveillent les lignes
d'adresse pour accéder aux emplacements de mémoire qu'ils ont mis en cache. C'est
ce qu'on appelle un protocole d'invalidation d'écriture. Lorsqu'une opération d'écriture
est observée dans un emplacement dont un cache possède une copie et que le
contrôleur de cache invalide sa propre copie de l'emplacement de mémoire espionné.
Mécanismes de cohérence :
:
Si le bloc du cache n’avait pas été modifié, sa mise à jour n’est pas nécessaire
avant son remplacement.
Si le bloc du cache avait été modifié (au moins par une opération d’écriture), sa
mise à jour est nécessaire avant son remplacement. Deux stratégies sont utilisées
pour s’assurer que les contenus des deux blocs sont cohérents
Stratégies d’écriture (Pour la
cohérence d’information)
Write-Through : A chaque opération d’écriture dans le bloc du cache, le bloc
mémoire correspondant est mis à jour.
• Possédé
Il indique que le processeur actuel est propriétaire de ce bloc et traitera les
requêtes d’autres processeurs pour le bloc.
• Exclusif
Cela indique que la ligne de cache est présente uniquement dans le
cache actuel et qu’elle est propre, c’est-à-dire que sa valeur correspond à
la valeur de la mémoire principale.
Protocole de cohérence de cache