RFR 7097567: G1: abstract and encapsulate collector phases and transitions between them

Claes Redestad claes.redestad at oracle.com
Tue Jan 27 23:03:47 UTC 2015


Hi,

On 2015-01-27 23:41, Derek White wrote:
> Review request!
>
> This is a change Ramki did before he left that didn't get checked in. 
> The basic idea is to move a bunch fields that encapsulate collector 
> state from G1CollectorPolicy into a separate class " G1CollectorState".
>
> Thanks in advance!
>
>  - Derek
>
> /Bug/: https://bugs.openjdk.java.net/browse/JDK-7097567
> /Webrev/: http://cr.openjdk.java.net/~drwhite/7097567/webrev.00/
> /Ran/:
>
>   * jtreg
>   * jprt
>   * refworkload (looks good, but improvement is unexplained).
>
>     ./compare -r Logs/ref.1/ Logs/cms.1/
>     ==============================================================================
>     Logs/ref.1/:
>       Benchmark           Samples        Mean Stdev            
>     Geomean Weight
>       specjbb2000              15   660639.27 8546.73
>         First_Warehouse        15    91712.47 2908.19
>         Last_Warehouse         15   660639.27 8546.73
>         rw.runtime             15      604.00 0.00
>       specjbb2005              15   372212.33 8495.85
>         first                  15    44054.38 2190.33
>         interval_average       15     7596.13 173.44
>         last                   15   372212.33 8495.85
>         last_warehouse         15        8.00 0.00
>         overall_average        15   342311.21 27049.43
>         peak                   15   418062.71 21056.23
>         peak_warehouse         15        2.87 1.25
>         rw.runtime             15      458.40 0.99
>       specjvm98                15      950.96 10.07
>         compress               15      695.97 7.54
>         db                     15      361.98 6.56
>         jack                   15     1461.28 51.26
>         javac                  15      522.44 13.72
>         jess                   15     1145.71 15.97
>         mpegaudio              15     1197.56 14.91
>         mtrt                   15     2670.94 137.46
>         rw.runtime             15       36.07 0.59
>     ==============================================================================
>     Logs/cms.1/:
>       Benchmark           Samples        Mean     Stdev %Diff     P 
>     Significant
>       specjbb2000              15   646579.89   5829.25 -2.13
>     0.000          Yes
>         First_Warehouse        15    86084.97   1381.09 -6.14
>     0.000          Yes
>         Last_Warehouse         15   646579.89   5829.25 -2.13
>     0.000          Yes
>         rw.runtime             15      604.33      0.49 -0.06
>     0.019            *
>       specjbb2005              15   372333.48   8449.27 0.03
>     0.969            *
>         first                  15    44028.81    591.86 -0.06
>     0.966            *
>         interval_average       15     7598.67    172.40 0.03
>     0.968            *
>         last                   15   372333.48   8449.27 0.03
>     0.969            *
>         last_warehouse         15        8.00      0.00 0.00
>     1.000            *
>         overall_average        15   347967.16   8974.17 1.65
>     0.453            *
>         peak                   15   427459.90  13498.58 2.25
>     0.159            *
>         peak_warehouse         15        2.27      0.46 20.93
>     0.097            *
>         rw.runtime             15      458.47      0.52 -0.01
>     0.819            *
>       specjvm98                15      891.61      9.95 -6.24
>     0.000          Yes
>         compress               15      696.34      6.57 0.05
>     0.888            *
>         db                     15      363.90      5.55 0.53
>     0.395            *
>         jack                   15     1402.76     48.98 -4.01
>     0.003          Yes
>         javac                  15      453.21      8.57 -13.25
>     0.000          Yes
>         jess                   15     1024.87      7.81 -10.55
>     0.000          Yes
>         mpegaudio              15     1146.54     37.59 -4.26
>     0.000          Yes
>         mtrt                   15     2369.88     70.39 -11.27
>     0.000          Yes
>         rw.runtime             15       38.00      0.38 -5.36
>     0.000          Yes
>     ==============================================================================
>       * - Not Significant: A non-zero %Diff for the mean could be
>     noise. If the
>           %Diff is 0, an actual difference may still exist. In either
>     case, more
>           samples would be needed to detect an actual difference in
>     sample means.
>           Alpha for this run: 0.010
>

Assuming ref.1 is the baseline and cms.1 is with the patch applied 
(running G1?),
it actually looks like all significant results are regressions, not 
improvements. Some
regressions even appear pretty severe.

Grouping state changed often(?) together could be increasing overall 
false sharing
costs and the added indirections could have some effect. I think it'd be 
good with a
more thorough performance analysis of this.

/Claes


More information about the hotspot-gc-dev mailing list