Review Request: UseNUMAInterleaving (original) (raw)

Igor Veresov igor.veresov at oracle.com
Mon May 16 12:53:47 PDT 2011


On 5/16/11 11:21 AM, David Dabbs wrote:

The 2.6.19 requirement is there because we need the sched_getcpu() syscall to determine on which CPU we're running.

I guess it won't be hard to extend UseNUMAInterleaving to work on other OSes, including old Linuxes. You can, however, achieve the same effect by running the VM with "numactl -i all java " or by turning interleaving on in BIOS in hardware.

igor

Could this flag help Linux systems with kernel< 2.6.19, or is that the_ _minimum kernel needed for any JVM NUMA support?_ _Unfortunately, we run CentOS 5.5 (2.6.18)_ _Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT 2010_ _x8664 x8664 x8664 GNU/Linux_ _and so -XX:+UseNUMA does not activate (at least not according to_ _PrintFlagsFinal)._ _From http://www.infoq.com/news/2010/01/java6u18_ _In the Java HotSpot VM, the NUMA-aware allocator has been implemented to_ _provide automatic memory placement optimisations for Java applications._ _Typically, every processor in the system has a local memory that provides_ _low access latency and high bandwidth, and remote memory that is_ _considerably slower to access. The NUMA-aware allocator is implemented for_ _Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) operating systems, and can be turned on for the Parallel Scavenger garbage collector with the -XX:+UseNUMA flag. Parallel Scavenger remains the default for a server-class machine and can also be turned on explicitly by specifying the -XX:+UseParallelGC option. The impact of the change is significant: When evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron machine, NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) increase in performance.

Thanks, David



More information about the hotspot-compiler-dev mailing list