HOME | ENGLISH | IMPRESSUM | KIT

Bachelorarbeit (abgeschlossen): Kommunizierende Thread Pools

Thread pools sind ein beliebtes Werkzeug in parallelen Anwendungen mit vielen kleinen Jobs. Offenbar ist es unter Last gut für die Performanz, wenn thread pools sich untereinander abstimmen. Dadurch lässt sich zum Beispiel Cache Thrashing vermeiden oder der Overhead durch unnötig viele Kontextwechsel. Eine Verallgemeinerung dieses Prinzips wird derzeit im InvasIC-projekt erforscht. Allerdings ist diese Idee dort eingebettet in eine Vielzahl weiterer Anpassungen. In dieser Arbeit soll deshalb nur dieser Aspekt der kommunizierenden thread pools in "normalem" Programmierumfeld evaluiert werden.

In der Wahl der Programmiersprache besteht viel Freiheit (Java,C#,C++,C,D,...), allerdings sollten bereits herkömmliche thread pools verfügbar sein die real-world Bedingungen genügen, um einen Vergleich anzustellen.

Aufgabe:

In dieser Arbeit soll eine Thread Pool Implementierung entwickelt werden, bei der Instanzen miteinander kommunizieren um die Performance zu verbessern. Verglichen werden soll mit herkömmlichen Thread Pools wie sie in realen Programmen verwendet werden.

Voraussetzungen

  • Kenntnisse in einer geeigneten Programmiersprache und paralleler Programmierung
  • Spaß an wissenschaftlicher Evaluation

Schlüsselworte

Performance,Parallelism 

Veröffentlichungen

Veröffentlichung
Kommunizierende Thread Pools

Betreuer

Wissenschaftliche Mitarbeiter
Andreas Zwinkau

Studenten

Ehemalige Studenten
Tobias Weiberg