RFR(L) 8153224 Monitor deflation prolong safepoints

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Apr 10 19:24:40 UTC 2019


So I’ve been analyzing monitorinflation logs from SPECjbb2015 runs. It
takes about 45 minutes for a SPECjbb15 run to finish on my Linux box.

In the baseline bits:
   Total deflating time: 0.9314706 secs.
   Total deflating count: 2582566

In the v2.00 bits:
   Total deflating time: 1.5767698 secs.
   Total deflating count: 2505602

Yes, that is 1 second in 45 minutes for the baseline and 1.6 seconds
in 45 minutes for the v2.00 bits. That strongly indicates that the
mechanics of async monitor deflation is not the cause of the 4.5%
slowdown in SPECjbb2015. It must be something else...

I'm looking at safepoint stats next...

Dan


On 4/8/19 12:55 PM, Daniel D. Daugherty wrote:
> Greetings,
>
> I took the last repo that I ran through Mach5 tier[1-8] testing and did
> 10 SPECjbb2015 runs on the 'release' version of those bits. I also did
> 10 SPECjbb2015 runs on the 'release' version of the baseline bits.
>
> Baseline: jdk-13+13
> Exp:      v2.00 (8153224-webrev/3-for-jdk13) plus
>           special-cleanup-for-global-in-use-list
>
> Linux-X64 Machine:
>   - Ubuntu 16.04, Dell T7600, 64GB RAM
>   - Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz, 2 CPUs x 8 cores x 2 
> threads
>
> MacOSX Machine:
>   - MacOS 10.13.6, Mac Mini, mid 2011, 16GB RAM
>   - 2 GHz Intel Core i7 (I7-2635QM), 1 CPU x 4 cores x 2 threads
>
> Solaris-X64 Machine:
>   - Solaris 11.2 SRU5.5, Dell T7600, 64GB RAM
>   - Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz, 2 CPUs x 8 cores x 2 
> threads
>
> Average Results for Each OS
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>
>        23838.00   22446.90  20738.80        6166.70  Linux-X64 base
>        23838.00   22279.40  20262.00        5891.50  Linux-X64 exp
>
>         5841.80    4885.00   4764.00        1495.10  MacOSX base
>         5621.00    4701.00   4778.00        1492.10  MacOSX exp
>
>        16125.20   13852.30  12780.50        2791.90  Solaris-X64 base
>        15788.70   13861.40  12551.40        2665.90  Solaris-X64 exp
>
> I'm new to SPECjbb2015 so I don't what "hbIR" and "jOPS" are yet.
> Based a bit of googling so far, it appears that for critical-jOPS,
> higher is better:
>
> - Linux-X64 exp critical-jOPS is ~4.5% lower than Linux-X64 base
> - MacOSX base and MacOSX exp critical-jOPS are almost identical
> - Solaris-X64 exp critical-jOPS is ~4.5% lower than Linux-X64 base
>
> I have not tried to research or analyze the other columns yet.
>
> The results for each of the 10 runs are shown below.
>
> Dan
>
>
>
> Linux-X64 Runs
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>           23838      22719     19070           6515 
> SPECjbb2015.Lin-X64.base.01
>           23838      21642     20262           5591 
> SPECjbb2015.Lin-X64.base.02
>           23838      23108     20262           6508 
> SPECjbb2015.Lin-X64.base.03
>           23838      21730     21454           6235 
> SPECjbb2015.Lin-X64.base.04
>           23838      22220     21454           6028 
> SPECjbb2015.Lin-X64.base.05
>           23838      22543     20262           5996 
> SPECjbb2015.Lin-X64.base.06
>           23838      23014     21454           6192 
> SPECjbb2015.Lin-X64.base.07
>           23838      22543     21454           5889 
> SPECjbb2015.Lin-X64.base.08
>           23838      22750     20262           6038 
> SPECjbb2015.Lin-X64.base.09
>           23838      22200     21454           6675 
> SPECjbb2015.Lin-X64.base.10
> ---------------  ---------  --------  -------------  --------
>        23838.00   22446.90  20738.80        6166.70  average of values
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>           23838      21422     20262           6329 
> SPECjbb2015.Lin-X64.exp.01
>           23838      22543     19070           6351 
> SPECjbb2015.Lin-X64.exp.02
>           23838      22100     20262           5005 
> SPECjbb2015.Lin-X64.exp.03
>           23838      22543     20262           5881 
> SPECjbb2015.Lin-X64.exp.04
>           23838      23170     20262           5938 
> SPECjbb2015.Lin-X64.exp.05
>           23838      22543     20262           5744 
> SPECjbb2015.Lin-X64.exp.06
>           23838      22100     20262           5482 
> SPECjbb2015.Lin-X64.exp.07
>           23838      22543     20262           6213 
> SPECjbb2015.Lin-X64.exp.08
>           23838      22100     21454           5637 
> SPECjbb2015.Lin-X64.exp.09
>           23838      21730     20262           6335 
> SPECjbb2015.Lin-X64.exp.10
> ---------------  ---------  --------  -------------  --------
>        23838.00   22279.40  20262.00        5891.50  average of values
>
>
> MacOSX Runs
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>            6725       5621      4708           1543 
> SPECjbb2015.MacOSX.base.01
>            5621       4701      4778           1326 
> SPECjbb2015.MacOSX.base.02
>            6725       5621      4708           1475 
> SPECjbb2015.MacOSX.base.03
>            5621       4701      4778           1372 
> SPECjbb2015.MacOSX.base.04
>            5621       4701      4778           1560 
> SPECjbb2015.MacOSX.base.05
>            5621       4701      4778           1471 
> SPECjbb2015.MacOSX.base.06
>            5621       4701      4778           1430 
> SPECjbb2015.MacOSX.base.07
>            5621       4701      4778           1560 
> SPECjbb2015.MacOSX.base.08
>            5621       4701      4778           1581 
> SPECjbb2015.MacOSX.base.09
>            5621       4701      4778           1633 
> SPECjbb2015.MacOSX.base.10
> ---------------  ---------  --------  -------------  --------
>         5841.80    4885.00   4764.00        1495.10  average of values
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>            5621       4701      4778           1566 
> SPECjbb2015.MacOSX.exp.01
>            5621       4701      4778           1430 
> SPECjbb2015.MacOSX.exp.02
>            5621       4701      4778           1530 
> SPECjbb2015.MacOSX.exp.03
>            5621       4701      4778           1304 
> SPECjbb2015.MacOSX.exp.04
>            5621       4701      4778           1560 
> SPECjbb2015.MacOSX.exp.05
>            5621       4701      4778           1460 
> SPECjbb2015.MacOSX.exp.06
>            5621       4701      4778           1638 
> SPECjbb2015.MacOSX.exp.07
>            5621       4701      4778           1471 
> SPECjbb2015.MacOSX.exp.08
>            5621       4701      4778           1402 
> SPECjbb2015.MacOSX.exp.09
>            5621       4701      4778           1560 
> SPECjbb2015.MacOSX.exp.10
> ---------------  ---------  --------  -------------  --------
>         5621.00    4701.00   4778.00        1492.10  average of values
>
>
> Solaris-X64 Runs
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>           16584      13957     13267           2332 
> SPECjbb2015.Sol-X64.base.01
>           16584      13837     13267           3123 
> SPECjbb2015.Sol-X64.base.02
>           16584      13837     13267           2853 
> SPECjbb2015.Sol-X64.base.03
>           16584      13837     12438           2667 
> SPECjbb2015.Sol-X64.base.04
>           14743      14210     12532           2920 
> SPECjbb2015.Sol-X64.base.05
>           16584      13837     12438           3534 
> SPECjbb2015.Sol-X64.base.06
>           13837      13497     12453           2226 
> SPECjbb2015.Sol-X64.base.07
>           16584      13837     12438           2265 
> SPECjbb2015.Sol-X64.base.08
>           16584      13837     13267           2853 
> SPECjbb2015.Sol-X64.base.09
>           16584      13837     12438           3146 
> SPECjbb2015.Sol-X64.base.10
> ---------------  ---------  --------  -------------  --------
>        16125.20   13852.30  12780.50        2791.90  average of values
>
>      hbIR           hbIR
> (max attempted)  (settled)  max-jOPS  critical-jOPS  run_name
> ---------------  ---------  --------  -------------  --------
>           16584      13837     12438           2073 
> SPECjbb2015.Sol-X64.exp.01
>           16584      14353     13267           2667 
> SPECjbb2015.Sol-X64.exp.02
>           16584      13837     12438           2349 
> SPECjbb2015.Sol-X64.exp.03
>           16584      13837     12438           2494 
> SPECjbb2015.Sol-X64.exp.04
>           13981      13832     12583           3241 
> SPECjbb2015.Sol-X64.exp.05
>           13837      13575     12453           2621 
> SPECjbb2015.Sol-X64.exp.06
>           13981      13832     12583           2768 
> SPECjbb2015.Sol-X64.exp.07
>           16584      13837     12438           3000 
> SPECjbb2015.Sol-X64.exp.08
>           16584      13837     12438           2952 
> SPECjbb2015.Sol-X64.exp.09
>           16584      13837     12438           2494 
> SPECjbb2015.Sol-X64.exp.10
> ---------------  ---------  --------  -------------  --------
>        15788.70   13861.40  12551.40        2665.90  average of values
>
>
> On 3/24/19 9:57 AM, Daniel D. Daugherty wrote:
>> Greetings,
>>
>> Welcome to the OpenJDK review thread for my port of Carsten's work on:
>>
>>     JDK-8153224 Monitor deflation prolong safepoints
>>     https://bugs.openjdk.java.net/browse/JDK-8153224
>>
>> Here's a link to the OpenJDK wiki that describes my port:
>>
>> https://wiki.openjdk.java.net/display/HotSpot/Async+Monitor+Deflation
>>
>> Here's the webrev URL:
>>
>> http://cr.openjdk.java.net/~dcubed/8153224-webrev/3-for-jdk13/
>>
>> Here's a link to Carsten's original webrev:
>>
>> http://cr.openjdk.java.net/~cvarming/monitor_deflate_conc/0/
>>
>> Earlier versions of this patch have been through several rounds of
>> preliminary review. Many thanks to Carsten, Coleen, Robbin, and
>> Roman for their preliminary code review comments. A very special
>> thanks to Robbin and Roman for building and testing the patch in
>> their own environments (including specJBB2015).
>>
>> This version of the patch has been thru Mach5 tier[1-8] testing on
>> Oracle's usual set of platforms. Earlier versions have been run
>> through my stress kit on my Linux-X64 and Solaris-X64 servers
>> (product, fastdebug, slowdebug).Earlier versions have run Kitchensink
>> for 12 hours on MacOSX, Linux-X64 and Solaris-X64 (product, fastdebug
>> and slowdebug). Earlier versions have run my monitor inflation stress
>> tests for 12 hours on MacOSX, Linux-X64 and Solaris-X64 (product,
>> fastdebug and slowdebug).
>>
>> All of the testing done on earlier versions will be redone on the
>> latest version of the patch.
>>
>> Thanks, in advance, for any questions, comments or suggestions.
>>
>> Dan
>>
>> P.S.
>> One subtest in gc/g1/humongousObjects/TestHumongousClassLoader.java
>> is currently failing in -Xcomp mode on Win* only. I've been trying
>> to characterize/analyze this failure for more than a week now. At
>> this point I'm convinced that Async Monitor Deflation is aggravating
>> an existing bug. However, I plan to have a better handle on that
>> failure before these bits are pushed to the jdk/jdk repo.
>>
>
>



More information about the hotspot-runtime-dev mailing list