Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.25673/115529
Titel: Architecting a pluggable query executor for emerging co-processors
Autor(en): Gurumurthy, Balasubramaninan
Gutachter: Saake, Gunter
Pionteck, Thilo
Körperschaft: Otto-von-Guericke-Universität Magdeburg, Fakultät für Informatik
Erscheinungsdatum: 2024
Umfang: xvii, 164 Seiten
Typ: HochschulschriftIn der Gemeinsamen Normdatei der DNB nachschlagen
Art: Dissertation
Tag der Verteidigung: 2024
Sprache: Englisch
URN: urn:nbn:de:gbv:ma9:1-1981185920-1174839
Schlagwörter: Datenbanken
Rechnerarchitektur
Co-processors
Zusammenfassung: CPUs are reaching their scaling limitations while data keeps growing rapidly. De- velopers of CPU-based applications are searching for an alternative processor to further improve their efficiency. DBMS being one such application, is always in need of high-performing processors to support the ever-growing data. Therefore, many database researchers investigate various co-processors available in the market to speed up query processing. As a result, many such co-processor accelerated DBMS engines are available both as commercial as well as research projects. Such a DBMS running on a co-processor is normally developed by tightly integrating the hardware- relevant code within the query execution engine. Or, the query engine is written with a common device-agnostic framework (like OpenCL) to support execution on different co-processor architectures. Out of these approaches, the former takes a lot of effort to develop, and the latter is not performance-portable. Additionally, with every new co-processor available in the market, an effort has to be made to develop a query engine on top of this device. Hence, to overcome these challenges, in this thesis, we explore a query executor that lies in the middle ground between the two approaches. Our query engine splits DBMS operators into primitives which are present in a task layer. This layer in addition to the device layer enables the pluggability of co-processors. Further, to reduce implementation effort, we also come up with a unified runtime, that handles query execution across any abstract co-processor. Overall, in this work, we explore a query engine that is capable of plugging in any new co-processor that comes up in the future, without losing the capability to have an optimal implementation over the device.
Unter rapide steigenden Datenmengen stoßen CPUs an ihre Skalierungsgrenzen. Anwendungen, die auf herkömmlichen CPUs laufen, sind auf der Suche nach einem al- ternativen, spezialisierten Prozessoren, um ihre Effizienz weiter zu verbessern. Daten- bankmanagementsysteme sind eine solche Anwendung, die immer leistungsstärkere Prozessoren benötigen, um die ständig wachsenden Datenmengen zu verarbeiten. Daher untersuchen viele Datenbankforscher verschiedene auf dem Markt erhältliche Co-Prozessoren, um die Abfrageverarbeitung zu beschleunigen. Infolgedessen sind viele solcher Co-Prozessor-beschleunigten Datenbank-Engines sowohl als kommerzielle als auch als Forschungsprojekte verfügbar. Ein solches Datenbankmanagementsystem, das auf einem Co-Prozessor läuft, wird normalerweise mit einer engen Integration des Hardware-Codes in die Anfrageausführungs-Engine entwickelt. Alternativ wird die Anfrage-Engine mit einem gemeinsamen geräteunabhängigen Wrapper (wie OpenCL) geschrieben, um die Ausführung auf verschiedenen Co-Prozessor-Architekturen zu unterstützen. Von diesen Ansätzen ist der erste sehr aufwändig in der Entwicklung und der zweite ist nicht leistungsfähig genug. Außerdem muss mit jedem neuen Co-Prozessor, der auf dem Markt verfügbar ist, eine Abfrage-Engine für dieses Gerät entwickelt werden. Um diese Herausforderungen zu überwinden, erforschen wir in dieser Arbeit eine Datenbank-Engine, die in der Mitte zwischen diesen beiden Ansätzen liegt. Unsere Abfrage-Engine teilt Datenbank-Operatoren in Primitive auf, die in einer Aufgabenschicht vorhanden sind. Diese Schicht ermöglicht zusammen mit der Geräteschicht das Plug’n’Play von Co-Prozessoren. Um den Implementierungsaufwand zu verringern, haben wir außerdem eine einheitliche Laufzeit entwickelt, die die Ausführung von Abfragen auf jedem abstrakten Co-Prozessor ermöglicht. Insgesamt entwickeln wir in dieser Arbeit eine Abfrage-Engine, die in der Lage ist, jeden neuen Co-Prozessor, der in der Zukunft auftaucht, einzubinden, ohne die Fähigkeit zu verlieren, eine optimale Implementierung für den Prozessor zu bieten.
URI: https://opendata.uni-halle.de//handle/1981185920/117483
http://dx.doi.org/10.25673/115529
Open-Access: Open-Access-Publikation
Nutzungslizenz: (CC BY-SA 4.0) Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International(CC BY-SA 4.0) Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International
Enthalten in den Sammlungen:Fakultät für Informatik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Gurumurthy_Balasubramanian_Dissertation_2024.pdfDissertation3.11 MBAdobe PDFMiniaturbild
Öffnen/Anzeigen