Teilprojekt: MxKernel: A Bare-Metal Runtime System for Database Operations on Heterogeneous Many-Core Hardware
Projektstatus: abgeschlossen
Drittmittelprojekt uri icon

Projektleitung

Beschreibung

  • Für moderne Anwendungen muss Systemsoftware in der Lage sein, immer mehr Daten immer schneller zu verarbeiten. "Realtime Analytics"-Anwendungen haben höchste Ansprüche an die Antwortzeit von komplexen analytischen und transaktionalen Aufgaben. Diese Probleme tauchen typischerweise in "Industrie 4.0"- sowie "Internet of Things (IoT)"-Anwendungen auf und fordern Datenbank und Betriebssystementwickler heraus, Daten verteilt, skalierbar und in Echtzeit zu verarbeiten.Moderne Hardware ist grundsätzlich in der Lage, die notwendige Performanz zur Verfügung zu stellen. Jedoch ist es immer mehr eine Herausforderung, dieses Potential auch zu nutzen. Es ist noch immer unklar, wie hohe Gerade von Parallelität, komplexe Speicherhierarchien und die steigende Heterogenität moderner Hardware angemessen in Systemen und Anwendungssoftware unterstützt werden können. Es wird deutlich, dass unterschiedliche Teile der Systemsoftware viel enger zusammen arbeiten müssen als heutzutage möglich.Als Lösung wollen wir eine "bare metal"-Laufzeitumgebung namens "MxKernel" entwickeln. MxKernel stellt eine sehr leichtgewichtige Ressourcenverwaltung bereit, die Datenbank- und Betriebssystemanwendungen gleichermaßen zur Verfügung steht. Heterogenität und Parallelität werden von Grund auf unterstützt. Ebenso ist MxKernel bereit für komplexe Speicherhierarchien und Datenspeichertechnologien wie "Non-Volatile RAM". Anstelle eines klassischen "Thread"-Modells benutzt MxKernel eine Abstraktion: MxTasks beschreiben abgeschlossene Arbeitseinheiten mit garantiert atomarer Ausführung.MxTasks erben dadurch die positiven Eigenschaften ereignisbasierter Systeme und erreichen eine exzellente horizontale und vertikale Skalierbarkeit, die bis zu großen verteilten Clustern reicht. Gleichzeitig sind MxTasks eine elegante Abstraktion für Heterogenität und für die Verteilung von Ressourcen. MxTasks können mit Metadaten angereichert werden, etwa über Codevarianten, Speicherzugriffsverhalten und Abhängigkeiten zwischen MxTasks. Damit kann der MxKernel eine leichtgewichtige und effiziente Art der Resourcenverwaltung über die Grenzen von Anwendungen, Betriebssystemen und Datenbanken hinweg realisieren.Im Projekt werden wir das Konzept des MxKernel aus dem Betriebssystem- und Datenbankblickwinkel betrachten. Das Ziel ist dabei die Umsetzbarkeit, die Implikationen für den Entwurf von (Datenbank-)Software sowie das Potential für Performance und Skalierbarkeit zu ergründen. Wir werden Methoden entwickeln, um Datenbankaufgaben mit Hilfe des MxTasks-Konzepts umzusetzen. Diese beeinhalten konkrete Lösungen für kritische Datenbankaufgaben wie Indexing und die Verarbeitung von Transaktionen.Die Arbeiten im MxKernel-Projekt werden durch die Entwicklung von Demonstratoren getrieben, um unsere Ideen rasch in lauffähige Prototypen zu übertragen. Diese sollen relevante und praktische Anwendungsfälle aus den Bereichen der Transaktionsverarbeitung und IoT umsetzen.

Projektlaufzeit

  • 01.10.2018 - 30.09.2020

Schlagwörter

  • Betriebssysteme
  • Datenbanksysteme
  • Kommunikationssysteme
  • verteilte Systeme

Organisationseinheit

Fach

Finanzierung durch

Bewilligungssumme

  • 177.390,68 €
Image Projekt-Links

Projektlinks


Image Projekt-Team

Projektteam


Sie sind Teil des Projektteams und möchten Inhalte ändern oder Projektergebnisse ergänzen? Kontaktieren Sie uns gerne unter fis@uni-osnabrueck.de