Multicœur et synchronisation
Les protocoles de cohérence se divisent en protocoles par invalidation et par mise à jour. Quelle est la raison la plus appropriée pour laquelle la plupart des CPU adoptent l’invalidation ?
- ALorsqu’un même cœur écrit plusieurs fois dans la même ligne, une seule invalidation initiale suffit et les échanges sont réduits
- BAvec la mise à jour, les autres cœurs lisent l’ancienne valeur
- CL’invalidation double la capacité du cache
Afficher la réponse et l'explication
Réponse : A. Lorsqu’un même cœur écrit plusieurs fois dans la même ligne, une seule invalidation initiale suffit et les échanges sont réduits
La mise à jour envoie la nouvelle valeur aux copies des autres cœurs à chaque écriture ; c’est avantageux si les autres cœurs lisent aussitôt, mais un cœur qui écrit en continu génère un échange à chaque fois. Avec l’invalidation, une fois les autres copies invalidées lors de la première écriture, la ligne en état M peut être écrite sans échange. Les programmes réels écrivant souvent en continu, l’invalidation est la règle.
Continuer : 9 autres questions sur Multicœur et synchronisation