Der Code des SQL-Engines BlazingSQL, der GPU zur Beschleunigung nutzt, ist veröffentlicht worden.

Bekannt gegeben über die Veröffentlichung des Quelltexts des SQL-Engines BlazingSQL, das GPU zur Beschleunigung der Datenverarbeitung nutzt. BlazingSQL ist keine vollständige Datenbank, sondern positioniert sich als Engine für die Analyse und Verarbeitung großer Datensätze, vergleichbar mit Apache Spark. Der Code ist in Python geschrieben und offen unter der Apache 2.0 Lizenz.

BlazingSQL eignet sich zur Ausführung einzelner analytischer Abfragen über große Datensätze (Dutzende Gigabyte), die in tabellarischen Formaten gespeichert sind (z. B. Protokolle, NetFlow-Statistiken usw.). BlazingSQL kann Abfragen aus Rohdateien in den Formaten CSV und Apache Parquet ausführen, die in Netzwerk- und Cloud-Dateisystemen wie HDFS und AWS S3 abgelegt sind, und überträgt die Ergebnisse direkt in den GPU-Speicher. Dank der Parallelisierung von Operationen in der GPU und der Nutzung von schnellerem Videospeicher erfolgt die Ausführung von Abfragen in BlazingSQL bis zu 20 Mal schneller als in Apache Spark.

Der Code des SQL-Engines BlazingSQL, der GPU zur Beschleunigung nutzt, ist veröffentlicht worden.

Für die Arbeit mit GPUs wird ein von NVIDIA unterstütztes Set open-source von Bibliotheken RAPIDS, das die Erstellung von Anwendungen zur Datenverarbeitung und Analyse ermöglicht, die vollständig auf der GPU-Seite ausgeführt werden (es wird eine Python-Schnittstelle zur Verwendung von Low-Level-CUDA-Primitiven und zur Parallelisierung von Berechnungen bereitgestellt).

BlazingSQL ermöglicht die Verwendung von SQL anstelle der Datenverarbeitungs-API cuUDF (basierend auf Apache Arrow), die in RAPIDS verwendet wird. BlazingSQL ist eine zusätzliche Schicht, die über cuDF arbeitet und zur Datenlesung von der Festplatte die Bibliothek cuIO nutzt. SQL-Abfragen werden in Aufrufe der Funktionen cuUDF übersetzt, die es ermöglichen, Daten in die GPU zu laden und darauf Merging-, Aggregations- und Filteroperationen auszuführen. Die Unterstützung von verteilten Konfigurationen, die Tausende von GPUs abdecken, ist gegeben.

BlazingSQL vereinfacht den Umgang mit Daten erheblich – anstelle von hunderten Aufrufen der Funktionen cuDF kann man mit einer einzigen SQL-Abfrage auskommen. Die Verwendung von SQL ermöglicht die Integration von RAPIDS mit bestehenden Analysesystemen, ohne spezifische Handler zu schreiben und ohne auf die Zwischenablage von Daten in eine zusätzliche Datenbank zurückzugreifen, wobei
gleichzeitig die volle Kompatibilität mit allen Komponenten von RAPIDS gewährleistet wird, indem die vorhandene Funktionalität in SQL übersetzt wird und die Leistung auf dem Niveau von cuDF bereitgestellt wird. Auch die Unterstützung zur Integration mit den Bibliotheken XGBoost und cuML für analytische und maschinelle Lernaufgaben wird gewährleistet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4