David Broneske

Dr.-Ing. David Broneske

Institut für Technische und Betriebliche Informationssysteme (ITI)
AG Datenbanken & Software Engineering
Universitätsplatz 2, 39106, Magdeburg,
Projekte

Aktuelle Projekte

Eine allgemeine Speicher-Engine für moderne Speicherhierarchien
Laufzeit: 01.10.2022 bis 30.09.2025

Die wissenschaftliche Forschung wird zunehmend von datenintensiven Problemen bestimmt. Da die Komplexität der untersuchten Probleme zunimmt, steigt auch der Bedarf an hohem Datendurchsatz und -kapazität. Das weltweit produzierte Datenvolumen verdoppelt sich etwa alle zwei Jahre, was zu einer exponentiellen Datenflut führt. Diese Datenflut stellt eine direkte Herausforderung für Datenbankmanagementsysteme und Dateisysteme dar, die die Grundlage für eine effiziente Datenanalyse und -verwaltung bilden. Diese Systeme verwenden verschiedene Speichergeräte, die traditionell in Primär-, Sekundär- und Tertiärspeicher unterteilt waren. Mit der Einführung der disruptiven Technologie des nichtflüchtigen Arbeitsspeichers (NVRAM) begannen diese Klassen jedoch miteinander zu verschmelzen, was zu heterogenen Speicherarchitekturen führte, bei denen jedes Speichergerät sehr unterschiedliche Leistungsmerkmale aufweist (z. B. Persistenz, Speicherkapazität, Latenz). Eine große Herausforderung ist daher die Ausnutzung der spezifischen Leistungscharakteristika dieser Speichergeräte.
Zu diesem Zweck wird SMASH die Vorteile einer gemeinsamen Speicher-Engine untersuchen, die eine heterogene Speicherlandschaft verwaltet, einschließlich herkömmlicher Speichergeräte und nichtflüchtiger Speichertechnologien. Das Herzstück dieser Speicher-Engine werden B-epsilon-Bäume sein, da diese zur effizienten Nutzung dieser unterschiedlichen Geräte verwendet werden können. Darüber hinaus werden Strategien zur Datenplatzierung und -migration untersucht, um den durch die Übertragung von Daten zwischen verschiedenen Geräten verursachten Overhead zu minimieren. Durch den Wegfall der Notwendigkeit flüchtiger Caches kann die Datenkonsistenz besser sichergestellt werden. Auf der Anwendungsseite wird die Speicher-Engine Key-Value- und Objekt-Schnittstellen bieten, die für eine Vielzahl von Anwendungsfällen genutzt werden können, zum Beispiel für das Hochleistungsrechnen (HPC) und für Datenbankmanagementsysteme. Aufgrund der immer größer werdenden Kluft zwischen der Leistung von Rechen- und Speichergeräten sowie deren stagnierender Zugriffsleistung sind außerdem Techniken zur Datenreduzierung sehr gefragt, um den Bandbreitenbedarf beim Speichern und Abrufen von Daten zu verringern. Wir werden daher Forschungsarbeiten zu Datentransformationen im Allgemeinen und zu den Möglichkeiten externer und beschleunigter Transformationen durchführen. Übliche HPC-Workflows werden durch die Integration von SMASH in das bestehende JULEA-Storage-Framework unterstützt, während Datenbanksysteme die Schnittstelle von SMASH direkt nutzen können, um Daten zu speichern oder abzurufen.

Projekt im Forschungsportal ansehen

Abgeschlossene Projekte

ADAMANT-II: Adaptive Data Management in Evolving Heterogeneous Hardware/Software Systems
Laufzeit: 01.01.2021 bis 31.12.2023

