Apache Spark用のNVIDIA GPUクラスタのチューニング

GPUプロバイダの推奨事項を使用し、オプションのライブラリをインストールすることで、NVIDIA GPUクラスタをチューニングしてパフォーマンスを最適化できます。

GPUクラスタをチューニングすると、Oracle AI Data Platform Workbenchのジョブによってコールされたときに、これらのクラスタのパフォーマンスを最適化できます。

NVIDIA GPUベースのクラスタの場合は、NVIDIAのチューニング・ガイドに従って、パフォーマンスを最適化するために実行できる推奨事項とステップを確認できます。

最適化を支援するために、Apache Sparkライブラリ用のNVIDIA cuDFおよびcuMLプラグインをインストールするオプションもあります。

  • cuDF plugin for Apache Sparkライブラリは、Apache Sparkのアクセラレータであり、GPUを利用して処理を高速化する一連のプラグインを提供しています。
  • cuML plug-in for Apache Sparkライブラリは、Apache Spark上でGPUアクセラレーションされた分散機械学習を可能にし、cuMLライブラリを搭載した複数のPySpark ML互換アルゴリズムを提供します。

cuDFプラグイン・ライブラリは、最初に機能エンジニアリングおよびデータ・クリーニングに使用され、その後、cuMLプラグイン・ライブラリを使用して大規模に相互検証が実行されます。これらのライブラリは、不正検出(時系列)、Webクリックストリーム、A/B実験などのユース・ケースに使用できます。

表9-2推奨されるSpark構成

設定 Value ノート
spark.task.resource.gpuマウント 0.0625 1 / spark.executor.cores
spark.rapids.sql.concurrentGpuタスク 3 GPUメモリ/8GB、最大4
spark.rapids.shuffle.multiThreaded.write.threads 32 ワーカー当たりのCPUコア/GPU数
スパーク・ラピッド・シャッフル・マルチスレッド・リーダー・スレッド 32 ワーカー当たりのCPUコア/GPU数
spark.shuffle. マネージャ com.nvidia.spark.rapids.spark350.RapidsShuffleManager -
spark.rapids.shuffle.mode マルチスレッド -
スパークプラグイン com.nvidia.spark.SQLプラグイン -
スパーク.executor.resource.gpu.amount 1 -
spark.sql.files.maxPartitionバイト数 2GB オプションであり、大規模なデータセットに推奨されます
spark.rapids.sql.batchSizeバイト 2GB オプションであり、大規模なデータセットに推奨されます
spark.rapids.memory.host.spillStorageSize 32G オプションであり、大規模なデータセットに推奨されます
spark.rapids.memory.pinnedPool.size 8G オプションであり、大規模なデータセットに推奨されます
spark.sql.adaptive.coalescePartitions.minPartitionSize 32Mバイト オプションであり、大規模なデータセットに推奨されます
spark.sql.adaptive.advisoryPartitionSizeInバイト 160MB オプションであり、大規模なデータセットに推奨されます
spark.rapids.filecache.enabled オプション。ワークロードがデータセットを再利用する場合にお薦めします