Fwd: (resend) Request for review (S): 7068625 Testing 8 bytes of card table entries at a time speeds up card-scanning

Bengt Rutisson bengt.rutisson at oracle.com
Fri Feb 24 04:14:13 PST 2012


Hi all,

Just pinging this review request. Does anybody have some time to look at 
it? It is a fairly small and straight forward change...

Thanks,
Bengt

-------- Original Message --------
Subject: 	Request for review (S): 7068625 Testing 8 bytes of card table 
entries at a time speeds up card-scanning
Date: 	Tue, 21 Feb 2012 12:03:50 +0400
From: 	Alexey Ragozin <alexey.ragozin at gmail.com>
To: 	hotspot-gc-dev at openjdk.java.net
CC: 	Bengt Rutisson <bengt.rutisson at oracle.com>



Hi,

I would like few volunteers to review changes for 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7068625
WebRev: http://cr.openjdk.java.net/~brutisso/7068625/webrev.00/ 
<http://cr.openjdk.java.net/%7Ebrutisso/7068625/webrev.00/>

Change summary
For large heaps (I was focusing on 8GiB and above) it is common to have 
long continuous ranges of clean cards.
Patch is introducing a short path for skipping ranges of clean cards 
using word aligned memory access instead of byte aligned.

Patch affects serial and CMS collectors. For CMS collector stride size 
should be increase to see any performance gains (I was using
-XX:+UnlockDiagnosticVMOptions
-XX:ParGCCardsPerStrideChunk=4096)

For testing I was mainly using synthetic benchmark randomly modifying 
hash tables in heap, thus uniformly touching cards across heaps.
Average duration of young GC pause were used as KPI.
More details about testing can be found at
http://blog.ragozin.info/2011/07/openjdk-patch-cutting-down-gc-pause.html
Though article is referring jdk6, my resent tests with trunk jdk7 show 
no difference.
I was also tested patch with real application (Oracle Coherence storage 
node).
With 16GiB of heap and CMS/ParNew GC, enabling patch have shortened GC 
pauses roughly in 2 times.

Source code of benchmark used in test are available at
https://gridkit.googlecode.com/svn/branches/aragozin-sandbox/young-gc-bench
Main class YoungGCPauseBenchmark

Regards,
Alexey

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20120224/1c3b8b70/attachment.html 


More information about the hotspot-gc-dev mailing list