Softwarekonferenz für parallele
und hochperformante Programmierung
Heidelberg, Print Media Academy, 19.–22. Februar 2019

// Dynamic Threading Analysis for Hybrid Applications

Mit zunehmender Nebenläufigkeit in Anwendungen steigt die Anzahl der Fehler, welche fehlender Synchronisierung geschuldet sind (Race-Condition). Allerdings lassen sich diese mittels Testen nur unzureichend ermitteln, da sie nur sporadisch auftreten.
In diesem Umfeld haben sich Data-Race-Detektoren als sehr nützlich erwiesen, die allerdings einen hohen Laufzeit-Overhead zur Folge haben.

Im Vortrag präsentieren wir einen neuartigen dynamischen Data-Race Detektor, der mit Fokus auf einen möglichst geringen Overhead entwickelt wurde. Hierbei demonstrieren wir mehrere Techniken basierend auf Sampling und Scoping um diesen weiter zu reduzieren. Des Weiteren zeigen wir einen Proof of Concept zur Analyse von hybriden Anwendungen, welche aus nativem und Dotnet Code bestehen.

Die aufgezeigten Ansätze sind im Open-Source Tool "DRace" implementiert, das zur Analyse von Windows Applikationen bereitsteht.

Vorkenntnisse
* Parallele Programmierung
* Grundkenntnisse in Assembler

Lernziele
Dieser Vortrag gibt einen Überblick über Data-Race-Erkennung im Allgemeinen, sowie Techniken zur Reduzierung des Laufzeit-Overheads.
Hörer mit Grundkenntnissen in Assembler lernen Techniken kennen, eine Anwendung zur Laufzeit zu verändern (Instrumentieren).


// Felix Jonathan Mößbauer Felix Jonathan Mößbauer

ist C++-Entwickler für HPC-Software-Bibliotheken an der LMU München. Im Rahmen seiner Masterarbeit hat er sich bei der Siemens AG dem Thema Data-Race-Erkennung unter Windows gewidmet.