Réglage d'un cluster de GPU NVIDIA pour Apache Spark

Vous pouvez régler vos clusters de GPU NVIDIA pour optimiser leurs performances en utilisant les recommandations du fournisseur de GPU et en installant des bibliothèques facultatives.

Le réglage des clusters de GPU peut aider à optimiser les performances de ces clusters lorsqu'ils sont appelés par des travaux dans votre workbench Oracle AI Data Platform.

Pour les clusters basés sur des GPU NVIDIA, vous pouvez suivre le guide de réglage de NVIDIA pour obtenir des recommandations et des étapes à suivre pour optimiser les performances.

Vous avez également la possibilité d'installer des plug-ins NVIDIA cuDF et cuML pour les bibliothèques Apache Spark afin de faciliter l'optimisation :

La bibliothèque de plug-ins cuDF est généralement utilisée d'abord pour l'ingénierie des fonctionnalités et le nettoyage des données, puis la validation croisée est effectuée à grande échelle à l'aide de la bibliothèque de plug-ins cuML. Vous pouvez utiliser ces bibliothèques pour des cas d'utilisation tels que la détection des fraudes (séries temporelles), le flux de clics Web et l'expérimentation A/B.

Tableau 9-2 Configurations Spark recommandées

Paramétrage Value Remarque
étincelle.tâche.ressource.gpu.montant 0,062 1 / étincelle.executor.cores
spark.rapids.sql.concurrentGpuTasks 3 Mémoire GPU / 8 Go, maximum de 4
spark.rapids.shuffle.multiThreaded.writer.threads 32 Nombre de coeurs de processeur/GPU par processus actif
spark.rapids.shuffle.multiThreaded.reader.threader 32 Nombre de coeurs de processeur/GPU par processus actif
spark.shuffle.manager com.nvidia.spark.rapids.spark350. RapidsShuffleManager -
shuffle.mode MULTITHREAD -
plugins Com.nvidia.spark.SQLPlugin -
spark.executor.resource.gpu.amount 1 -
spark.sql.files.maxPartitionBytes 2 Go Facultatif, recommandé pour les jeux de données volumineux
spark.rapids.sql.batchSizeBytes 2 Go Facultatif, recommandé pour les jeux de données volumineux
étincelle.rapids.memory.host.spillStockageTaille 32 G Facultatif, recommandé pour les jeux de données volumineux
étincelle.rapides.memory.pinnedPool.size 8 G Facultatif, recommandé pour les jeux de données volumineux
spark.sql.adaptive.coalescePartitions.minPartitionSize 32 Mo Facultatif, recommandé pour les jeux de données volumineux
spark.sql.adaptive.advisoryPartitionSizeInBytes 160 MO Facultatif, recommandé pour les jeux de données volumineux
spark.rapids.filecache.enabled Vrai Facultatif, recommandé si les charges globales réutiliseront les ensembles de données