Leistungsbewertung und Profiling

Was ist ein Beispiel für Größen, die mit den in die CPU integrierten Leistungszählern (PMU) gezählt werden können?

  1. AZahl ausgeführter Befehle, Zahl der Cache-Fehlzugriffe, Zahl falsch vorhergesagter Verzweigungen usw.
  2. BZahl der Personen, die das Programm geschrieben haben
  3. CZahl der Tasten der Tastatur
Antwort und Erläuterung anzeigen

Antwort: A. Zahl ausgeführter Befehle, Zahl der Cache-Fehlzugriffe, Zahl falsch vorhergesagter Verzweigungen usw.

Leistungszähler sind Hardwarezähler, die verschiedene Ereignisse in der CPU zählen. Aus Zyklenzahl und Befehlszahl lässt sich IPC bestimmen, und auch die Zahl der Cache-Fehlzugriffe jeder Stufe, der TLB-Fehlzugriffe und der Fehlvorhersagen von Verzweigungen ist erkennbar. Mit Werkzeugen wie Linux perf kann beim Ausführen eines Programms gezählt werden; sie liefern Anhaltspunkte, ob die Zeit durch Speicher, Verzweigungen oder die Berechnung selbst verursacht wird.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Leistungsbewertung und Profiling

  1. Die Messung mit Leistungszählern ergab für ein Programm ein sehr niedriges IPC (Befehle pro Zyklus) von 0,3 und viele Fehlzugriffe im letzten Cache-Level. Welche Kombination aus wahrscheinlichster Situation und Gegenmaßnahme ist richtig?
  2. Mit Leistungszählern wurde festgestellt, dass sehr viele Verzweigungen falsch vorhergesagt werden. Welche Verbesserungsmethode trifft zu?
  3. Welche Hauptkategorien teilen bei der Top-down-Analyse (Top-down Microarchitecture Analysis) mit Leistungszählern die Nutzung der Befehlsverarbeitungs-Slots der CPU ein?
  4. Das Programm ist langsam, doch die CPU-Auslastung war mit etwa 20 % niedrig. Was ist die wahrscheinlichste Ursache?
  5. Um zu prüfen, ob ein Programm rechen- oder speichergebunden ist, wurde die Ausführungszeit bei unterschiedlicher CPU-Frequenz gemessen. Welches Ergebnis ist bei Speichergebundenheit im Allgemeinen zu erwarten?