Optimization Techniques Flashcards
Welche Regel gibt es beim Durchlaufen von Caches?
Beim Durchlaufen des Speichers Adressabstände, die eine Potenz von zwei sind, vermeiden
Welche wichtigen Cache optimizations gibt es?
Loop interchange
Array padding
Tiling
Für wen und warum ist Cache optimization wichtig?
Besonders wichtig für Parallelrechner (UMA und NUMA), da es einen großen Unterschied zwischen den Zugriffszeiten von Cache und Hauptspeicher gibt
Was ist False Sharing?
Mehrere Variablen, die keinen logischen Zusammenhang haben, können (zufällig) in der gleichen Cache-Zeile liegen. Schreibzugriffe auf diese Variablen führen zu häufigen Cache Ungültigkeiten und die Leistung verschlechtert sich drastisch
Wie kann man False Sharing vermeiden?
Indem man Variablen, die von verschiedenen Prozessen verwendet werden im Hauptspeicher separiert (z.B. durch Padding)