From 9ec73e2f8149ec3563688d642fa9c92d4a43d4d4 Mon Sep 17 00:00:00 2001 From: Partho Sarthi Date: Fri, 7 Feb 2025 14:15:59 -0800 Subject: [PATCH 1/2] Handle invalid cluster recommendation for Dataproc Signed-off-by: Partho Sarthi --- .../nvidia/spark/rapids/tool/Platform.scala | 35 +++++++++++++-- .../platform/invalid/dataproc.zstd | Bin 0 -> 196485 bytes .../platform/{ => valid}/databricks-aws | 0 .../platform/{ => valid}/databricks-azure | 0 .../platform/{ => valid}/dataproc | 0 .../platform/{ => valid}/emr | 0 .../platform/{ => valid}/onprem | 0 .../qualification/QualificationSuite.scala | 40 ++++++++++++++---- 8 files changed, 63 insertions(+), 12 deletions(-) create mode 100644 core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc.zstd rename core/src/test/resources/spark-events-qualification/cluster_information/platform/{ => valid}/databricks-aws (100%) rename core/src/test/resources/spark-events-qualification/cluster_information/platform/{ => valid}/databricks-azure (100%) rename core/src/test/resources/spark-events-qualification/cluster_information/platform/{ => valid}/dataproc (100%) rename core/src/test/resources/spark-events-qualification/cluster_information/platform/{ => valid}/emr (100%) rename core/src/test/resources/spark-events-qualification/cluster_information/platform/{ => valid}/onprem (100%) diff --git a/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala b/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala index 9e285bf5a..818fe7bb6 100644 --- a/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala +++ b/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala @@ -485,8 +485,7 @@ abstract class Platform(var gpuDevice: Option[GpuDevice], } val dynamicAllocSettings = Platform.getDynamicAllocationSettings(sparkProperties) - recommendedNodeInstanceInfo = Some(recommendedNodeInstance) - recommendedClusterInfo = Some(RecommendedClusterInfo( + val recommendedCluster = RecommendedClusterInfo( vendor = vendor, coresPerExecutor = clusterConfig.coresPerExec, numWorkerNodes = numWorkerNodes, @@ -498,7 +497,15 @@ abstract class Platform(var gpuDevice: Option[GpuDevice], dynamicAllocationMinExecutors = dynamicAllocSettings.min, dynamicAllocationInitialExecutors = dynamicAllocSettings.initial, workerNodeType = Some(recommendedNodeInstance.name) - )) + ) + + validateRecommendedCluster(recommendedCluster) match { + case Right(validCluster) => + recommendedNodeInstanceInfo = Some(recommendedNodeInstance) + recommendedClusterInfo = Some(validCluster) + case Left(reason) => + logWarning(s"Failed to generate a cluster recommendation. Reason: $reason") + } case None => logWarning("Failed to generate a cluster recommendation. " + @@ -513,6 +520,17 @@ abstract class Platform(var gpuDevice: Option[GpuDevice], "Cluster properties are missing and event log does not contain cluster information.") } } + + /** + * Validates the recommended cluster configuration. This can be overridden by + * subclasses to provide platform-specific validation. + * @param recommendedClusterInfo Recommended cluster configuration + * @return Either a failure message or the valid recommended cluster configuration + */ + protected def validateRecommendedCluster( + recommendedClusterInfo: RecommendedClusterInfo): Either[String, RecommendedClusterInfo] = { + Right(recommendedClusterInfo) + } } abstract class DatabricksPlatform(gpuDevice: Option[GpuDevice], @@ -592,10 +610,21 @@ class DataprocPlatform(gpuDevice: Option[GpuDevice], override val defaultGpuDevice: GpuDevice = T4Gpu override def isPlatformCSP: Boolean = true override def maxGpusSupported: Int = 4 + private val minWorkerNodes = 2 override def getInstanceByResourcesMap: Map[(Int, Int), InstanceInfo] = { PlatformInstanceTypes.DATAPROC_BY_GPUS_CORES } + + override def validateRecommendedCluster( + recommendedClusterInfo: RecommendedClusterInfo): Either[String, RecommendedClusterInfo] = { + if (recommendedClusterInfo.numWorkerNodes < minWorkerNodes) { + Left(s"Requested number of worker nodes (${recommendedClusterInfo.numWorkerNodes}) " + + s"is less than the minimum required ($minWorkerNodes) by the platform.") + } else { + Right(recommendedClusterInfo) + } + } } class DataprocServerlessPlatform(gpuDevice: Option[GpuDevice], diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc.zstd b/core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc.zstd new file mode 100644 index 0000000000000000000000000000000000000000..74a22e58136b64691c97d9cbf76aac2d788c4790 GIT binary patch literal 196485 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

-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 z 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 literal 0 HcmV?d00001 diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/databricks-aws b/core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/databricks-aws similarity index 100% rename from core/src/test/resources/spark-events-qualification/cluster_information/platform/databricks-aws rename to core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/databricks-aws diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/databricks-azure b/core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/databricks-azure similarity index 100% rename from core/src/test/resources/spark-events-qualification/cluster_information/platform/databricks-azure rename to core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/databricks-azure diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/dataproc b/core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/dataproc similarity index 100% rename from core/src/test/resources/spark-events-qualification/cluster_information/platform/dataproc rename to core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/dataproc diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/emr b/core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/emr similarity index 100% rename from core/src/test/resources/spark-events-qualification/cluster_information/platform/emr rename to core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/emr diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/onprem b/core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/onprem similarity index 100% rename from core/src/test/resources/spark-events-qualification/cluster_information/platform/onprem rename to core/src/test/resources/spark-events-qualification/cluster_information/platform/valid/onprem diff --git a/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala b/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala index e3ca550d5..61de207c5 100644 --- a/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala +++ b/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala @@ -1619,7 +1619,12 @@ class QualificationSuite extends BaseTestSuite { expectedClusterInfoMap.foreach { case (eventlogPath, expectedClusterInfo) => test(s"test cluster information JSON - $eventlogPath") { val logFile = s"$logDir/cluster_information/$eventlogPath" - runQualificationAndTestClusterInfo(logFile, PlatformNames.DEFAULT, expectedClusterInfo) + val actualClusterInfo = + runQualificationAndGetClusterSummary(logFile, PlatformNames.DEFAULT) + .flatMap(_.clusterInfo) + assert(actualClusterInfo == expectedClusterInfo, + s"Actual cluster info does not match the expected cluster info. " + + s"Expected: $expectedClusterInfo, Actual: $actualClusterInfo") } } @@ -1688,16 +1693,22 @@ class QualificationSuite extends BaseTestSuite { expectedPlatformClusterInfoMap.foreach { case (platform, expectedClusterInfo) => test(s"test cluster information JSON for platform - $platform ") { - val logFile = s"$logDir/cluster_information/platform/$platform" - runQualificationAndTestClusterInfo(logFile, platform, Some(expectedClusterInfo)) + val logFile = s"$logDir/cluster_information/platform/valid/$platform" + val actualClusterInfo = + runQualificationAndGetClusterSummary(logFile, platform) + .flatMap(_.clusterInfo) + assert(actualClusterInfo.contains(expectedClusterInfo), + s"Actual cluster info does not match the expected cluster info. " + + s"Expected: $expectedClusterInfo, Actual: $actualClusterInfo") } } /** - * Runs the qualification tool and verifies cluster information against expected values. + * Runs the qualification tool and returns the cluster summary. */ - private def runQualificationAndTestClusterInfo(eventlogPath: String, platform: String, - expectedClusterInfo: Option[ExistingClusterInfo]): Unit = { + private def runQualificationAndGetClusterSummary( + eventlogPath: String, platform: String): Option[ClusterSummary] = { + var clusterSummary: Option[ClusterSummary] = None TrampolineUtil.withTempDir { outPath => val baseArgs = Array("--output-directory", outPath.getAbsolutePath, "--platform", platform) val appArgs = new QualificationArgs(baseArgs :+ eventlogPath) @@ -1714,10 +1725,9 @@ class QualificationSuite extends BaseTestSuite { // Read output JSON and create a set of (event log, cluster info) val outputResultFile = s"$outPath/${QualOutputWriter.LOGFILE_NAME}/" + s"${QualOutputWriter.LOGFILE_NAME}_cluster_information.json" - val actualClusterInfo = readJson(outputResultFile).headOption.flatMap(_.clusterInfo) - assert(actualClusterInfo == expectedClusterInfo, - "Actual cluster info does not match the expected cluster info.") + clusterSummary = readJson(outputResultFile).headOption } + clusterSummary } test("test cluster information generation is disabled") { @@ -1740,6 +1750,18 @@ class QualificationSuite extends BaseTestSuite { } } + // TODO: This should be extended for validating the recommended cluster information + // for other platforms. + test(s"test invalid recommended cluster information JSON for platform - dataproc") { + val logFile = s"$logDir/cluster_information/platform/invalid/dataproc.zstd" + val actualRecommendedClusterInfo = + runQualificationAndGetClusterSummary(logFile, PlatformNames.DATAPROC) + .flatMap(_.recommendedClusterInfo) + assert(actualRecommendedClusterInfo.isEmpty, + "Recommended cluster info is expected to be empty. " + + s"Actual: $actualRecommendedClusterInfo") + } + test("test status report generation for wildcard event log") { val logFiles = Array( s"$logDir/cluster_information/eventlog_3node*") // correct wildcard event log with 3 matches From 68ee89f7a593b1d397f3ad2008b7658e3c995344 Mon Sep 17 00:00:00 2001 From: Partho Sarthi Date: Mon, 10 Feb 2025 11:03:21 -0800 Subject: [PATCH 2/2] Address review comments Signed-off-by: Partho Sarthi --- .../nvidia/spark/rapids/tool/Platform.scala | 22 +++++++----------- .../spark/rapids/tool/tuning/AutoTuner.scala | 16 ++++++++----- ...zstd => dataproc_invalid_num_workers.zstd} | Bin .../qualification/QualificationSuite.scala | 4 ++-- .../tool/tuning/ProfilingAutoTunerSuite.scala | 3 +++ 5 files changed, 24 insertions(+), 21 deletions(-) rename core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/{dataproc.zstd => dataproc_invalid_num_workers.zstd} (100%) diff --git a/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala b/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala index 818fe7bb6..ae03f5b3f 100644 --- a/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala +++ b/core/src/main/scala/com/nvidia/spark/rapids/tool/Platform.scala @@ -457,10 +457,10 @@ abstract class Platform(var gpuDevice: Option[GpuDevice], * * @param sparkProperties A map of Spark properties (combined from application and * cluster properties) - * @return Optional `RecommendedClusterInfo` containing the GPU cluster configuration - * recommendation. + * @return Either a failure message or the recommended cluster configuration */ - def createRecommendedGpuClusterInfo(sparkProperties: Map[String, String]): Unit = { + def createRecommendedGpuClusterInfo( + sparkProperties: Map[String, String]): Either[String, RecommendedClusterInfo] = { // Get the appropriate cluster configuration strategy (either // 'ClusterPropertyBasedStrategy' based on cluster properties or // 'EventLogBasedStrategy' based on the event log). @@ -499,24 +499,20 @@ abstract class Platform(var gpuDevice: Option[GpuDevice], workerNodeType = Some(recommendedNodeInstance.name) ) - validateRecommendedCluster(recommendedCluster) match { - case Right(validCluster) => - recommendedNodeInstanceInfo = Some(recommendedNodeInstance) - recommendedClusterInfo = Some(validCluster) - case Left(reason) => - logWarning(s"Failed to generate a cluster recommendation. Reason: $reason") + validateRecommendedCluster(recommendedCluster).map { validCluster => + recommendedNodeInstanceInfo = Some(recommendedNodeInstance) + recommendedClusterInfo = Some(validCluster) + validCluster } case None => - logWarning("Failed to generate a cluster recommendation. " + - "Could not determine number of executors. " + + Left("Could not determine number of executors. " + "Check the Spark properties used for this application or " + "cluster properties (if provided).") } case None => - logWarning("Failed to generate a cluster recommendation. " + - "Could not determine number of executors. " + + Left("Could not determine number of executors. " + "Cluster properties are missing and event log does not contain cluster information.") } } diff --git a/core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/AutoTuner.scala b/core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/AutoTuner.scala index 7047060c7..0f864623d 100644 --- a/core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/AutoTuner.scala +++ b/core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/AutoTuner.scala @@ -379,12 +379,16 @@ class AutoTuner( * Returns None if the platform doesn't support specific instance types. */ private def configureGPURecommendedInstanceType(): Unit = { - platform.createRecommendedGpuClusterInfo(getAllProperties.toMap) - platform.recommendedClusterInfo.foreach { gpuClusterRec => - appendRecommendation("spark.executor.cores", gpuClusterRec.coresPerExecutor) - if (gpuClusterRec.numExecutors > 0) { - appendRecommendation("spark.executor.instances", gpuClusterRec.numExecutors) - } + platform.createRecommendedGpuClusterInfo(getAllProperties.toMap) match { + case Right(gpuClusterRec) => + appendRecommendation("spark.executor.cores", gpuClusterRec.coresPerExecutor) + if (gpuClusterRec.numExecutors > 0) { + appendRecommendation("spark.executor.instances", gpuClusterRec.numExecutors) + } + case Left(reason) => + val errorMsg = "Failed to generate a cluster recommendation. Reason: " + reason + logWarning(errorMsg) + appendComment(errorMsg) } } diff --git a/core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc.zstd b/core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc_invalid_num_workers.zstd similarity index 100% rename from core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc.zstd rename to core/src/test/resources/spark-events-qualification/cluster_information/platform/invalid/dataproc_invalid_num_workers.zstd diff --git a/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala b/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala index 61de207c5..96bcb9360 100644 --- a/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala +++ b/core/src/test/scala/com/nvidia/spark/rapids/tool/qualification/QualificationSuite.scala @@ -1752,8 +1752,8 @@ class QualificationSuite extends BaseTestSuite { // TODO: This should be extended for validating the recommended cluster information // for other platforms. - test(s"test invalid recommended cluster information JSON for platform - dataproc") { - val logFile = s"$logDir/cluster_information/platform/invalid/dataproc.zstd" + test(s"test invalid recommended num workers for platform - dataproc") { + val logFile = s"$logDir/cluster_information/platform/invalid/dataproc_invalid_num_workers.zstd" val actualRecommendedClusterInfo = runQualificationAndGetClusterSummary(logFile, PlatformNames.DATAPROC) .flatMap(_.recommendedClusterInfo) diff --git a/core/src/test/scala/com/nvidia/spark/rapids/tool/tuning/ProfilingAutoTunerSuite.scala b/core/src/test/scala/com/nvidia/spark/rapids/tool/tuning/ProfilingAutoTunerSuite.scala index f1cd67f9c..6aa6e0e5e 100644 --- a/core/src/test/scala/com/nvidia/spark/rapids/tool/tuning/ProfilingAutoTunerSuite.scala +++ b/core/src/test/scala/com/nvidia/spark/rapids/tool/tuning/ProfilingAutoTunerSuite.scala @@ -152,6 +152,7 @@ class ProfilingAutoTunerSuite extends BaseAutoTunerSuite { |- 'spark.sql.files.maxPartitionBytes' was not set. |- 'spark.task.resource.gpu.amount' should be set to 0.001. |- Could not infer the cluster configuration, recommendations are generated using default values! + |- Failed to generate a cluster recommendation. Reason: Could not determine number of executors. Cluster properties are missing and event log does not contain cluster information. |- ${ProfilingAutoTunerConfigsProvider.classPathComments("rapids.jars.missing")} |- ${ProfilingAutoTunerConfigsProvider.classPathComments("rapids.shuffle.jars")} |""".stripMargin @@ -187,6 +188,7 @@ class ProfilingAutoTunerSuite extends BaseAutoTunerSuite { |- 'spark.sql.files.maxPartitionBytes' was not set. |- 'spark.task.resource.gpu.amount' should be set to 0.001. |- Could not infer the cluster configuration, recommendations are generated using default values! + |- Failed to generate a cluster recommendation. Reason: Could not determine number of executors. Cluster properties are missing and event log does not contain cluster information. |- ${ProfilingAutoTunerConfigsProvider.classPathComments("rapids.jars.missing")} |- ${ProfilingAutoTunerConfigsProvider.classPathComments("rapids.shuffle.jars")} |""".stripMargin @@ -241,6 +243,7 @@ We recommend using nodes/workers with more memory. Need at least 17496MB memory. |- 'spark.sql.files.maxPartitionBytes' was not set. |- 'spark.task.resource.gpu.amount' should be set to 0.001. |- Could not infer the cluster configuration, recommendations are generated using default values! + |- Failed to generate a cluster recommendation. Reason: Could not determine number of executors. Cluster properties are missing and event log does not contain cluster information. |- ${ProfilingAutoTunerConfigsProvider.classPathComments("rapids.jars.missing")} |- ${ProfilingAutoTunerConfigsProvider.classPathComments("rapids.shuffle.jars")} |""".stripMargin