From e8f6a8d1f9d0f24ad364413b94802df3ab9090a1 Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Fri, 19 Jul 2024 12:07:26 -0600 Subject: [PATCH] docs: Update benchmark results (#687) * update TPC-H benchmarks and add TPC-DS benchmarks * fix links * remove bullet --- README.md | 6 +- .../2024-07-19/tpcds_allqueries.png | Bin 0 -> 27257 bytes .../2024-07-19/tpcds_queries_compare.png | Bin 0 -> 39132 bytes .../2024-07-19/tpcds_queries_speedup.png | Bin 0 -> 85002 bytes .../2024-07-19/tpch_allqueries.png | Bin 0 -> 26393 bytes .../2024-07-19/tpch_queries_compare.png | Bin 0 -> 29269 bytes .../2024-07-19/tpch_queries_speedup.png | Bin 0 -> 42444 bytes .../source/_static/images/tpch_allqueries.png | Bin 24465 -> 0 bytes .../_static/images/tpch_queries_compare.png | Bin 28097 -> 0 bytes .../_static/images/tpch_queries_speedup.png | Bin 37231 -> 0 bytes .../2024-06-29/spark-8-exec-5-runs.json | 184 ---------- .../2024-07-19/comet-tpcds.json | 342 ++++++++++++++++++ .../comet-tpch.json} | 197 ++++------ .../datafusion-tpch.json} | 0 .../2024-07-19/spark-tpcds.json | 327 +++++++++++++++++ .../2024-07-19/spark-tpch.json | 138 +++++++ docs/source/contributor-guide/benchmarking.md | 54 ++- 17 files changed, 922 insertions(+), 326 deletions(-) create mode 100644 docs/source/_static/images/benchmark-results/2024-07-19/tpcds_allqueries.png create mode 100644 docs/source/_static/images/benchmark-results/2024-07-19/tpcds_queries_compare.png create mode 100644 docs/source/_static/images/benchmark-results/2024-07-19/tpcds_queries_speedup.png create mode 100644 docs/source/_static/images/benchmark-results/2024-07-19/tpch_allqueries.png create mode 100644 docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png create mode 100644 docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_speedup.png delete mode 100644 docs/source/_static/images/tpch_allqueries.png delete mode 100644 docs/source/_static/images/tpch_queries_compare.png delete mode 100644 docs/source/_static/images/tpch_queries_speedup.png delete mode 100644 docs/source/contributor-guide/benchmark-results/2024-06-29/spark-8-exec-5-runs.json create mode 100644 docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpcds.json rename docs/source/contributor-guide/benchmark-results/{2024-06-29/comet-8-exec-5-runs.json => 2024-07-19/comet-tpch.json} (53%) rename docs/source/contributor-guide/benchmark-results/{2024-06-29/datafusion-python-8-cores.json => 2024-07-19/datafusion-tpch.json} (100%) create mode 100644 docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpcds.json create mode 100644 docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json diff --git a/README.md b/README.md index f128d17d3..b166f41d1 100644 --- a/README.md +++ b/README.md @@ -43,16 +43,16 @@ speedup compared to Spark. Comet is not yet achieving full DataFusion speeds in all cases, but with future work we aim to provide a 2x-4x speedup for a broader set of queries. -![](docs/source/_static/images/tpch_allqueries.png) +![](docs/source/_static/images/benchmark-results/2024-07-19/tpch_allqueries.png) Here is a breakdown showing relative performance of Spark, Comet, and DataFusion for each TPC-H query. -![](docs/source/_static/images/tpch_queries_compare.png) +![](docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png) The following chart shows how much Comet currently accelerates each query from the benchmark. Performance optimization is an ongoing task, and we welcome contributions from the community to help achieve even greater speedups in the future. -![](docs/source/_static/images/tpch_queries_speedup.png) +![](docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_speedup.png) These benchmarks can be reproduced in any environment using the documentation in the [Comet Benchmarking Guide](https://datafusion.apache.org/comet/contributor-guide/benchmarking.html). We encourage diff --git a/docs/source/_static/images/benchmark-results/2024-07-19/tpcds_allqueries.png b/docs/source/_static/images/benchmark-results/2024-07-19/tpcds_allqueries.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7017a09a2738e9d70c2ef64a4e083c21fa2053 GIT binary patch literal 27257 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 literal 0 HcmV?d00001 diff --git a/docs/source/_static/images/benchmark-results/2024-07-19/tpcds_queries_compare.png b/docs/source/_static/images/benchmark-results/2024-07-19/tpcds_queries_compare.png new file mode 100644 index 0000000000000000000000000000000000000000..f49ef68bd514a4004a24558a75da9b00a8e3a55b GIT binary patch literal 39132 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≫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 RfY;P8c)I$ztaD0e0szpLW`zI% literal 0 HcmV?d00001 diff --git a/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png b/docs/source/_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png new file mode 100644 index 0000000000000000000000000000000000000000..ce0a5870ee3324d3e42af1877585d0110ac0e5e1 GIT binary patch literal 29269 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%0ARXWxQ%03H}&{#t-^%vn^q8*)yU9`NDN*~ZtDbLK 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%0A+r&Kgld?2bLp6A(Mn5G6Q3Tx1oiWvu>hOheUd5 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 z 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 X&%EcEy6+iX6?=>NkGD7N|M~v_=(cZN diff --git a/docs/source/_static/images/tpch_queries_speedup.png b/docs/source/_static/images/tpch_queries_speedup.png deleted file mode 100644 index 69c29ac9d26c2b77c75c21ff243df843ef72079b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37231 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 VVX@4La4{)Lhtv)}-*0s3KLAKHCx`$5 diff --git a/docs/source/contributor-guide/benchmark-results/2024-06-29/spark-8-exec-5-runs.json b/docs/source/contributor-guide/benchmark-results/2024-06-29/spark-8-exec-5-runs.json deleted file mode 100644 index 012b05c3a..000000000 --- a/docs/source/contributor-guide/benchmark-results/2024-06-29/spark-8-exec-5-runs.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "engine": "datafusion-comet", - "benchmark": "tpch", - "data_path": "/mnt/bigdata/tpch/sf100/", - "query_path": "../../tpch/queries", - "spark_conf": { - "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", - "spark.sql.warehouse.dir": "file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse", - "spark.app.id": "app-20240528090804-0041", - "spark.app.submitTime": "1716908883258", - "spark.executor.memory": "8G", - "spark.master": "spark://woody:7077", - "spark.executor.id": "driver", - "spark.executor.instances": "8", - "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H / TPC-DS", - "spark.driver.memory": "8G", - "spark.rdd.compress": "True", - "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", - "spark.serializer.objectStreamReset": "100", - "spark.cores.max": "8", - "spark.submit.pyFiles": "", - "spark.executor.cores": "1", - "spark.submit.deployMode": "client", - "spark.sql.autoBroadcastJoinThreshold": "-1", - "spark.eventLog.enabled": "false", - "spark.app.startTime": "1716908883579", - "spark.driver.port": "33725", - "spark.driver.host": "woody.lan" - }, - "1": [ - 76.91316103935242, - 79.55859923362732, - 81.10397529602051, - 79.01998662948608, - 79.1286551952362 - ], - "2": [ - 23.977370262145996, - 22.214473247528076, - 22.686659812927246, - 22.016682386398315, - 21.766324520111084 - ], - "3": [ - 22.700742721557617, - 21.980144739151, - 21.876065969467163, - 21.661516189575195, - 21.69345998764038 - ], - "4": [ - 17.377647638320923, - 16.249598264694214, - 16.15747308731079, - 16.128843069076538, - 16.04338026046753 - ], - "5": [ - 44.38863182067871, - 45.47764492034912, - 45.76063895225525, - 45.16393995285034, - 60.848369121551514 - ], - "6": [ - 3.2041075229644775, - 2.970944881439209, - 2.891291856765747, - 2.9719409942626953, - 3.0702600479125977 - ], - "7": [ - 24.369274377822876, - 24.684266567230225, - 24.146574020385742, - 24.023175716400146, - 30.56047773361206 - ], - "8": [ - 46.46081209182739, - 45.9838604927063, - 46.341185092926025, - 45.833823919296265, - 46.61182403564453 - ], - "9": [ - 67.67960548400879, - 67.34667444229126, - 70.34601259231567, - 71.24095153808594, - 84.38811421394348 - ], - "10": [ - 19.16477870941162, - 19.081010580062866, - 19.501060009002686, - 19.165698528289795, - 20.216782331466675 - ], - "11": [ - 17.158706426620483, - 17.05184030532837, - 17.714542150497437, - 17.004602909088135, - 17.700096130371094 - ], - "12": [ - 11.654477834701538, - 11.805298805236816, - 11.822469234466553, - 12.79678750038147, - 13.64478850364685 - ], - "13": [ - 20.430822372436523, - 20.18759250640869, - 21.26596975326538, - 21.234288454055786, - 20.189200162887573 - ], - "14": [ - 5.60215950012207, - 5.160705089569092, - 5.080057382583618, - 4.937625408172607, - 5.853632688522339 - ], - "15": [ - 14.17775845527649, - 13.898571729660034, - 14.215840578079224, - 14.316090106964111, - 14.356236457824707 - ], - "16": [ - 6.252386808395386, - 6.010213375091553, - 6.054978370666504, - 5.886059522628784, - 5.923115253448486 - ], - "17": [ - 71.41593313217163, - 70.25399804115295, - 72.07622528076172, - 72.27566242218018, - 72.20579051971436 - ], - "18": [ - 65.72738265991211, - 65.47461080551147, - 67.14260482788086, - 65.95489883422852, - 69.51795554161072 - ], - "19": [ - 7.1520891189575195, - 6.516514301300049, - 6.580992698669434, - 6.486274242401123, - 6.418147087097168 - ], - "20": [ - 12.619760036468506, - 12.235978126525879, - 12.116347551345825, - 12.161245584487915, - 12.30910348892212 - ], - "21": [ - 60.795483350753784, - 60.484593629837036, - 61.27316427230835, - 60.475560426712036, - 81.21473670005798 - ], - "22": [ - 8.926804065704346, - 8.113754034042358, - 8.029133796691895, - 7.99291467666626, - 8.439452648162842 - ] -} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpcds.json b/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpcds.json new file mode 100644 index 000000000..a4bab0a94 --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpcds.json @@ -0,0 +1,342 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpcds", + "data_path": "/mnt/bigdata/tpcds/sf100/", + "query_path": "../../tpcds/queries-spark", + "spark_conf": { + "spark.eventLog.enabled": "true", + "spark.jars": "file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", + "spark.comet.cast.allowIncompatible": "true", + "spark.app.initial.jar.urls": "spark://woody.lan:41193/jars/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", + "spark.app.id": "app-20240718163301-0003", + "spark.executor.extraClassPath": "/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", + "spark.comet.exec.shuffle.enabled": "true", + "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H / TPC-DS", + "spark.serializer.objectStreamReset": "100", + "spark.submit.deployMode": "client", + "spark.sql.autoBroadcastJoinThreshold": "-1", + "spark.comet.exec.all.enabled": "true", + "spark.executor.cores": "8", + "spark.driver.port": "41193", + "spark.driver.host": "woody.lan", + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.comet.shuffle.enforceMode.enabled": "true", + "spark.sql.warehouse.dir": "file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse", + "spark.shuffle.manager": "org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager", + "spark.comet.exec.enabled": "true", + "spark.app.submitTime": "1721341980775", + "spark.repl.local.jars": "file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", + "spark.executor.id": "driver", + "spark.master": "spark://woody:7077", + "spark.app.startTime": "1721341981073", + "spark.comet.exec.shuffle.mode": "auto", + "spark.sql.extensions": "org.apache.comet.CometSparkSessionExtensions", + "spark.driver.memory": "8G", + "spark.driver.extraClassPath": "/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", + "spark.sql.adaptive.coalescePartitions.enabled": "true", + "spark.executor.memory": "32G", + "spark.rdd.compress": "True", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.executor.instances": "1", + "spark.cores.max": "8", + "spark.comet.enabled": "true", + "spark.submit.pyFiles": "" + }, + "1": [ + 5.936143159866333 + ], + "2": [ + 8.26771068572998 + ], + "3": [ + 3.143160104751587 + ], + "4": [ + 99.57721495628357 + ], + "5": [ + 20.31959581375122 + ], + "6": [ + 2.659390687942505 + ], + "7": [ + 6.321574449539185 + ], + "8": [ + 3.3775765895843506 + ], + "9": [ + 10.297355890274048 + ], + "10": [ + 5.794115304946899 + ], + "11": [ + 41.01704978942871 + ], + "12": [ + 6.774289131164551 + ], + "13": [ + 8.915542364120483 + ], + "14": [ + 86.61133527755737 + ], + "15": [ + 13.07849407196045 + ], + "16": [ + 19.245990991592407 + ], + "17": [ + 5.388644218444824 + ], + "18": [ + 13.891231536865234 + ], + "19": [ + 3.869602680206299 + ], + "20": [ + 11.179648160934448 + ], + "21": [ + 26.43477487564087 + ], + "22": [ + 12.071606397628784 + ], + "23": [ + 217.38866710662842 + ], + "24": [ + 22.737252235412598 + ], + "25": [ + 6.0180275440216064 + ], + "26": [ + 10.12047791481018 + ], + "27": [ + 5.269314527511597 + ], + "28": [ + 13.336988687515259 + ], + "29": [ + 9.294469594955444 + ], + "30": [ + 2.487182378768921 + ], + "31": [ + 12.829366683959961 + ], + "32": [ + 8.359683275222778 + ], + "33": [ + 9.587389707565308 + ], + "34": [ + 4.090600252151489 + ], + "35": [ + 7.087569713592529 + ], + "36": [ + 5.502429962158203 + ], + "37": [ + 5.975481033325195 + ], + "38": [ + 8.321046113967896 + ], + "39": [ + 86.69561338424683 + ], + "40": [ + 18.024808168411255 + ], + "41": [ + 0.14025306701660156 + ], + "42": [ + 2.7543857097625732 + ], + "43": [ + 5.10432767868042 + ], + "44": [ + 3.023483991622925 + ], + "45": [ + 8.575555086135864 + ], + "46": [ + 6.691994905471802 + ], + "47": [ + 14.728558540344238 + ], + "48": [ + 6.201830148696899 + ], + "49": [ + 11.18767786026001 + ], + "50": [ + 10.928320407867432 + ], + "51": [ + 16.93299388885498 + ], + "52": [ + 2.7706453800201416 + ], + "53": [ + 3.6064443588256836 + ], + "54": [ + 8.893964052200317 + ], + "55": [ + 2.645658254623413 + ], + "56": [ + 9.719430446624756 + ], + "57": [ + 17.113372802734375 + ], + "58": [ + 30.33391761779785 + ], + "59": [ + 14.553935050964355 + ], + "60": [ + 10.117067813873291 + ], + "61": [ + 9.30464506149292 + ], + "62": [ + 11.765451192855835 + ], + "63": [ + 3.6449074745178223 + ], + "64": [ + 23.456274271011353 + ], + "65": [ + 18.001898050308228 + ], + "66": [ + 37.000144958496094 + ], + "67": [ + 46.503966331481934 + ], + "68": [ + 7.1533238887786865 + ], + "69": [ + 5.305586814880371 + ], + "70": [ + 12.200140714645386 + ], + "71": [ + 6.394218683242798 + ], + "72": [ + 51.827319860458374 + ], + "73": [ + 4.081210136413574 + ], + "74": [ + 27.13532018661499 + ], + "75": [ + 26.004110097885132 + ], + "76": [ + 4.606779336929321 + ], + "77": [ + 13.787659645080566 + ], + "78": [ + 41.01244926452637 + ], + "79": [ + 6.395780801773071 + ], + "80": [ + 36.78436040878296 + ], + "81": [ + 2.570908784866333 + ], + "82": [ + 8.755934238433838 + ], + "83": [ + 2.8941328525543213 + ], + "84": [ + 1.1297607421875 + ], + "85": [ + 2.922498941421509 + ], + "86": [ + 3.0235934257507324 + ], + "87": [ + 8.466246366500854 + ], + "88": [ + 21.329773664474487 + ], + "89": [ + 3.9919168949127197 + ], + "90": [ + 2.072303295135498 + ], + "91": [ + 2.06138014793396 + ], + "92": [ + 5.129335880279541 + ], + "93": [ + 15.211457967758179 + ], + "94": [ + 10.024892091751099 + ], + "95": [ + 34.040268898010254 + ], + "96": [ + 2.6338326930999756 + ], + "97": [ + 12.165382146835327 + ], + "98": [ + 3.7391271591186523 + ], + "99": [ + 20.151211977005005 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/2024-06-29/comet-8-exec-5-runs.json b/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpch.json similarity index 53% rename from docs/source/contributor-guide/benchmark-results/2024-06-29/comet-8-exec-5-runs.json rename to docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpch.json index f139578eb..3f8ace8ec 100644 --- a/docs/source/contributor-guide/benchmark-results/2024-06-29/comet-8-exec-5-runs.json +++ b/docs/source/contributor-guide/benchmark-results/2024-07-19/comet-tpch.json @@ -4,199 +4,150 @@ "data_path": "/mnt/bigdata/tpch/sf100/", "query_path": "../../tpch/queries", "spark_conf": { - "spark.comet.explainFallback.enabled": "true", "spark.eventLog.enabled": "true", "spark.jars": "file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", "spark.comet.cast.allowIncompatible": "true", - "spark.app.startTime": "1719691158901", + "spark.app.startTime": "1721402269156", + "spark.app.id": "app-20240719151749-0002", "spark.executor.extraClassPath": "/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", "spark.comet.exec.shuffle.enabled": "true", + "spark.driver.port": "38495", "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H / TPC-DS", - "spark.app.id": "app-20240629135919-0008", - "spark.comet.batchSize": "8192", + "spark.app.submitTime": "1721402268875", "spark.serializer.objectStreamReset": "100", - "spark.driver.host": "10.0.0.118", "spark.submit.deployMode": "client", - "spark.sql.autoBroadcastJoinThreshold": "-1", "spark.comet.exec.all.enabled": "true", "spark.executor.cores": "8", + "spark.driver.host": "woody.lan", "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", "spark.comet.shuffle.enforceMode.enabled": "true", "spark.sql.warehouse.dir": "file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse", "spark.shuffle.manager": "org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager", - "spark.app.submitTime": "1719691158623", - "spark.repl.local.jars": "file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", "spark.comet.exec.enabled": "true", + "spark.repl.local.jars": "file:///home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", "spark.executor.id": "driver", + "spark.app.initial.jar.urls": "spark://woody.lan:38495/jars/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", "spark.master": "spark://woody:7077", "spark.comet.exec.shuffle.mode": "auto", - "spark.driver.port": "34629", "spark.sql.extensions": "org.apache.comet.CometSparkSessionExtensions", "spark.driver.memory": "8G", "spark.driver.extraClassPath": "/home/andy/git/apache/datafusion-comet/spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", - "spark.sql.adaptive.coalescePartitions.enabled": "true", "spark.executor.memory": "32G", "spark.rdd.compress": "True", "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", "spark.executor.instances": "1", "spark.cores.max": "8", "spark.comet.enabled": "true", - "spark.submit.pyFiles": "", - "spark.app.initial.jar.urls": "spark://10.0.0.118:34629/jars/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar", - "spark.comet.cbo.enabled": "false" + "spark.submit.pyFiles": "" }, "1": [ - 28.735982179641724, - 27.904003858566284, - 27.98918342590332, - 27.998026847839355, - 27.7985897064209 + 28.722949028015137, + 27.5392906665802, + 27.496358633041382 ], "2": [ - 15.840301513671875, - 15.137918710708618, - 15.086657047271729, - 15.252221584320068, - 15.093742370605469 + 9.163376569747925, + 8.315577268600464, + 8.380951404571533 ], "3": [ - 18.124080181121826, - 18.498253345489502, - 18.420130252838135, - 18.309802055358887, - 18.46897006034851 + 17.556873083114624, + 17.497890949249268, + 17.48395323753357 ], "4": [ - 9.55617070198059, - 9.518851518630981, - 9.514896392822266, - 9.583910465240479, - 9.444581985473633 + 9.459511756896973, + 9.35229229927063, + 9.526184320449829 ], "5": [ - 33.23771286010742, - 33.053247690200806, - 32.84638738632202, - 32.790276765823364, - 32.90981197357178 + 32.742212772369385, + 32.53394556045532, + 32.72231674194336 ], "6": [ - 3.34500789642334, - 2.9966821670532227, - 3.0137181282043457, - 2.9657068252563477, - 2.919524908065796 + 3.11678147315979, + 2.9885473251342773, + 3.089282274246216 ], "7": [ - 20.84096646308899, - 20.373249053955078, - 20.337918519973755, - 20.32623314857483, - 20.321190357208252 + 19.92447853088379, + 19.889236450195312, + 20.12239646911621 ], "8": [ - 36.99943470954895, - 36.097434520721436, - 36.08603119850159, - 36.26709461212158, - 36.22776746749878 + 36.376123666763306, + 36.56628465652466, + 36.08057117462158 ], "9": [ - 58.00954031944275, - 56.75375247001648, - 57.23253607749939, - 57.04572892189026, - 57.06179666519165 + 55.983471155166626, + 55.55835008621216, + 55.05353879928589 ], "10": [ - 19.51328682899475, - 19.17092227935791, - 19.110991716384888, - 19.05888819694519, - 19.292072534561157 + 18.320690870285034, + 17.953410148620605, + 17.839956283569336 ], "11": [ - 12.222111463546753, - 12.186187267303467, - 12.177972316741943, - 12.100908517837524, - 12.061741828918457 + 7.945342302322388, + 7.947471618652344, + 7.870803356170654 ], "12": [ - 7.657347679138184, - 7.598176002502441, - 7.568347930908203, - 7.4833292961120605, - 7.551736116409302 + 7.797280550003052, + 7.611949920654297, + 7.625390291213989 ], "13": [ - 9.64631199836731, - 9.536576509475708, - 9.564186096191406, - 9.570204496383667, - 9.662892580032349 + 11.711121082305908, + 11.817307949066162, + 11.80425763130188 ], "14": [ - 6.022975921630859, - 5.84771203994751, - 6.049532175064087, - 5.998222827911377, - 5.899066925048828 + 6.106103897094727, + 5.755920171737671, + 5.686336040496826 ], "15": [ - 10.946545600891113, - 10.68128228187561, - 10.473867416381836, - 10.72830843925476, - 10.45834231376648 + 11.505656242370605, + 11.023053884506226, + 10.784588813781738 ], "16": [ - 7.951048851013184, - 6.773421049118042, - 6.630566120147705, - 6.826274633407593, - 6.515024185180664 + 8.015074729919434, + 6.408633232116699, + 6.315148591995239 ], "17": [ - 46.03706979751587, - 42.801599740982056, - 42.59856081008911, - 42.84500861167908, - 42.899412870407104 + 34.54281425476074, + 35.28704261779785, + 34.809094190597534 ], "18": [ - 34.244925022125244, - 31.239882469177246, - 31.353251695632935, - 31.224499940872192, - 31.53875970840454 + 31.605079889297485, + 31.74153995513916, + 31.957621574401855 ], "19": [ - 7.07506251335144, - 6.813824892044067, - 6.79759407043457, - 6.941055059432983, - 6.83566427230835 + 6.488569974899292, + 6.363597869873047, + 6.369234323501587 ], "20": [ - 10.964829683303833, - 10.757019996643066, - 10.806366205215454, - 10.990953922271729, - 10.887315273284912 + 8.480429410934448, + 8.437273502349854, + 8.329411745071411 ], "21": [ - 44.07762622833252, - 44.03535461425781, - 43.978052377700806, - 43.928617000579834, - 43.93204379081726 + 41.91543126106262, + 41.532346963882446, + 42.07075548171997 ], "22": [ - 4.871158599853516, - 4.810696601867676, - 4.873842239379883, - 4.817774534225464, - 4.927582740783691 + 4.895018100738525, + 4.865969657897949, + 4.903195858001709 ] } \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/2024-06-29/datafusion-python-8-cores.json b/docs/source/contributor-guide/benchmark-results/2024-07-19/datafusion-tpch.json similarity index 100% rename from docs/source/contributor-guide/benchmark-results/2024-06-29/datafusion-python-8-cores.json rename to docs/source/contributor-guide/benchmark-results/2024-07-19/datafusion-tpch.json diff --git a/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpcds.json b/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpcds.json new file mode 100644 index 000000000..f7ab268be --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpcds.json @@ -0,0 +1,327 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpcds", + "data_path": "/mnt/bigdata/tpcds/sf100/", + "query_path": "../../tpcds/queries-spark", + "spark_conf": { + "spark.eventLog.enabled": "true", + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.sql.warehouse.dir": "file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse", + "spark.driver.port": "39959", + "spark.app.startTime": "1721343961227", + "spark.executor.id": "driver", + "spark.master": "spark://woody:7077", + "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H / TPC-DS", + "spark.driver.memory": "8G", + "spark.app.submitTime": "1721343960912", + "spark.app.id": "app-20240718170601-0004", + "spark.executor.memory": "32G", + "spark.rdd.compress": "True", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.serializer.objectStreamReset": "100", + "spark.executor.instances": "1", + "spark.cores.max": "8", + "spark.submit.pyFiles": "", + "spark.submit.deployMode": "client", + "spark.sql.autoBroadcastJoinThreshold": "-1", + "spark.executor.cores": "8", + "spark.driver.host": "woody.lan" + }, + "1": [ + 7.800227403640747 + ], + "2": [ + 10.467795133590698 + ], + "3": [ + 2.8007187843322754 + ], + "4": [ + 91.76162981987 + ], + "5": [ + 23.099835872650146 + ], + "6": [ + 3.365507125854492 + ], + "7": [ + 5.432553291320801 + ], + "8": [ + 3.8576300144195557 + ], + "9": [ + 6.3153862953186035 + ], + "10": [ + 9.874432802200317 + ], + "11": [ + 33.87704801559448 + ], + "12": [ + 8.301852226257324 + ], + "13": [ + 5.269356966018677 + ], + "14": [ + 150.8186900615692 + ], + "15": [ + 15.294623136520386 + ], + "16": [ + 19.310945749282837 + ], + "17": [ + 6.411248207092285 + ], + "18": [ + 14.292846918106079 + ], + "19": [ + 3.2587430477142334 + ], + "20": [ + 13.411643266677856 + ], + "21": [ + 35.572487115859985 + ], + "22": [ + 22.02106499671936 + ], + "23": [ + 249.43153548240662 + ], + "24": [ + 21.229645490646362 + ], + "25": [ + 5.656827211380005 + ], + "26": [ + 11.043184041976929 + ], + "27": [ + 3.837435722351074 + ], + "28": [ + 10.440573692321777 + ], + "29": [ + 13.529588222503662 + ], + "30": [ + 2.973015308380127 + ], + "31": [ + 12.835312604904175 + ], + "32": [ + 12.979064464569092 + ], + "33": [ + 10.316180229187012 + ], + "34": [ + 3.0397789478302 + ], + "35": [ + 11.558360815048218 + ], + "36": [ + 4.719287872314453 + ], + "37": [ + 9.003387689590454 + ], + "38": [ + 17.37705898284912 + ], + "39": [ + 113.10317611694336 + ], + "40": [ + 25.56372880935669 + ], + "41": [ + 0.2145369052886963 + ], + "42": [ + 2.0899407863616943 + ], + "43": [ + 5.081417798995972 + ], + "44": [ + 1.0103275775909424 + ], + "45": [ + 11.752943992614746 + ], + "46": [ + 4.572746276855469 + ], + "47": [ + 17.91774606704712 + ], + "48": [ + 9.562321901321411 + ], + "49": [ + 10.740519046783447 + ], + "50": [ + 15.341339349746704 + ], + "51": [ + 23.100194454193115 + ], + "52": [ + 2.0887205600738525 + ], + "53": [ + 3.6534769535064697 + ], + "54": [ + 14.758203268051147 + ], + "55": [ + 1.812988042831421 + ], + "56": [ + 10.357929229736328 + ], + "57": [ + 21.42304801940918 + ], + "58": [ + 46.502179861068726 + ], + "59": [ + 15.086335182189941 + ], + "60": [ + 10.964382886886597 + ], + "61": [ + 6.710279703140259 + ], + "62": [ + 15.012513160705566 + ], + "63": [ + 3.904587984085083 + ], + "64": [ + 37.42494583129883 + ], + "65": [ + 22.118192434310913 + ], + "66": [ + 33.776007890701294 + ], + "67": [ + 83.05218243598938 + ], + "68": [ + 4.215189456939697 + ], + "69": [ + 9.373996257781982 + ], + "70": [ + 13.401167631149292 + ], + "71": [ + 5.064984560012817 + ], + "72": [ + 55.99225473403931 + ], + "73": [ + 2.3760015964508057 + ], + "74": [ + 30.810500144958496 + ], + "75": [ + 31.74701237678528 + ], + "76": [ + 4.408271789550781 + ], + "77": [ + 13.593222379684448 + ], + "78": [ + 55.4714629650116 + ], + "79": [ + 4.276215314865112 + ], + "80": [ + 51.73041367530823 + ], + "81": [ + 3.35856556892395 + ], + "82": [ + 15.728789806365967 + ], + "83": [ + 5.831252336502075 + ], + "84": [ + 2.2465932369232178 + ], + "85": [ + 4.967155694961548 + ], + "86": [ + 4.595327377319336 + ], + "87": [ + 15.662192344665527 + ], + "88": [ + 28.15371608734131 + ], + "89": [ + 5.115787744522095 + ], + "90": [ + 4.091581583023071 + ], + "91": [ + 3.3242697715759277 + ], + "92": [ + 7.603022813796997 + ], + "93": [ + 34.54590129852295 + ], + "94": [ + 10.030377388000488 + ], + "95": [ + 31.767929792404175 + ], + "96": [ + 1.7932329177856445 + ], + "97": [ + 19.545964002609253 + ], + "98": [ + 4.293541431427002 + ], + "99": [ + 26.280267000198364 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json b/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json new file mode 100644 index 000000000..cf50da5cf --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/2024-07-19/spark-tpch.json @@ -0,0 +1,138 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpch", + "data_path": "/mnt/bigdata/tpch/sf100/", + "query_path": "../../tpch/queries", + "spark_conf": { + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.sql.warehouse.dir": "file:/home/andy/git/apache/datafusion-benchmarks/runners/datafusion-comet/spark-warehouse", + "spark.executor.id": "driver", + "spark.master": "spark://woody:7077", + "spark.app.name": "DataFusion Comet Benchmark derived from TPC-H / TPC-DS", + "spark.driver.memory": "8G", + "spark.app.submitTime": "1721400283873", + "spark.executor.memory": "32G", + "spark.app.id": "app-20240719144444-0001", + "spark.rdd.compress": "True", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.serializer.objectStreamReset": "100", + "spark.executor.instances": "1", + "spark.driver.port": "36055", + "spark.cores.max": "8", + "spark.submit.pyFiles": "", + "spark.app.startTime": "1721400284146", + "spark.submit.deployMode": "client", + "spark.executor.cores": "8", + "spark.driver.host": "woody.lan" + }, + "1": [ + 102.50705313682556, + 102.79903650283813, + 102.37824273109436 + ], + "2": [ + 11.939732789993286, + 11.57072114944458, + 11.101150751113892 + ], + "3": [ + 22.83867835998535, + 22.278138160705566, + 21.799394607543945 + ], + "4": [ + 17.29210591316223, + 16.73092555999756, + 16.37605381011963 + ], + "5": [ + 44.469959020614624, + 44.03915023803711, + 43.95619344711304 + ], + "6": [ + 3.5601518154144287, + 3.5911924839019775, + 3.436091423034668 + ], + "7": [ + 20.750574588775635, + 20.520857334136963, + 19.94058084487915 + ], + "8": [ + 32.82963514328003, + 33.52391338348389, + 33.31922125816345 + ], + "9": [ + 67.38808369636536, + 67.7869827747345, + 66.43161416053772 + ], + "10": [ + 19.35655426979065, + 18.340266466140747, + 18.23655128479004 + ], + "11": [ + 12.413910865783691, + 11.624657392501831, + 11.516592264175415 + ], + "12": [ + 13.084538698196411, + 12.356904029846191, + 12.170117616653442 + ], + "13": [ + 21.03442144393921, + 20.202510356903076, + 20.323060274124146 + ], + "14": [ + 5.823769569396973, + 5.6380836963653564, + 5.555809497833252 + ], + "15": [ + 16.080876350402832, + 15.773152112960815, + 15.420385599136353 + ], + "16": [ + 6.3961169719696045, + 6.1880176067352295, + 6.201446056365967 + ], + "17": [ + 57.85423827171326, + 58.72210907936096, + 56.86491131782532 + ], + "18": [ + 71.47632312774658, + 71.85094976425171, + 70.76138210296631 + ], + "19": [ + 6.9238176345825195, + 6.903416633605957, + 6.856832504272461 + ], + "20": [ + 9.688754320144653, + 9.626489400863647, + 9.615416049957275 + ], + "21": [ + 59.68360757827759, + 59.52283453941345, + 59.335086822509766 + ], + "22": [ + 8.247804880142212, + 8.269869565963745, + 8.185250282287598 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmarking.md b/docs/source/contributor-guide/benchmarking.md index d315c559e..713f47b45 100644 --- a/docs/source/contributor-guide/benchmarking.md +++ b/docs/source/contributor-guide/benchmarking.md @@ -22,6 +22,8 @@ under the License. To track progress on performance, we regularly run benchmarks derived from TPC-H and TPC-DS. Data generation and benchmarking documentation and scripts are available in the [DataFusion Benchmarks](https://github.com/apache/datafusion-benchmarks) GitHub repository. +We also have many micro benchmarks that can be run from an IDE located [here]()https://github.com/apache/datafusion-comet/tree/main/spark/src/test/scala/org/apache/spark/sql/benchmark). + Here are example commands for running the benchmarks against a Spark cluster. This command will need to be adapted based on the Spark environment and location of data files. @@ -34,15 +36,15 @@ repository. $SPARK_HOME/bin/spark-submit \ --master $SPARK_MASTER \ --conf spark.driver.memory=8G \ + --conf spark.executor.instances=1 \ --conf spark.executor.memory=32G \ --conf spark.executor.cores=8 \ --conf spark.cores.max=8 \ - --conf spark.sql.autoBroadcastJoinThreshold=-1 \ tpcbench.py \ --benchmark tpch \ --data /mnt/bigdata/tpch/sf100/ \ --queries ../../tpch/queries \ - --iterations 5 + --iterations 3 ``` ## Running Benchmarks Against Apache Spark with Apache DataFusion Comet Enabled @@ -55,7 +57,6 @@ $SPARK_HOME/bin/spark-submit \ --conf spark.executor.memory=32G \ --conf spark.executor.cores=8 \ --conf spark.cores.max=8 \ - --conf spark.sql.autoBroadcastJoinThreshold=-1 \ --jars $COMET_JAR \ --conf spark.driver.extraClassPath=$COMET_JAR \ --conf spark.executor.extraClassPath=$COMET_JAR \ @@ -64,9 +65,6 @@ $SPARK_HOME/bin/spark-submit \ --conf spark.comet.exec.enabled=true \ --conf spark.comet.exec.all.enabled=true \ --conf spark.comet.cast.allowIncompatible=true \ - --conf spark.comet.explainFallback.enabled=true \ - --conf spark.comet.parquet.io.enabled=false \ - --conf spark.comet.batchSize=8192 \ --conf spark.comet.exec.shuffle.enabled=true \ --conf spark.comet.exec.shuffle.mode=auto \ --conf spark.comet.shuffle.enforceMode.enabled=true \ @@ -75,7 +73,7 @@ $SPARK_HOME/bin/spark-submit \ --benchmark tpch \ --data /mnt/bigdata/tpch/sf100/ \ --queries ../../tpch/queries \ - --iterations 5 + --iterations 3 ``` ## Current Performance @@ -87,20 +85,44 @@ The following benchmarks were performed on a Linux workstation with PCIe 5, AMD data stored locally on NVMe storage. Performance characteristics will vary in different environments and we encourage you to run these benchmarks in your own environments. -![](../../_static/images/tpch_allqueries.png) +### TPC-H + +Comet currently provides a 35% speedup for TPC-H @ SF=100GB. + +![](../../_static/images/benchmark-results/2024-07-19/tpch_allqueries.png) -Here is a breakdown showing relative performance of Spark, Comet, and DataFusion for each TPC-H query. +Here is a breakdown showing relative performance of Spark, Comet, and DataFusion for each query. -![](../../_static/images/tpch_queries_compare.png) +![](../../_static/images/benchmark-results/2024-07-19/tpch_queries_compare.png) -The following chart shows how much Comet currently accelerates each query from the benchmark. Performance optimization -is an ongoing task, and we welcome contributions from the community to help achieve even greater speedups in the future. +The following chart shows how much Comet currently accelerates each query from the benchmark. -![](../../_static/images/tpch_queries_speedup.png) +![](../../_static/images/benchmark-results/2024-07-19/tpch_queries_speedup.png) The raw results of these benchmarks in JSON format is available here: -- [Spark](./benchmark-results/2024-06-29/spark-8-exec-5-runs.json) -- [Comet](./benchmark-results/2024-06-29/comet-8-exec-5-runs.json) -- [DataFusion](./benchmark-results/2024-06-29/datafusion-python-8-cores.json) +- [Spark](./benchmark-results/2024-07-19/spark-tpch.json) +- [Comet](./benchmark-results/2024-07-19/comet-tpch.json) +- [DataFusion](./benchmark-results/2024-07-19/datafusion-tpch.json) +### TPC-DS + +Comet currently provides an 18% speedup for TPC-DS @ SF=100GB. Note that we used an optimized version of +query 72 with a better join order for these benchmarks since the focus of Spark (and Comet) is not on join +reordering algorithms but raw execution speed. + +![](../../_static/images/benchmark-results/2024-07-19/tpcds_allqueries.png) + +Here is a breakdown showing relative performance of Spark and Comet for each query. DataFusion is +not included here because it currently only supports around 90% of the TPC-DS queries. + +![](../../_static/images/benchmark-results/2024-07-19/tpcds_queries_compare.png) + +The following chart shows how much Comet currently accelerates each query from the benchmark. + +![](../../_static/images/benchmark-results/2024-07-19/tpcds_queries_speedup.png) + +The raw results of these benchmarks in JSON format is available here: + +- [Spark](./benchmark-results/2024-07-19/spark-tpcds.json) +- [Comet](./benchmark-results/2024-07-19/comet-tpcds.json)