Multicore und Synchronisation
Welche Aussage zur in parallelen Programmen verwendeten Barrierensynchronisation ist richtig?
- ASie schafft einen Programmteil, den nur ein Thread gleichzeitig betreten darf
- BSie lässt früher eintreffende Threads warten, bis alle Threads diesen Punkt erreicht haben
- CSie ist ein Befehl, der die Umordnung von Speicheroperationen verhindert
Antwort und Erläuterung anzeigen
Antwort: B. Sie lässt früher eintreffende Threads warten, bis alle Threads diesen Punkt erreicht haben
In Simulationen u. Ä. müssen alle Threads die Berechnung eines Schritts abgeschlossen haben, bevor zum nächsten Schritt übergegangen wird. Bei der Barrierensynchronisation hält jeder Thread am Barrierenpunkt an, und sobald der letzte Thread eintrifft, laufen alle weiter. Ist der Rechenaufwand ungleich verteilt, warten schnelle Threads länger auf langsame, weshalb eine gleichmäßige Arbeitsaufteilung für die Leistung wichtig ist.