<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Ramki,<br>
<br>
Once we're happy with the policies, and default values and G1 is mostly
meeting peoples' expectations, we definitely should work a tuning
guide. Any outside help and suggestions (hint, hint) will be more than
welcome. The perf team has been working some what-if scenarios and that
could be used as a basis. There has also been mention of contributing
to a future edition of Charlie Hunt's excellent book (if there is one).<br>
<br>
IMO we need to improve the mixed GC times. During a typical mixed GC
sequence the pause times are typically higher than the typical young GC
and, in the latter stages of mixed GC sequence, the pause times go up
significantly as the cost of collecting the regions goes up. I think we
can reduce this through changing default flag settings (for example a
90% occupancy might result in too many "expensive" candidate regions).
For increased RSet updating times - which is typically the case with a
mixed GC because of the increased number of filled updated buffers by
the GC itself - it might be worth investigating starting the concurrent
refine threads more aggressively to process the higher number of
deferred updates. I also think there may be an issue in the prediction
logic for the RSet scanning time based upon RSet size - I don't think
it handles coarse RSet entries very well.<br>
<br>
Also there were a few times where we weren't meeting the pause time
goal because we couldn't size the young generation small enough - we
were running into the 20% lower limit of the heap.<br>
<br>
As a result of Bengt's change we have provided a few more knobs for
people to play with.<br>
<br>
Thanks,<br>
<br>
JohnC<br>
<br>
On 08/22/12 01:21, Srinivas Ramakrishna wrote:
<blockquote
cite="mid:CABzyjykjidcfQ9hKwT_cp7iLYQD+VyYhYn1Z5fkoq-j6+N0C0w@mail.gmail.com"
type="cite">Looks good to me. I am hoping the perf and gc teams will
together also publish a G1 tuning white-paper soon! <br>
<br>
-- ramki<br>
<br>
<div class="gmail_quote">On Wed, Aug 22, 2012 at 12:46 AM, Bengt
Rutisson <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:bengt.rutisson@oracle.com" target="_blank">bengt.rutisson@oracle.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Hi all,<br>
<br>
Could I please have a couple of reviews for this really small fix?<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Ebrutisso/7193157/webrev.00/"
target="_blank">http://cr.openjdk.java.net/~brutisso/7193157/webrev.00/</a><br>
<br>
We need to make some of the G1 develop flags available in product
builds to allow the performance team to tune G1 properly. We decided to
make the flags experimental to start with. After the performance team
has evaluated the flags we might make some of them product flags. The
current prime candidates for becoming product flags are:<br>
<br>
G1DefaultMinNewGenPercent<br>
G1DefaultMaxNewGenPercent<br>
G1OldCSetRegionLiveThresholdPercent<br>
<br>
Thanks,<br>
Bengt<br>
</blockquote>
</div>
<br>
</blockquote>
<br>
</body>
</html>