Multicore und Synchronisation
Lernen Sie anhand von Multiple-Choice-Fragen das MESI-Protokoll, Speicherkonsistenzmodelle, atomare Befehle wie CAS und LL/SC, Sperren und Speicherbarrieren, False Sharing und Data Races kennen.
Die Fragen zu diesem Thema folgen in Kürze.
Multicore und Synchronisation: Das Wichtigste
In einer Multicore-CPU teilen sich mehrere Kerne auf einem Chip denselben Speicher, während jeder seine eigenen Caches besitzt. Kohärenzprotokolle wie MESI verwalten die Zustände der Cache-Zeilen, damit kein Kern veraltete Daten weiterverwendet, nachdem ein anderer Kern sie geschrieben hat.
Darüber hinaus müssen Sie Speicherkonsistenzmodelle verstehen, die festlegen, in welcher Reihenfolge Schreibzugriffe für andere Kerne sichtbar werden, atomare Befehle, mit denen Kerne Werte sicher aktualisieren können, sowie Sperren (Locks) und Speicherbarrieren. Dieses Thema behandelt auch Fallstricke wie False Sharing und Data Races, durch die scheinbar korrekte Programme langsam laufen oder sich falsch verhalten.