Available Theses

Title Student(s) Supervisor Description
Parallelisierung von Programmen mit einfachem Parallelismus
1 Thomas Fahringer details
Automatische Analyse für Parallele Programme 1 Thomas Fahringer details
Betriebssystem Services und Visualisierung 1 Thomas Fahringer details
Parallel Numerical Recipes in OpenMP and OpenCL 1 Thomas Fahringer details
Online Betriebskosten- und Mietabrechnung 1 Thomas Fahringer details

Title Parallelisierung von Programmen mit einfachem Parallelismus
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit ist die Parallelisierung von “embarrassingly” parallelen Programmen, wie z.B. geometrische Transformationen von Bildern, Mandelbrot Programm und eine Monte Carlo Methode. Diese Programme enthalten einfachen Parallelismus, der mit pthreads und OpenMP parallelisiert und auf einem am Institut verfügbaren Parallelrechner mit gemeinsamem Speicher ausgeführt werden soll.
Tasks
  •  Serielle Entwicklung von 3 einfachen Codes (z.b.b geometri. Transformation von Bildern, Mandelbrotprogramm, Monte Carlo Methode)
  •  Parallelisierung mit pthreads und OpenMP.
  •  Performance Messungen für unterschiedliche Eingabedaten und für verschiedene Prozessorzahlen mit einem Performance Tool, z.B. Tau
  •  Visualisierung und Interpretation der Performance Messungen
  • einfache Komplexitätsanalyse für die parallelen und seriellen Programme
Theoretical skills einfaches Verständnis für Komplexitätsanalyse
Practical skills C, C++
Additional information

Title Automatische Analyse für Parallele Programme
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit ist ein Werkzeug für die automatische Abhängigkeitsanalyse ausgehend von einer Eingabemaske für geschachtelte Schleifen. Die Abhängigkeitsanalyse soll für eine geschachtelte Schleife feststelle um welche Datenabhängigkeit es sich handelt (true, anti, output, input). Zusätzlich soll der Direction Vector und und die Distanz der Abhängigkeit angegeben werden. Daneben soll noch eine Prediction für die Anzahl der Cache Misses für das Schleifennest erstellt werden. Die Aufgabe kann mit einer beliebigen Programmiersprache entwickelt werden. Die zu untersuchenden Programme sollen C Programme sein.
Tasks
  • Studieren der Datenabhängigkeitsanalyse zur Feststellung ob eine Schleife parallel oder seriell ausgeführt werden kann bzw. muss.
  • Studieren eines vorgegebenen analytischen Algorithmus zur Abschätzung der Anzahl der Cache Misses für geschachtelte Schleifen.
  • Visualisierung der Ergebnisse.
  • Eingabeformat der zu analysierenden Codeteile soll entworfen werden.
Theoretical skills Datenabhängigkeitsanalyse (z.B. polyhedral library, omega test, etc.).
Vorkenntnisse zur Parallelisierung von Programmen
Practical skills scripting Sprache, C oder C++
Additional information

Title Betriebssystem Services und Visualisierung
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit ist die Entwicklung von einigen Standard-Services aus Betriebssysteme (z.B. Prozessscheduling, Deadlocks, Seitenersetzungsverfahren).
Es sollen beliebige Eingabedaten vom Benutzer eingegeben werden können, um die Services zu testen. Eine Visualisierung soll verschiedene Verfahren (z.B. Prozessscheduling) miteinander vergleichen.
Die Aufgabe kann auch als Web-Anwendung realisiert werden.
Tasks
  • Studieren von mehreren Betriebssystemalgorithmen, die in der Vorlesung vorgestellt worden sind.
  • Implementieren einer sinnvollen Schnittstelle für die Eingabedaten.
  • Visualisierung der Ergebnisse.
  • Eventuell als Web-Anwendung zu realisieren.
Theoretical skills Inhalt der Vorlesung Betriebssysteme
Practical skills  C, C++ oder Java
Additional information

Title Parallel Numerical Recipes in OpenMP and OpenCL
Number of students 1
Language English or German
Supervisors Thomas Fahringer
Description Hardware performance is usually benchmarked by executing programs stressing different computing units. Nowadays, in the multi- and many- core era, computational resources are composed of more and more cores/processing units, opening a new era for programmers, who must adapt their sequential codes for exploiting the performance offered by these new parallel architectures. In this sense, today’s programmers should not restrict themselves to CPU, but they also must target other architectures like GPU or co-processors (like Intel Phi). The purpose of this thesis is to implement a repository composed of several numerical recipes using OpenMP and OpenCL. This repository will be further used for benchmarking different parallel architectures. Additionally, comparisons between OpenMP and OpenCL implementations shuuld be provided.
Tasks
  • Study numerical receipts codes
  • Analyse dependences
  • Provide OpenMP and OpenCL implementations of the numerical receipts
  • Validate the parallel implementations
  • Benchmarking and comparing several architectures
Theoretical skills
Practical skills
Additional information Bibliography: Willian H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery. Numerical Recipes in C. Second Edition.

Title Online Betriebskosten- und Mietabrechnung
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Es soll eine automatische Betriebskosten- und Mietabrechnung für eine größere Zahl von Mietwohnungen implementiert werden. Dabei soll ein online Zugriff auf diverse Verbraucherpreisindexe durchgeführt werden, um eine etwaige Erhöhung der Miete automatisch zu melden und zu verrechnen. Das System soll gesichert werden, sodass nur durch autorisierte Personen Zugriff erfolgen kann. Die Daten sollen in einer Datenbank gesichert werden.
Tasks
  •  Online Webapplikation
  • Verrechnung von Mieten und Betriebskosten gegliedert in verschiedene Steuersätze
  • Online Zugriff auf Verbraucherpreisindexwerte
  • Speichern aller relevanten Daten in einer Datenbank
  • Sicherheitsmaßnahmen und -protokolle
  • Automatische Monitoren und Meldesystem
Skills Java or C++ or Scripting languages, security mechanisms
Additional information