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