Código del motor SQL BlazingSQL abierto, usando GPU para aceleración

Anunciado sobre abrir las fuentes del motor SQL BlazingSQL, que utiliza la GPU para acelerar el procesamiento de datos. BlazingSQL no es un DBMS completo, pero se posiciona como un motor para analizar y procesar grandes conjuntos de datos, comparable en sus tareas a Apache Spark. El código está escrito en Python y está abierto licenciado bajo Apache 2.0.

BlazingSQL es adecuado para realizar consultas analíticas individuales en grandes conjuntos de datos (decenas de gigabytes) almacenados en formatos tabulares (por ejemplo, registros, estadísticas de NetFlow, etc.). BlazingSQL puede ejecutar consultas desde archivos sin formato en formatos CSV y Apache Parquet alojados en sistemas de archivos de red y en la nube como HDSF y AWS S3, transfiriendo directamente el resultado a la memoria de la GPU. Gracias a la paralelización de operaciones en la GPU y al uso de una memoria de video más rápida, las consultas BlazingSQL se ejecutan en menos de 20 veces más rápido que Apache Spark.

Código del motor SQL BlazingSQL abierto, usando GPU para aceleración

Para trabajar con GPU se utiliza un conjunto desarrollado con la participación de NVIDIA abrir bibliotecas RÁPIDOS, que le permite crear aplicaciones de análisis y procesamiento de datos que se ejecutan completamente en el lado de la GPU (proporcionada por interfaz pitón utilizar primitivas CUDA de bajo nivel y paralelizar cálculos).

BlazingSQL ofrece la posibilidad de utilizar SQL en lugar de API de procesamiento de datos cuUDF (En la base Flecha Apache) utilizado en RÁPIDOS. BlazingSQL es una capa adicional que se ejecuta sobre cuDF y utiliza la biblioteca cuIO para leer datos del disco. Las consultas SQL se traducen en llamadas a funciones cuUDF, que le permiten cargar datos en la GPU y realizar operaciones de fusión, agregación y filtrado en ellos. Se admite la creación de configuraciones distribuidas que abarcan miles de GPU.

BlazingSQL simplifica enormemente el trabajo con datos: en lugar de cientos de llamadas a funciones cuDF, puede utilizar una consulta SQL. El uso de SQL permite integrar RAPIDS con los sistemas de análisis existentes, sin escribir procesadores específicos y sin recurrir a la carga intermedia de datos en un DBMS adicional, pero
manteniendo la compatibilidad total con todas las partes de RAPIDS, traduciendo la funcionalidad existente a SQL y proporcionando rendimiento a nivel cuDF. Esto incluye soporte para la integración con bibliotecas. XGBoost и cuml para la resolución de problemas de analítica y aprendizaje automático.

Fuente: opennet.ru

Añadir un comentario