针对 Apache Spark 优化 NVIDIA GPU 集群

您可以通过使用 GPU 提供程序的建议和安装可选库来优化 NVIDIA GPU 集群,以优化其性能。

当任务在 Oracle AI Data Platform 工作台中调用时,优化 GPU 集群有助于优化这些集群的性能。

对于基于 NVIDIA GPU 的集群,您可以按照 NVIDIA 的调优指南来获取优化性能的建议和步骤。

您还可以选择为 Apache Spark 库安装 NVIDIA cuDF 和 cuML 插件,以协助优化:

cuDF 插件库通常首先用于功能工程和数据清理,然后使用 cuML 插件库大规模执行交叉验证。您可以将这些库用于欺诈检测(时间序列)、Web 点击流和 A/B 实验等用例。

表 9-2 建议的 Spark 配置

设置 附注
spark.task.resource.gpu.amount 0.0625 1 个 / spark.executor.cores
spark.rapids.sql.concurrentGpu 任务 3 GPU 内存 / 8GB,最多 4 个
spark.rapids.shuffle.multiThreaded.writer.threads 32 每个工作进程的 CPU 核心数/GPU 计数
spark.rapids.shuffle.multiThreaded.reader.threads 32 每个工作进程的 CPU 核心数/GPU 计数
spark.shuffle.manager com.nvidia.spark.rapids.spark350.RapidsShuffleManager -
spark.rapids.shuffle.mode 多路径 -
火花插件 com.nvidia.spark.SQLPlugin -
spark.executor.resource.gpu.amount 1 -
spark.sql.files.maxPartitionBytes 2 GB 可选,建议用于大型数据集
spark.rapids.sql.batchSizeBytes 2 GB 可选,建议用于大型数据集
spark.rapids.memory.host.spillStorageSize 32 G 可选,建议用于大型数据集
spark.rapids.memory.pinnedPool.size 8 G 可选,建议用于大型数据集
spark.sql.adaptive.coalescePartitions.minPartitionSize 32 MB 可选,建议用于大型数据集
spark.sql.adaptive.advisoryPartitionSizeInBytes 160 MB 可选,建议用于大型数据集
spark.rapids.filecache.enabled True 可选,建议在工作负载将重用数据集时使用