Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8329619

Spark compression micros regression about 4x without biased locking

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • 18
    • hotspot
    • 18
    • x86_64
    • linux

      These micros run in the Apache Spark sbt build like this:

      $ git clone https://github.com/apache/spark.git

      $ cd spark

      $ SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "core/Test/runMain org.apache.spark.io.ZStandardBenchmark"

      Using JDK 17.0.9+11-LTS-201 on Linux 4.14.35-2047.528.2.1.el7uek.x86_64 the tests take longer w/o +UseBiasedLocking.

      With +UseBiasedLocking:

      [info] Benchmark ZStandardCompressionCodec: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
      [info] ------------------------------------------------------------------------------------------------------------------------------------------
      [info] Decompression 10000 times from level 1 without buffer pool 743 745 2 0.0 74310.6 1.0X
      [info] Decompression 10000 times from level 2 without buffer pool 747 751 4 0.0 74676.1 1.0X
      [info] Decompression 10000 times from level 3 without buffer pool 749 752 3 0.0 74870.5 1.0X
      [info] Decompression 10000 times from level 1 with buffer pool 515 517 1 0.0 51478.4 1.4X
      [info] Decompression 10000 times from level 2 with buffer pool 514 515 1 0.0 51370.2 1.4X
      [info] Decompression 10000 times from level 3 with buffer pool 513 514 1 0.0 51307.4 1.4X

      With the default (-UseBiasedLocking)

      [info] Benchmark ZStandardCompressionCodec: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
      [info] --------------------------------------------------------------------------------------------------------------------------------------
      [info] Compression 10000 times at level 1 without buffer pool 2979 2983 5 0.0 297879.7 1.0X
      [info] Compression 10000 times at level 2 without buffer pool 3038 3040 3 0.0 303804.4 1.0X
      [info] Compression 10000 times at level 3 without buffer pool 3322 3322 0 0.0 332218.4 0.9X
      [info] Compression 10000 times at level 1 with buffer pool 2629 2629 0 0.0 262882.3 1.1X
      [info] Compression 10000 times at level 2 with buffer pool 2695 2696 1 0.0 269534.6 1.1X
      [info] Compression 10000 times at level 3 with buffer pool 2942 2943 0 0.0 294227.0 1.0X

      I ran these tests on an OCI VM with this cpu:
       Intel(R) Xeon(R) Platinum 8167M CPU @ 2.00GHz

      Of course UseBiasedLocking with removed in https://bugs.openjdk.org/browse/JDK-8256425

            Unassigned Unassigned
            ecaspole Eric Caspole
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: