JDK-6783381 : NUMA allocator: don't pretouch eden space with UseNUMA
Type:Enhancement
Component:hotspot
Sub-Component:gc
Affected Version:hs14
Priority:P4
Status:Resolved
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2008-12-10
Updated:2010-04-03
Resolved:2009-02-11
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
With +AlwaysPreTouch and +UseNUMA the space that will be occupied by eden is first pretouched and then all the pages a uncommitted when the NUMA-aware allocator initialized essentially discarding the work.
SUGGESTED FIX
Move pretouching into MutableSpace and do the work for each of the spaces separately.
Also make from,to and old spaces interleaved -- as demonstrated by John Coomes that adds about 5% to specjbb performance. Maintain interleaving during resizing, while limiting the amount of work done per GC cycle.