Apache Spark 3.0 agrega compatibilidad con GPU Nvidia para el aprendizaje automático

Apache Spark, el marco de procesamiento de big data en memoria, se acelerará por completo en la GPU en su encarnación 3.0, que pronto se lanzará. Lo mejor de todo es que las aplicaciones Spark actuales pueden aprovechar la aceleración de la GPU sin modificaciones; Todas las API de Spark existentes funcionan tal cual.

Los componentes de aceleración de la GPU, proporcionados por Nvidia, están diseñados para complementar todas las fases de las aplicaciones Spark, incluidas las operaciones ETL, la capacitación en aprendizaje automático y el servicio de inferencias.

Las contribuciones de Spark de Nvidia se basan en la suite RAPIDS de bibliotecas de ciencia de datos aceleradas por GPU. Muchas de las estructuras de datos internas de RAPIDS, como los marcos de datos, complementan las de Spark, pero lograr que Spark utilice RAPIDS de forma nativa ha llevado casi cuatro años de trabajo.

Las aceleraciones de Spark 3.0 no provienen únicamente de la aceleración de la GPU. Spark 3.0 también obtiene ganancias de rendimiento al minimizar el movimiento de datos hacia y desde las GPU. Cuando es necesario mover datos a través de un clúster, el marco de Unified Communication X los transporta directamente de un bloque de memoria de GPU a otro con una sobrecarga mínima.

Según Nvidia, una versión preliminar de Spark 3.0 que se ejecuta en la plataforma Databricks produjo una mejora de rendimiento de siete veces al usar la aceleración de GPU, aunque los detalles sobre la carga de trabajo y su conjunto de datos no estaban disponibles. 

No se ha dado una fecha firme para la disponibilidad general de Spark 3.0. Puede descargar versiones de vista previa desde el sitio web del proyecto Apache Spark.