Recommend the RAPIDS cache serializer for cached SQL plans - #2117
Open
parthosa wants to merge 2 commits into
Open
Recommend the RAPIDS cache serializer for cached SQL plans#2117parthosa wants to merge 2 commits into
parthosa wants to merge 2 commits into
Conversation
parthosa
force-pushed
the
feature/tools-2116-cache-serializer
branch
from
August 6, 2026 00:10
1196a01 to
16a9ffe
Compare
Signed-off-by: Partho Sarthi <psarthi@nvidia.com>
parthosa
force-pushed
the
feature/tools-2116-cache-serializer
branch
from
August 6, 2026 00:11
16a9ffe to
957a731
Compare
parthosa
force-pushed
the
feature/tools-2116-cache-serializer
branch
from
August 8, 2026 20:11
49dd39b to
89c9696
Compare
Signed-off-by: Partho Sarthi <psarthi@nvidia.com>
parthosa
force-pushed
the
feature/tools-2116-cache-serializer
branch
from
August 9, 2026 03:30
89c9696 to
96eac03
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a shared AutoTuner heuristic that recommends
spark.sql.cache.serializer=com.nvidia.spark.ParquetCachedBatchSerializerwhen an application uses Spark SQL caching. It collects cache evidence from every observed SQL plan version, including AQE updates, and fromTableCacheQueryStageRDD scopes when Spark omits cache operators from SQL plan events.Approach
SQLPlanModelManager, including versions replaced by later AQE updates.InMemoryRelation,InMemoryTableScan, andTableCacheQueryStageas alternate signals for Spark SQL caching.Key design decisions
Reviewer attention areas
SQLPlanModelManager.collectObservedRDDScopesfilters structured RDD scope names against the same cache-node set used by AutoTuner.AppBase.getOrCreateStagerecords stage-scope evidence for both Qualification and Profiling processing paths.recommendCacheSerializerrespects excluded properties and distinguishes Spark's default serializer from a user-provided custom value.Files changed
bootstrap/tuningConfigs.yamlandtuningTable.yamlSQLPlanModelManager.scalaandAppBase.scalaAutoTuner.scalaWhat is NOT affected
spark.rapids.sql.exec.InMemoryTableScanExecor alter plugin fallback behavior.Testing
AppSummaryInfoProviderSuite: 5 tests passed.QualificationAutoTunerSuite: 42 tests passed.ProfilingAutoTunerSuiteV2: 43 tests passed.mvn package -DskipTestscompleted successfully for the Scala 2.12 JAR.Known limitations / follow-up