Código de motor SQL de BlazingSQL aberto, usando GPU para acelerar

Anunciado sobre a apertura das fontes do motor SQL BlazingSQL, que usa a GPU para acelerar o procesamento de datos. BlazingSQL non é un DBMS completo, pero está posicionado como un motor para analizar e procesar grandes conxuntos de datos, comparable nas súas tarefas a Apache Spark. O código está escrito en Python e aberto licenciado baixo Apache 2.0.

BlazingSQL é axeitado para realizar consultas analíticas únicas en grandes conxuntos de datos (decenas de gigabytes) almacenados en formatos tabulares (por exemplo, rexistros, estatísticas de NetFlow, etc.). BlazingSQL pode executar consultas desde ficheiros en bruto en formatos CSV e Apache Parquet aloxados en sistemas de ficheiros de rede e de nube como HDSF e AWS S3, transferindo directamente o resultado á memoria da GPU. Grazas á paralelización das operacións na GPU e ao uso de memoria de vídeo máis rápida, as consultas en BlazingSQL realízanse ata 20 veces máis rápido que Apache Spark.

Código de motor SQL de BlazingSQL aberto, usando GPU para acelerar

Para traballar con GPU utilízase un conxunto desenvolvido coa participación de NVIDIA aberto bibliotecas RÁPIDOS, que permite crear aplicacións de procesamento e análise de datos que se executan enteiramente no lado da GPU (proporcionada por Interface Python utilizar primitivas CUDA de baixo nivel e paralelizar cálculos).

BlazingSQL ofrece a posibilidade de usar SQL en lugar de API de procesamento de datos cuUDF (na base Apache Arrow) usado en RAPIDS. BlazingSQL é unha capa adicional que se executa enriba de cuDF e usa a biblioteca cuIO para ler datos do disco. As consultas SQL tradúcense en chamadas a funcións cuUDF, que permiten cargar datos na GPU e realizar operacións de combinación, agregación e filtrado nela. Admítese a creación de configuracións distribuídas que abranguen miles de GPU.

BlazingSQL simplifica moito o traballo con datos: en lugar de centos de chamadas a funcións cuDF, podes usar unha consulta SQL. O uso de SQL permite integrar RAPIDS cos sistemas de análise existentes, sen escribir procesadores específicos e sen recorrer á carga intermedia de datos nun DBMS adicional, pero
mantendo a total compatibilidade con todas as partes de RAPIDS, traducindo a funcionalidade existente a SQL e proporcionando rendemento a nivel de cuDF. Isto inclúe soporte para a integración coas bibliotecas XGBoost и cuML para resolver problemas de análise e aprendizaxe automática.

Fonte: opennet.ru

Engadir un comentario