HyperAI

Recommandation D'outils : Volants Hautes Performances Conçus Spécifiquement Pour Les GPU

il y a 6 ans
Titres
Liste recommandée
Dao Wei
特色图像

Par Super Neuro

Les GPU et les bases de données ont leurs propres atouts. Les GPU sont efficaces pour traiter des tâches telles que l’apprentissage automatique, tandis que les bases de données sont efficaces pour les calculs avec des exigences spécifiques, telles que les calculs de connexion complexes.

Il existe actuellement certains produits de solutions de base de données qui offrent une accélération GPU, notamment les familiers MapD et Kinetica. Aujourd'hui, nous allons présenter un jeune produit open source, BlazingSQL.

BlazingSQL est un outil de requête de base de données accéléré par GPU basé sur RAPIDS. BlazingSQL étend RAPIDS et permet aux utilisateurs d'exécuter des requêtes SQL directement sur Apache Arrow dans la mémoire GPU.

Outre son adaptabilité aux GPU et sa vitesse, qui sont beaucoup plus rapides que d'autres produits similaires, la plupart des entrepôts de données SQL nécessitent que les entreprises extraient et copient elles-mêmes les données, tandis que BlazingDB peut lire les données directement depuis Apache Parquet, ce qui simplifie l'architecture du canal de données tout en prenant en charge les charges hautes performances.

Plus important encore, BlazingSQL a également reçu des investissements de NVIDIA et de Samsung, et entretient une très bonne relation de coopération avec NVIDIA.

Évaluation des performances

Pour comparer les performances des outils, vous devez d’abord effectuer un test d’évaluation comparative et exécuter une charge de travail analytique de bout en bout.

* Les étapes sont : Data Lake > FTL Feature Engineering > XGBoost Training

* Nous avons construit deux clusters à prix comparables sur GCP, en utilisant respectivement Apache Spark et BlazingSQL.

* Le résultat final est que BlazingSQL fonctionne 5 fois plus rapidement qu'Apache Spark.

(La nouvelle version s'exécute 20 fois plus rapidement qu'Apache Spark sur la même charge de travail.)

Un bon cheval mérite une bonne selle

La raison pour laquelle Blazing SQL peut obtenir des résultats d'exécution efficaces est qu'il utilise luxueusement le GPU T4 de GCP, qui est un nouveau GPU d'entrée de gamme bon marché mais doté de performances élevées.

L'utilisation des nouveaux GPU T4 a réduit nos coûts de moitié, réduisant le cluster Apache Spark à 4 nœuds CPU pour maintenir des prix cohérents.

Mais le résultat final est que même si la mémoire du GPU est réduite de moitié, la charge de travail entière sera nettement plus rapide.

Les ingénieurs de Blazing SQL ont également développé un noyau d'exécution GPU conçu spécifiquement pour les GPU DataFrames (GDF) appelé « SIMD Expression Interpreter ».

Il faudrait beaucoup de temps pour décrire l'interpréteur d'expression SIMD, je vais donc ici simplement partager quelques détails sur son fonctionnement et pourquoi de telles améliorations de performances se produisent.

L'amélioration des performances de l'interpréteur d'expressions SIMD est principalement obtenue grâce aux étapes clés suivantes :

1. La machine prend en charge plusieurs entrées. Ces entrées peuvent être des colonnes GDF, des littéraux, des fonctions.

2. Lors du chargement de ces entrées, l'interpréteur d'expression SIMD optimise l'allocation des registres sur le GPU, ce qui améliore l'utilisation du GPU et, en fin de compte, les performances.

3. De plus, la machine virtuelle traite ces entrées et génère plusieurs sorties simultanément. Par exemple, considérons la requête SQL suivante : SELECT colA + colB * 10, sin(colA) — cos(colD) FROM tableA