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

Leistungs- und Skalierungsoptimierung von DeNoVo-Malloc durch Hardwarebeschleunigung und gezielte Codeanpassung an transaktionalen Speicher

Bearbeiter(anonym, Login erforderlich)
BetreuerArthur Martens
ProfessorProf. Dr. Rüdiger Kapitza
Projektdnvmemory
IBR GruppeDS (Prof. Kapitza)
ArtMasterarbeit
Statusabgeschlossen
Beginn1.3.2018

Motivation

DeNoVo-Malloc [1] ist ein Speicherallokator, der eigens für neuen, persistenten Hauptspeicher konzipiert wurde. Neben der Eigenschaft allozierte Daten nach einem Neustart des Computers fehlerfrei wiederherstellen zu können ist die Toleranz von Bitfehlern eines der Kerneigenschaften dieser Bibliothek. Um die Zuverlässigkeit der persistenten Daten für den Benutzer transparent zu gewährleisten, greift DeNoVo-Malloc auf das Konzept des transaktionalen Speichers [2] zurück.

Problemstellung

Bei der Entwicklung von DeNoVo-Malloc standen bisher die funktionalen Aspekte wie Fehlertoleranz im Vordergrund. Leistung und Skalierbarkeit hingegen haben bisher nur eine untergeordnete Rolle gespielt. So ist die Implementierung von Transaktionen in DeNoVo-Malloc bisher rein in Software durch die Bibliothek TinySTM [3] realisiert. Dies führt zu hohen Leistungseinbußen bei Programmen die wenig Parallelität aufweisen. Programme mit einer hohen Parallelität hingegen, können die Bibliothek ebenfalls nicht optimal nutzen da Speicherallokationen mit DeNoVo-Malloc immer zu Datenkollisionen und Transaktionsabbrüchen führen.

Aufgabenstellung

Ziel dieser Masterarbeit ist Leistung und Skalierbarkeit von DeNoVo-Malloc durch die Integration hardwareunterstützter Transaktionen und durch Code-Optimierung zu verbessern.
Hieraus lassen sich folgende Teilaufgaben ableiten:

  • Ausgliederung der Fehlertoleranz aus der TinySTM Bibliothek, sodass andere Bibliotheken für transaktionalen Speicher eingesetzt werden können.
  • Integration von Hardware Transactional Memory basierend auf Intel Transactional Synchronization Extensions (TSX) [4]
  • Optimierung von DeNoVo-Malloc für mehrfädigen betrieb mit Transaktionen. Dies kann sowohl durch Austausch des Allokator Kerns als auch durch gezielte Codeanpassungen erreicht werden [5].
  • Evaluation aller Maßnahmen zur Leistungsoptimierung.

Links


aktualisiert am 17.09.2018, 09:34 von Arthur Martens
printemailtop