Multicore und Synchronisation
Kohärenzprotokolle gibt es als Invalidierungstyp und als Update-Typ. Was ist der treffendste Grund, warum viele CPUs den Invalidierungstyp verwenden?
- AWeil schreibt derselbe Kern mehrfach in dieselbe Zeile, nur die erste Invalidierung nötig ist und wenig Kommunikation anfällt
- BWeil beim Update-Typ andere Kerne veraltete Werte lesen
- CWeil sich beim Invalidierungstyp die Cache-Kapazität verdoppelt
Antwort und Erläuterung anzeigen
Antwort: A. Weil schreibt derselbe Kern mehrfach in dieselbe Zeile, nur die erste Invalidierung nötig ist und wenig Kommunikation anfällt
Der Update-Typ sendet bei jedem Schreiben den neuen Wert an die Kopien anderer Kerne; das ist vorteilhaft, wenn andere Kerne ihn bald lesen, doch schreibt ein Kern aufeinanderfolgend, fällt jedes Mal Kommunikation an. Beim Invalidierungstyp kann nach dem ersten Schreiben, das die anderen Kopien ungültig macht, in die Zeile im M-Zustand ohne Kommunikation geschrieben werden. Da in realen Programmen häufig aufeinanderfolgend geschrieben wird, ist der Invalidierungstyp üblich.