Otevřený kód motoru BlazingSQL SQL s použitím GPU pro akceleraci

Oznámeno o otevření zdrojů SQL motoru BlazingSQL, který využívá GPU ke zrychlení zpracování dat. BlazingSQL není plnohodnotný DBMS, ale je umístěn jako motor pro analýzu a zpracování velkých souborů dat, srovnatelný ve svých úkolech s Apache Spark. Kód je napsán v Pythonu a je otevřeno licencováno pod Apache 2.0.

BlazingSQL je vhodný pro provádění jednotlivých analytických dotazů na velké datové sady (desítky gigabajtů) uložené v tabulkových formátech (například protokoly, statistiky NetFlow atd.). BlazingSQL může spouštět dotazy z nezpracovaných souborů ve formátech CSV a Apache Parquet hostovaných na síťových a cloudových souborových systémech, jako je HDSF a AWS S3, a výsledky přímo přenášet do paměti GPU. Díky paralelizaci operací v GPU a použití rychlejší video paměti se dotazy BlazingSQL provádějí za méně než 20 krát rychlejší než Apache Spark.

Otevřený kód motoru BlazingSQL SQL s použitím GPU pro akceleraci

Pro práci s GPU se používá sada vyvinutá za účasti společnosti NVIDIA otevřené knihovny PEŘEJE, která vám umožňuje vytvářet aplikace pro zpracování dat a analýzu, které běží výhradně na straně GPU (poskytované společností Rozhraní Pythonu používat nízkoúrovňová primitiva CUDA a paralelizovat výpočty).

BlazingSQL poskytuje možnost používat SQL místo API pro zpracování dat cuUDF (na základně Apache Arrow) používané v RAPIDS. BlazingSQL je další vrstva, která běží nad cuDF a používá knihovnu cuIO ke čtení dat z disku. Dotazy SQL jsou převedeny do volání funkcí cuUDF, které umožňují načíst data do GPU a provádět na nich operace slučování, agregace a filtrování. Je podporováno vytváření distribuovaných konfigurací zahrnujících tisíce GPU.

BlazingSQL výrazně zjednodušuje práci s daty – místo stovek volání funkcí cuDF můžete použít jeden SQL dotaz. Použití SQL umožňuje integrovat RAPIDS se stávajícími analytickými systémy bez psaní specifických procesorů a bez uchylování se k přechodnému načítání dat do dalšího DBMS, ale
při zachování plné kompatibility se všemi částmi RAPIDS, překládání stávajících funkcí do SQL a poskytování výkonu na úrovni cuDF. To zahrnuje podporu integrace s knihovnami XGBoost и cuML pro řešení problémů analytiky a strojového učení.

Zdroj: opennet.ru

Přidat komentář