Frage

Ich möchte den Leistungsaufwand aufgrund von TLB-Fehler auf einer X86-64-Maschine (Intel nehalem), die Linux läuft, schätzen. Ich möchte diesen Schätzung mit einigen Leistungsstaaten erhalten. Hat jemand einige Hinweise auf? Wie ist der beste Weg, dies zu schätzen?

Danke Arka

War es hilfreich?

Lösung

Wenn Sie Zugriff auf ein "Westmere" -System erhalten, sollten die Leistungseigenschaften Ihres Codes dem "Nehalem" sehr ähnlich sein, aber Sie haben Zugriff auf ein neues Hardware -Performance -Zähler, das fast genau das misst, was Sie wollen.

Auf Westmere ist die beste Schätzung der Leistung, die während des Wartens auf die Handhabung von TLB -Fehlern verloren ist Gehen Sie aufgrund einer Ladungsfehlerin im zweiten Level TLB ". Dies ist in "Intel® 64 und IA-32 Architektures Software Developer's Manual Volume 3B: System Programming Guide, Teil 2" (Dokumentnummer: 253669) beschrieben, online unterhttp://www.intel.com/content/ww/us/en/architecture-and-technology/64-ia-32-architektures-software-developer-vol-3b-part-2-manual.html

Der Grund, warum dieses Ereignis erforderlich ist, ist, dass die Verarbeitungszeit von TLB Miss der Zeit dominiert wird, die zum Lesen der Cache -Zeile, die den Seiteneintragstabelle enthält, erforderlich ist. Wenn sich diese Cache -Linie im L2 -Cache befindet, ist der Overhead eines TLB -Fehlers sehr klein (in der Größenordnung von 10 Zyklen). Wenn sich die Linie im L3 -Cache befindet, dann vielleicht 25 Zyklen. Wenn sich die Linie im Speicher befindet, dann ~ 200 Zyklen.

  • Wenn es auch einen Fehlschlag in den Übersetzungs-Caches der oberen Ebene gibt, werden mehrere Reisen zum Speicher benötigt, um den gewünschten Seitenstabentabelleneintrag (z. B.,, abzurufen. https://stackoverflow.com/a/9674980/1264917).
  • Bei einigen Prozessoren können die L2 -Cache -Zähler Ihnen sagen, wie viele Tischwanderungen im L2 getroffen und verpasst wurden, jedoch nicht auf Nehalem. (In diesem Fall würde es nicht viel helfen, da TLB -Spaziergänge, die im L3 getroffen werden, auch ziemlich schnell sind und die TLB -Spaziergänge, die in Erinnerung bleiben müssen, wirklich wollen.)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top