Multicore und Synchronisation
Was trifft nicht als Ursache zu, dass die Leistung eines parallelen Programms bei mehr Kernen nicht wie erwartet steigt?
- AViel Synchronisation zwischen Threads, etwa Warten auf Sperren
- BEine große Ungleichverteilung der Arbeitsmenge je Thread
- CDass jeder Thread nur seine eigenen privaten Daten liest und schreibt
Antwort und Erläuterung anzeigen
Antwort: C. Dass jeder Thread nur seine eigenen privaten Daten liest und schreibt
Zu den Hauptursachen, die die Wirkung der Parallelisierung behindern, gehören nicht parallelisierbare Anteile (Amdahlsches Gesetz), Warten durch Sperren und Barrieren, das Hin- und Herwandern von Cache-Zeilen durch gemeinsame Daten und False Sharing, ungleiche Arbeitsverteilung und mangelnde Speicherbandbreite. Arbeitet jeder Thread nur mit seinen eigenen Daten, entstehen weder Kommunikation noch Warten mit anderen Threads, sodass man der idealen Parallelisierung nahekommt.