Heterogene Systemarchitekturen bestehend aus CPUs, GPUs und FPGAs bieten vielfältige Optimierungsmöglichkeiten im Vergleich zu rein CPU-basierten Systemen. Zur vollständigen Ausnutzung dieses Optimierungspotenzials reicht es jedoch nicht, bestehende Softwarekonzepte unverändert auf nicht-von-Neumann-Architekturen wie beispielsweise FPGAs zu übertragen. Vielmehr erfordern die zusätzlichen Verarbeitungsmöglichkeiten dieser Architekturen den Entwurf neuartiger Verarbeitungskonzepte. Dies ist bereits in der Planung der Anfrageverarbeitung zu berücksichtigen. In der ersten Projektphase entwickelten wir hierfür bereits ein erstes Konzept, welches die gerätespezifischen Merkmale in unserer Plug’n’Play Architektur berücksichtigt. Allerdings sehen wir die Notwendigkeit zu dessen Weiterentwicklung, um eine noch bessere Ausnutzung der spezifischen Eigenschaften der Hardwarearchitekturen zu erreichen. Für die zweite Projektphase stellen wir daher die Hypothese auf, dass bekannte Verfahren zur Abbildung von Anfragen auf der Ebene einzelner Operatoren nicht ausreichen sind, um die erweiterten Verarbeitungsmöglichkeiten heterogener Systemarchitekturen auszunutzen.
Unser Ziel ist daher die Erforschung neuartiger Verarbeitungskonzepte und Verfahren zur Abbildung von Anfragen für heterogene Systeme, welche von der üblicherweise verwendeten Granularität auf Ebene einzelner Operatoren abweichen. Wir werden Verarbeitungseinheiten entwickeln, die eine größere Funktionalität als einzelne Operatoren bereitstellen und sich über mehrere Geräte hinweg erstrecken. Diese Verarbeitungseinheiten sind in sich heterogen und kombinieren die spezifischen Eigenschaften einzelner Architekturen. Im Ergebnis ermöglicht unsere heterogene Systemarchitektur das Bereitstellen von Datenbankoperationen und Funktionen, die in klassischen Datenbanksystemen nicht verfügbar oder nicht effizient realisierbar sind.
Zu Demonstrationszwecken haben wir drei Anwendungsfälle identifiziert, welche von heterogenen Systemarchitekturen stark profitieren können: Verarbeitung von Datenströmen mit hohem Aufkommen, approximative Anfrageverarbeitung und dynamische Multianfrageverarbeitung. Hochvolumige Datenströme erfordern eine Hardwarearchitektur, die eine Verarbeitung der Daten ohne vorherige Zwischenspeicherung ermöglicht. Dafür stellen FPGAs eine vielversprechende Plattform durch ihr datenstrombasiertes Verarbeitungsprinzip dar. Darüber hinaus eignen sich sowohl FPGAs als auch GPUs für approximierende Anfragenverarbeitungen, da sie arithmetische Operationen mit reduzierter Genauigkeit und die Realisierung von approximativen, hardwarebeschleunigten Samplingtechniken ermöglichen. Die dynamische Multianfrageverarbeitung ist aus Systemsicht sehr anspruchsvoll, da variable Systemlasten die Effizienz zuvor aufgestellter Anfragepläne reduzieren können. Hier ermöglichen die zahlreichen Parallelitätsebenen in heterogenen Systemen eine bessere Verteilung der Systemlasten.

Projekt im Forschungsportal ansehen

Digitales Programmieren im Team - Adaptive Unterstützung für kollaboratives Lernen
Laufzeit: 01.03.2020 bis 28.02.2023

Das kollaborative Programmieren ist Kernbestandteil des beruflichen Alltags in der Informatik. Diese auf einer technischen und sozialen Ebene komplexen Vorgänge werden im Informatikstudium oftmals abstrakt behandelt und spielen in Fachkonzepten zum Programmierenlernen eine untergeordnete Rolle. Im Rahmen von Gruppenarbeiten müssen sich die Lernenden organisieren, koordinieren und ihre Lernprozesse regulieren - kognitiv anspruchsvolle Tätigkeiten. Um das Potential kollaborativer Lernformen für das Erlernen von Programmiersprachen und die Förderung sozialer Kompetenzen ausschöpfen zu können, müssen die Lernenden bei Bedarf didaktische Unterstützung erhalten, sowohl vor dem als auch während des Lernprozesses. Im Teilprojekt DiP-iT-OVGU werden wir - unterstützt durch die Projektpartner - auf der Basis empirischer Studien ein digitales Fachkonzept zum kollaborativen Programmierenlernen entwickeln und evaluieren, welches diesbezügliche (medien-)didaktische Ansätze enthält. Dabei zielen wir auf die Ermöglichung des Transfers an andere Hochschulen. Auf informationstechnischer Ebene wird hierfür ein Prozessmodell entwickelt, das die Nachnutzbarkeit von Forschungsdaten und die Übertragbarkeit von Datenmodellen (z.B. zur adaptiven didaktischen Unterstützung) in andere Lehrveranstaltungen bzw. Lehr-Lernsysteme ermöglicht. Das Teilprojekt ordnet sich in das Gesamtprojekt mit folgenden Zielstellungen ein:

  • Analyse und Systematisierung von Einstellungen und Vorerfahrungen bei den Akteuren,
  • Entwicklung konzeptioneller, mediendidaktischer Kriterien für die Einbindung kollaborativen Programmierenlernens in Lehrveranstaltungen,
  • Entwicklung geeigneter Lehr-Lern-Szenarien und Erstellung eines diesbezüglichen digitalen Fachkonzepts,
  • empirische Fundierung durch formative und summative Evaluation,
  • Untersuchung der Effektivität von Formen der instruktionalen Anleitung angelehnt an die Bedarfe der Lernenden,
  • Unterstützung des Transfers der Erkenntnisse, inhaltlich und technisch.

