Review Request: UseNUMAInterleaving

Deneau, Tom tom.deneau at amd.com
Tue Aug 16 13:14:00 PDT 2011


Igor --

I am back from vacation, starting to address your comments...
Regarding your comment #1 below.

You mention "future planned NUMA-aware implementations of GCs".  How
do these future planned NUMA-aware implementations of GCs differ from
today's NUMA-aware GCs?  My understanding of the current GCs use of
NUMA is that they support numa_global (interleaved) and numa_local
(memory pinned to one numa node).

In the currently released JVMs on Windows OSes, neither numa_local nor
numa_global is implemented.  The implementation I proposed in the
patch maps both numa_local and numa_global requests to numa_global (on
Windows).  The reasons for this were:

   * it was very difficult (if not impossible) to implement the JVM's
     current numa_local semantics on Windows

   * in the benchmarks we measured, the extra performance that was
     left on the table by doing only numa_global and not doing
     numa_local was only a few percent.

Are you saying that in the future numa_local will be supported on
Windows, and that even then it might still be advantageous to have a
flag (UseNUMAInterleaving) which instead maps all the regions to
numa_global?  Should this flag be available on all OSes?

-- Tom

> -----Original Message-----
> From: Igor Veresov [mailto:igor.veresov at oracle.com]
> Sent: Monday, August 08, 2011 1:43 PM
> To: hotspot-gc-dev at openjdk.java.net; Deneau, Tom
> Subject: Re: Review Request: UseNUMAInterleaving
> 
> Hi, Tom!
> 
> Sorry it took me so long to get to that.
> 
> 1. I don't think the new version of flag usage is prudent. The reason I
> proposed to introduce a new flag for interleaving is that it would make
> life easier in the future when the proper NUMA-aware implementation of
> GCs are added (G1 would be the most probable candidate). I would propose
> to still have UseNUMAInterleaving flag.
> 
> The usage would be as follows:
> - If UseNUMA is specified on Windows that would turn UseNUMAInterleaving
> (for the time being, and that behavior would change in the future).
> - If UseNUMAInterleaving is specified on the command line, you just do
> the interleaving. If you don't add this flag now, you'll have to do that
> anyway as soon as NUMA-aware GCs start supporting windows.
> 
> 
> igor
> 
> 
> 
> On 5/26/11 4:37 PM, Deneau, Tom wrote:
> > I have incorporated the change suggested by Paul Hohensee to just use
> the existing UseNUMA flag rather than introduce a new flag.  Please let me
> know when you think this will be able to be checked in...
> >
> > The new webrev is at
> > http://cr.openjdk.java.net/~tdeneau/UseNUMAInterleaving/webrev.02/
> >
> > -- Tom Deneau, AMD
> >
> >



More information about the hotspot-gc-dev mailing list