Symbolic Performance Modeling

Aus SDQ-Wiki
Ausschreibung (Liste aller Ausschreibungen)
Typ Masterarbeit
Aushang MA Symbolic Performance Modeling.pdf
Betreuer Wenden Sie sich bei Interesse oder Fragen bitte an:

Larissa Schmid (E-Mail: larissa.schmid@kit.edu, Telefon: +49-721-608-45981)

Thema

Motivation

Um aufwändige Materialsimulationen effizient durchführen zu können, wird massiv parallele Software genutzt. Für jede Simulation, die durchgeführt werden soll, muss eine neue Konfiguration der Software ausgewählt werden. Diese Konfiguration besteht aus dem zu simulierenden Material, zu verwendenden Algorithmen sowie deren Parametern. Dabei ist jedoch unklar, wie sich die einzelnen Konfigurations-Optionen auf die Performance der Anwendung auswirken. Insbesondere ist nicht klar, welche Optionen in welchem Teil der Ausführung die Performance maßgeblich beeinflussen. Symbolische Ausführung liefert mögliche Wertebereiche für Variablen an gewünschten Stellen der Ausführung zurück. Mithilfe dieser Wertebereiche können Rückschlüsse über die Relevanz der diese Variablen beeinflussenden Konfigurations-Optionen gezogen werden.

Aufgabenstellung

In dieser Arbeit soll untersucht werden, ob mithilfe statischer Analyse und symbolischer Ausführung erkannt werden kann, ob und an welchen Stellen im Code Konfigurations-Optionen einen relevanten Einfluss auf die Performance haben. Teilaufgaben der Arbeit sind:

  • Untersuchen, inwiefern bereits vorhandene Frameworks zur statischen Analyse und symbolischer Ausführung genutzt werden können (Frameworks: VarA/Phasar)
  • Integration des Ansatzes in bestehenden Performance-Modellierungs-Workflow
  • Evaluation des Vorgehens anhand einer Fallstudie

English Translation

Motivation

Massively parallel software is used to efficiently perform complex material simulations. For each simulation to be performed, a new configuration of the software must be selected. This configuration consists of the material to be simulated, algorithms to be used, and their parameters. However, it is unclear how each configuration option affects the performance of the application. In particular, it is not clear which options in which part of the execution significantly affect the performance. Symbolic execution returns possible ranges of values for variables at desired points in execution. With the help of these value ranges, conclusions can be drawn about the relevance of the configuration options influencing these variables.

Task

The purpose of this work is to investigate whether static analysis and symbolic execution can be used to detect whether and at which points in the code configuration options have a significant impact on performance. Subtasks of the work are:

  • Investigate the extent to which existing frameworks for static analysis and symbolic execution can be leveraged (Frameworks: VarA/Phasar).
  • Integration of the approach into an existing performance modeling workflow
  • Evaluation of the approach based on a case study