HOME | ENGLISH | IMPRESSUM | KIT

Bachelorarbeit (abgeschlossen): Besser Benchmarken

Für Compilerbauer ist ein performance benchmark in der finalen Evaluation ein Muss. Allerdings ist Benchmarken auf modernen Architekturen und Betriebssystemen gar nicht so einfach, da viele Störfaktoren die Messungen verzerren. Statistik kann helfen, indem die Signifikanz berechnet wird und gegebenfalls mehr Messungen durchgeführt werden. Richtige Konfiguration der Messumgebung kann helfen, indem beispielsweise dynamic frequency scaling deaktiviert wird. Manche Einflüsse sind überraschend. Beispielsweise beinflusst die Länge von Umgebungsvariablen die Performance, weil es das stack alignment verändert.

Hier ein paar Fragen zum Einstieg:

  • Welche Caches sollte man wie flushen, disablen oder aufwärmen?
  • Welche Stromsparfunktionen sollte man deaktivieren oder umkonfigurieren?
  • In welcher Reihenfolge sollten die Tests laufen?
  • Beeinflusst das Netzwerk die Ergebnisse bei Compilerbenchmarks?
  • Wie stark ist der Einfluss des Linux Schedulers?
  • Woher kommen Ausreißer?
  • Welche Testparameter müssen festgehalten werden? Kernelversion? Link order?
  • Welche statistischen Signifikanztests sind angebracht?
  • Wie automatisiere ich das Ganze?

Aufgabe:

Traurigerweise üblicherweise wird nur der Durchschnitt ohne Standardabweichung betrachtet. Ziel dieser Arbeit ist die Varianz solcher Messungen insbesondere von libFirm zu bestimmen und systematisch zu verringern.

Ergebnis siehe Github temci

Voraussetzungen

  • Erfahrung mit Linux, C Compilern und Python Scripts
  • Vorkenntnisse oder zumindest Interesse an Statistik
  • Geduld für länger Benchmarkings
  • Eigeninitiative verschiedene Möglichkeiten zu erkunden

Arbeitsumgebung

Schlüsselworte

compiler,benchmark,statistik 

Veröffentlichungen

Veröffentlichung
Besser Benchmarken

Betreuer

Wissenschaftliche Mitarbeiter
Andreas Zwinkau

Studenten

Ehemalige Studenten