RFR(L) 8153224 Monitor deflation prolong safepoints

Claes Redestad claes.redestad at oracle.com
Thu Apr 11 09:43:52 UTC 2019


Hi Dan,

critical-jOPS in SPECjbb2015 is designed to be sensitive to regressions
in latency of the benchmark operations, sometimes to a fault. So keep in
mind that what you're seeing could very well be attributed to noise.
Such as an accidental result of pauses happening - by chance or design -
when the benchmark is critically assessing latency SLAs.

Correlating safepoint pauses across the benchmark run with benchmark
logs might inform if there's an increase in spikes/latencies during
sensitive phases of the benchmark that could contribute to a sustained
critJOPS regression.

Sample questions to answer:
- is the time spent deflating more spread out before/after?
- is there indication of back-to-back safepoints happening?

Thanks!

/Claes

On 2019-04-10 21:24, Daniel D. Daugherty wrote:
> 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