Codul motorului SQL BlazingSQL deschis, folosind GPU pentru accelerare

Anunțat despre deschiderea surselor motorului SQL BlazingSQL, care folosește GPU pentru a accelera procesarea datelor. BlazingSQL nu este un SGBD cu drepturi depline, dar este poziționat ca un motor pentru analiza și procesarea seturilor mari de date, comparabil în sarcinile sale cu Apache Spark. Codul este scris în Python și deschis licențiat sub Apache 2.0.

BlazingSQL este potrivit pentru efectuarea de interogări analitice unice pe seturi mari de date (zeci de gigaocteți) stocate în formate tabelare (de exemplu, jurnale, statistici NetFlow etc.). BlazingSQL poate rula interogări din fișiere brute în formatele CSV și Apache Parquet găzduite pe sisteme de fișiere de rețea și cloud precum HDSF și AWS S3, transferând direct rezultatul în memoria GPU. Datorită paralelizării operațiunilor în GPU și utilizării unei memorie video mai rapide, interogările în BlazingSQL sunt efectuate până la 20 ori mai rapid decât Apache Spark.

Codul motorului SQL BlazingSQL deschis, folosind GPU pentru accelerare

Pentru a lucra cu GPU-uri, se folosește un set dezvoltat cu participarea NVIDIA deschis biblioteci PRAGURI, care vă permite să creați aplicații de procesare și analiză a datelor care rulează în întregime pe partea GPU (furnizate de Interfață Python pentru a utiliza primitive CUDA de nivel scăzut și a paraleliza calculele).

BlazingSQL oferă posibilitatea de a utiliza SQL în loc de API-uri de procesare a datelor cuUDF (pe bază Săgeata Apache) folosit în RAPIDS. BlazingSQL este un strat suplimentar care rulează deasupra cuDF și utilizează biblioteca cuIO pentru a citi datele de pe disc. Interogările SQL sunt traduse în apeluri la funcții cuUDF, care vă permit să încărcați date în GPU și să efectuați operațiuni de îmbinare, agregare și filtrare pe acesta. Este acceptată crearea de configurații distribuite care acoperă mii de GPU-uri.

BlazingSQL simplifică foarte mult lucrul cu date - în loc de sute de apeluri la funcții cuDF, puteți utiliza o singură interogare SQL. Utilizarea SQL face posibilă integrarea RAPIDS cu sistemele de analiză existente, fără a scrie procesoare specifice și fără a recurge la încărcarea intermediară a datelor într-un SGBD suplimentar, dar
menținând în același timp compatibilitatea deplină cu toate părțile RAPIDS, traducând funcționalitatea existentă în SQL și oferind performanță la nivel cuDF. Aceasta include suport pentru integrarea cu biblioteci XGBoost и cuML pentru rezolvarea problemelor de analiză și învățare automată.

Sursa: opennet.ru

Adauga un comentariu