Hardware/Software Co-Design for Accelerated Near-Data Processing in Modern Database Systems
Hardware/Software Co-Design for Accelerated Near-Data Processing in Modern Database Systems
In the era of big data, relying on traditional system architecture, where data is moved to the main processing units, leads to reduced system performance and wasted resources.
This is especially challenging in modern large-memory settings, Database Management Systems (DBMS) working under hybrid workloads, including long-running analytical transactions as well as short update/modification transactions. In such a setting, where the working dataset fits in the memory, and the complete dataset resides on slower "cold" persistent storage, executing long-running transactions that require handling infrequently accessed data stored in cold storage results in significant data transfers from storage systems.
A potential solution to this challenge is leveraging Near-Data Processing (NDP), where computation occurs in close proximity to the physical storage. With recent advances in semiconductor technologies, it is economically viable to integrate powerful compute units within storage devices on a single device. This co-location of computation and storage makes the NDP technique a viable approach once again for enhancing system performance and energy efficiency.
Building on this concept, emerging storage devices, known as computational/smart/intelligent storage device, offer computational capabilities within storage and provide lower latency and higher bandwidth for internal compute elements compared to external ones (e.g., PCIe). The more promising approach is combining byte-addressable non-volatile memory technologies as the underlying storage medium with FPGAs for computation, leveraging their inherent flexibility and parallelism. In addition, these storage devices can utilize Cache-Coherent Interconnects (CCI), such as CCIX or CXL, which extend existing host-device interfaces to support data coherency through low-latency cache-coherent communication. Leveraging CCI opens up new opportunities for building highly efficient NDP-capable storage architectures.
However, using NDP techniques in database systems to offload part of the computation to the storage device, especially in the presence of concurrent host updates, poses multiple challenges. First, offloading and executing read-only transactions require additional mechanisms to ensure transactional consistency and data freshness. In addition, offloading transactions that involve both read and write (update) operations necessitates further mechanisms for synchronization and notifying the DBMS of the offloaded transactions.
This thesis presents an end-to-end NDP-based system, including a computational storage device and a DBMS, to enable processing of database transactions, including both read and write (update) operations, near the physical data. The proposed system supports on-device execution of low-level database administration tasks as well as database queries/transactions while guaranteeing transactional consistency and data freshness. In addition, it leverages the capabilities of FPGAs and on-device low-latency by integrating custom accelerators as NDP operations, such as performing hardware-accelerated machine learning inference directly on stored data.
Moreover, the proposed system introduces a novel hybrid host-device interface that seamlessly switches between low-latency CCI messages (such as CCIX or CXL) and traditional high-throughput PCIe-DMA transfers. This flexibility opens up new opportunities for implementing a low-latency synchronization mechanism, which is essential for offloading and executing transactions with write (update) operations in an update environment. As a result, the DBMS can not only access persisted data and offload computation to the storage device but also efficiently coordinate concurrent device-update operations with host-side updates.
Im Zeitalter von Big Data führt das Verlassen auf eine herkömmliche Systemarchitektur, die auf der Übertragung von Daten an zentrale Recheneinheiten basiert, zu einer geringeren Systemleistung und einer ineffizienten Ressourcennutzung.
Das ist besonders problematisch bei modernen Datenbankmanagementsystemen (DBMS) mit großem Arbeitsspeicher, die mit gemischten Arbeitslasten arbeiten. Diese bestehen sowohl aus langandauernden analytischen Abfragen als auch aus kurzen Transaktionen zur Aktualisierung oder Änderung von Daten. In einer solchen Umgebung, in der der nur Arbeitsdatensatz in den Arbeitsspeicher passt und der vollständige Datensatz auf einem langsameren, „kalten“, persistenten MassenSpeicher liegt, führen langandauernde Transaktionen, die selten genutzte Daten verarbeiten müssen, zu erheblichen Datenübertragungen aus dem Speichersystem.
Eine mögliche Lösung für dieses Problem ist die sogenannte datennahe Verarbeitung (Near-Data Processing, NDP). Dabei werden Rechenoperationen direkt in der Nähe des physischen Speichers durchgeführt. Mit den jüngsten Fortschritten in der Halbleitertechnologie ist es wirtschaftlich machbar, leistungsstarke Recheneinheiten zusammen mit Massenspeichern in einem Gerät zu integrieren. Diese Kolokation von Rechen- und Speicherfunktionen macht die NDP-Technik wieder zu einem brauchbaren Ansatz, um die Systemleistung zu verbessern und Energie zu sparen.
Auf Grundlage dieses Konzepts bieten neuartige Speichergeräte, sogenannte Computational/Smart/Intelligent Storage Devices, Rechenfunktionen nahe an den persistenten Speicher-Chips an direkt im Speicher an. Dadurch erreichen sie geringere Latenzzeiten und höhere Bandbreiten für interne Recheneinheiten im Vergleich zu externen, etwa über PCIe angebundenen, Komponenten. Besonders vielversprechend ist die Kombination von nichtflüchtigem, byteadressierbarem Speicher als Speichermedium mit FPGAs für Berechnungen. Diese Kombination nutzt die Flexibilität und Parallelität von FPGAs optimal aus. Außerdem können solche Speichergeräte Cache-Coherent Interconnects (CCI) wie CCIX oder CXL verwenden. Diese erweitern bestehende Schnittstellen zwischen Host und Gerät, um durch cache-kohärente Kommunikation mit niedriger Latenz Datenkohärenz zu ermöglichen. Der Einsatz von CCI eröffnet neue Möglichkeiten für den Aufbau besonders effizienter Speicherarchitekturen mit NDP-Funktionalität.
Allerdings bringt der Einsatz von NDP-Techniken in Datenbanksystemen, um einen Teil der Berechnungen auf das Speichergerät auszulagern – insbesondere wenn gleichzeitig Aktualisierungen durch den Host stattfinden – mehrere Herausforderungen mit sich. Zum einen erfordert das Auslagern und Ausführen von Nur-Lese-Transaktionen zusätzliche Mechanismen, um die Konsistenz der Transaktionen und die Aktualität der Daten zu gewährleisten. Zum anderen benötigen Transaktionen, die sowohl Lese- als auch Schreibvorgänge (Aktualisierungen) enthalten, weitere Mechanismen zur Synchronisation und zur Benachrichtigung des DBMS über die ausgelagerten Transaktionen.
In dieser Arbeit wird ein vollständiges System auf Basis von NDP vorgestellt, das ein rechnergestütztes Speichergerät und ein Datenbankmanagementsystem (DBMS) umfasst. Ziel ist es, Datenbanktransaktionen – also Lese- und Schreiboperationen (Aktualisierungen) – direkt in der Nähe der physischen Daten zu verarbeiten. Das vorgeschlagene System ermöglicht die Ausführung von einfachen Verwaltungsaufgaben sowie von Datenbankabfragen und -transaktionen direkt auf dem intelligenten Massenspeichergerät. Dabei werden die Konsistenz der Transaktionen und die Aktualität der Daten sichergestellt. Außerdem nutzt das System die Vorteile von FPGAs und die geräteinterne niedrige Latenz, indem es benutzerdefinierte Beschleuniger für NDP-Operationen integriert – zum Beispiel für hardwarebeschleunigte Inferenz von maschinellem Lernen direkt auf den gespeicherten Daten.
Außerdem führt das vorgeschlagene System eine neuartige hybride Schnittstelle zwischen Host und Gerät ein, die nahtlos zwischen CCI-Nachrichten mit geringer Latenz (wie CCIX oder CXL) und herkömmlichen PCIe-DMA-Übertragungen mit hohem Durchsatz umschalten kann. Diese Flexibilität ermöglicht neue Ansätze für die Umsetzung von Synchronisations- und Invalidierungsmechanismen mit niedriger Latenz. Solche Mechanismen sind entscheidend, um Transaktionen mit Schreib- bzw. Aktualisierungsoperationen effizient auszulagern und auszuführen. Dadurch kann das DBMS nicht nur auf gespeicherte Daten zugreifen und Rechenaufgaben an das Speichergerät auslagern, sondern auch gleichzeitige Aktualisierungen am Gerät und auf der Host-Seite effektiv koordinieren.
