TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

Storyboard v2.0: API-Design für ein Determinismus-Framework

BetreuerArthur Martens
ProfessorProf. Dr. Rüdiger Kapitza
IBR GruppeDS (Prof. Kapitza)
ArtBachelorarbeit
Statusabgeschlossen

Einleitung

Für die Replikation von Anwendung sowie für das Debuggen ist die deterministische Ausführung oft eine wichtige Bedingung. Um die heutige Hardware effizient nutzen zu können, sind viele Anwendungen mährfädig designt, was sie jedoch nicht deterministisch macht.

Am ­IBR ist daher ein Konzept für ein Framework namens Storyboard entwickelt worden, welches mehrfädige Anwendungen mit starker Kooperation zwischen den Fäden deterministisch macht.Storyboard arbeitet hierbei mit sogenannten Lock-Vorhersagen. Das heißt, wenn immer eine Bearbeitungsanfrage an die Applikation gestellt wird, registriert diese alle hierfür notwendigen Lock-Variablen wie Mutexe oder Semaphoren im Voraus bei Storyboard.

Kann die Vorhersage zur Laufzeit eingehalten werden, so läuft die Bearbeitung der Anfragen ohne große Leistungseinbußen parallel ab. Obwohl die Vorhersage in den meisten fällen treffend ist kann sich das System auch irren. In diesem Fall blockieren die Fäden, bis eine neue Vorhersage ausgehandelt wurde.

Problemstellung

Obwohl das Storyboard als Framework konzipiert wurde, existiert derzeit nur eine Implementierung in form einer anwendungsspezifischen Bibliothek für den Key-Value-Storage Memcached. Damit ist die Anwendung von Storyboard auf andere Programme mit Quellcodeänderungen innerhalb der Bibliothek verbunden und sehr aufwendig.

Aufgabenstellung

Ziel dieser Arbeit ist es aus der applikationsspezifischen Bibliothek ein generisches Framework zu bauen, das mit verschiedenen Applikationen ohne großen Aufwand verwendet werden kann. Der Schwerpunkt liegt dabei auf Software-Architektur und Benutzbarkeit. Dies beinhaltet Folgende Aufgaben:

  • Bereitstellung eines möglichst generischen und intuitiv benutzbaren APIs
  • Objekt orientierte Überarbeitung der Software-Architektur von Storyboard
  • Implementierung eines geeigneten Datei Formats für applikationsspezifische Lock-Graphen und Lock-Vorhersagen
  • Implementierung eines Hilfswerkzeugs zur automatischen Generierung von Lock-Prädiktionen
  • Evaluierung der Implementierung anhand von Mikrobenchmarks und Memcached

Links


aktualisiert am 16.12.2015, 11:37 von Arthur Martens
printemailtop