Empirische Untersuchung zum Einsatz des Future-Datentyps zur automatischen Parallelisierung

  • Type:Studienarbeit
  • Date:31.08.2012
  • Supervisor:

    Dipl.-Inform. Korbinian Molitorisz

  • Person in Charge:Christopher Jung
  • Links:Links_bearbeiten
  • Die aktuelle Forschung stellt viele Ansätze zur automatischen und teilautomatischen Parallelisierung von speziellem Programmcode vor, es wird jedoch nicht auf deren Nutzen in Allgemeinsoftware eingegangen. Diese Studienarbeit soll Aufschluss über Auftrittshäufigkeit und Beschleunigungspotenzial auf der Basis des Future-Datentyps geben. Dazu wurden in einer Vorstudie 3 Anwendungsfälle identifiziert und deren Auftrittshäufigkeit und Beschleunigungspotential in Produktivsoftware analysiert. Um die angestrebte Analyse auf einer möglichst großen Menge von Quellcode durchführen zu können, wurden die 3 Anwendungsfälle in Open Source-Projekten identifiziert und ein Werkzeug entwickelt, welches eine automatische Identifizierung relevanter Codestellen ermöglicht. Mit diesem Werkzeug wurden rund 131.000 Zeilen Quelltext automatisch durchsucht und die identifizierten Codestellen hinsichtlich Auftrittshäufigkeit, Korrektheit und Beschleunigungspotenzial ausgewertet. Ein Anwendungsfall konnte im Durchschnitt 4 Mal pro 1000 Codezeilen bzw. 4 Mal pro 300 Programmanweisungen gefunden werden, von denen jeweils einer sogar korrekt war und die Programmausführung beschleunigte. Durch exemplarische Parallelisierung einiger dieser Fälle konnten Speedups von bis zu 1,6 auf 2 Kernen, sowie bis zu 2,3 auf 8 Kernen gemessen werden.