Leistungsbewertung und Profiling

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?

  1. ADie CPU steht lange wegen Speicherwartezeiten. Durch geänderte Datenanordnung oder Blocking wird der Cache effektiv genutzt
  2. BDie Berechnung ist zu schnell. Die Frequenz wird erhöht
  3. CEs gibt zu wenige Verzweigungen. Verzweigungen werden hinzugefügt
Antwort und Erläuterung anzeigen

Antwort: A. Die CPU steht lange wegen Speicherwartezeiten. Durch geänderte Datenanordnung oder Blocking wird der Cache effektiv genutzt

Heutige CPUs können mehrere Befehle pro Zyklus ausführen; ein IPC von 0,3 bedeutet daher, dass die meiste Zeit auf etwas gewartet wird. Bei vielen Fehlzugriffen im letzten Cache-Level ist anzunehmen, dass lange auf Daten aus dem Hauptspeicher gewartet wird. Wirksam ist, Cache-Fehlzugriffe zu verringern, indem Daten an aufeinanderfolgenden Adressen angeordnet werden, die Schleifenreihenfolge geändert wird oder dieselben Daten per Blocking mehrfach genutzt werden.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Leistungsbewertung und Profiling

  1. Mit Leistungszählern wurde festgestellt, dass sehr viele Verzweigungen falsch vorhergesagt werden. Welche Verbesserungsmethode trifft zu?
  2. Welche Hauptkategorien teilen bei der Top-down-Analyse (Top-down Microarchitecture Analysis) mit Leistungszählern die Nutzung der Befehlsverarbeitungs-Slots der CPU ein?
  3. Das Programm ist langsam, doch die CPU-Auslastung war mit etwa 20 % niedrig. Was ist die wahrscheinlichste Ursache?
  4. 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?
  5. Welche Richtung zur Leistungssteigerung ist richtig, wenn sich im Roofline-Modell zeigt, dass eine Verarbeitung im durch die Speicherbandbreite begrenzten Bereich liegt?