Projekt im Forschungsportal ansehen

Query Acceleration Techniques in Co-Processor-Accelerated Main-memory Database Systems
Laufzeit: 31.08.2019 bis 31.03.2022

Das Projekt adressiert den aktuellen Schwerpunkt von Analysen in Hauptspeicherdatenbanken auf moderner Hardware: Heterogenität der Prozessoren und deren Einbindung in die Anfrageverarbeitung. Aufgrund der Vielzahl von Optimierungen und Varianten von Algorithmen und unbegrenzte Anzahl an Anwendungsfällen, ist das Erstellen des perfekten Anfrageplanes nahezu unmöglich.
Ziel der Habilitation ist es, (1) einen umfassenden Katalog von vielversprechenden Algorithmenvarianten aufzustellen, (2) eine optimale Auswahl der Varianten im Zuge der übergeordneten Anfrageoptimierung zu erlangen, (3) als auch Lastverteilung im Co-Prozessorbeschleunigten System zu erreichen.

  1. Der Variantenkatalog umfasst als weitere Dimensionen sowohl die Ausführung auf den spaltenorientierten Daten, als auch unter Nutzung von speziellen Indexstrukturen und beinhaltet unterschiedliche Ergebnisrepräsentationen. Aus allen möglichen Dimension wird dann eine Abstraktionsschicht entwickelt, sodass ein Algorithmus unabhängig von dessen Optimierungen definiert werden kann. Dadurch soll jede Variante effizient, mit wenig redundantem Code generiert und ausgeführt werden können.
  2. Aufgrund des enormen Variantenraumes bestehend aus den Dimensionen der Varianten inklusive dem Einfluss der ausführenden Prozessoren ist die Wahl einer auszuführenden Variante nicht trivial. Ziel ist es hier lern-basierte Methoden in Hinblick auf die Eignung zur Algorithmenauswahl gegenüber zu stellen, um valide Entscheidungen zu treffen. Die zu treffenden Entscheidungen sollen des Weiteren auch ausgeweitet werden auf das Erstellen von Indexen als auch der Datenverteilung in Ziel (3).
  3. Die Lastenverteilung in Co-Prozessorbeschleunigten Systemen wird durch den Grad der Parallelisierung beeinflusst. Dieser Grad teilt sich in mehrere Dimensionen, da Datenbankoperationen in kleinere Funktionseinheiten (sog. Primitive) aufteilen können. Diese Primitive können entweder auf dem ganzen Datenbestand laufen oder partitioniert ausgeführt werden. All diese Optimierungspotentiale (unterschiedliche Granularitätsstufen und Partitionierungsgrößen) müssen analysiert und optimal gewählt werden, um unter der gegebenen und zukünftigen Anfragelast eine angemessene Performanz zu ermöglichen. Ziel ist es, ein Modell lernen zu lassen, um optimale Verteilungen und optimierte Pläne zu erstellen. Wichtig ist hierbei, dass das Modell auch Rückschlüsse auf dessen Entscheidungen zulässt, um eine Generalisierbarkeit zu erreichen.

Projekt im Forschungsportal ansehen

On the Impact of Hardware on Relational Query Processing
Laufzeit: 01.09.2013 bis 31.08.2018

Satisfying the performance needs of tomorrow typically implies using modern processor capabilities (such as single instruction, multiple data) and co-processors (such as graphics processing units) to accelerate database operations. Algorithms are typically hand-tuned to the underlying (co-)processors. This solution is error-prone, introduces high implementation and maintenance cost and is not portable to other (co-)processors. To this end, we argue for a combination of database research with modern software-engineering approaches, such as feature-oriented software development (FOSD). Thus, the goal of this project is to generate optimized database algorithms tailored to the underlying (co-)processors from a common code base. With this, we maximize performance while minimizing implementation and maintenance effort in databases on new hardware. Project milestones: 

  • Creating a feature model: Arising from heterogeneous processor capabilities, promising capabilities have to be identified and structured to develop a comprehensive feature model. This includes fine-grained features that exploit the processor capabilities of each device.
  • Annotative vs. compositional FOSD approaches: Both approaches have known benefits and drawbacks. To have a suitable mechanism to construct hardware-tailored database algorithms using FOSD, we have to evaluate which of these two approaches is the best for our scenario.
  • Mapping features to code: Arising from the feature model, possible code snippets to implement a feature have to be identified.
  • Performance evaluation: To validate our solution and derive rules for processor allocation and algorithm selection, we have to perform an evaluation of our algorithms.

Projekt im Forschungsportal ansehen

Publikationen
Forschung
Vita

Letzte Änderung: 08.03.2023 - Ansprechpartner: Webmaster