Turn on UseNUMA by default when prudent
Eric Caspole
eric.caspole at amd.com
Tue May 29 21:30:56 UTC 2012
On May 29, 2012, at 4:09 PM, Vladimir Kozlov wrote:
> Jesper Wilhelmsson wrote:
>> Hi Eric,
>> As long as this is based on actual data and not just a hunch, I
>> personally think it is a good idea. I don't know if we have any
>> policies about platform specific optimizations like this though.
>> I have some comments on the code layout and there are a few typos,
>> but I guess this is still a draft so I won't pick on that right now.
>> One thing I wonder though is in os_linux_x86.cpp:
>> if (VM_Version::cpu_family() == 0x15 || VM_Version::cpu_family()
>> == 0x10) {
>
> Yes, this code should be in vm_version_x86.cpp file. I also would
> like to see this more general for all OSes.
Any volunteers to help get this working for Solaris/SPARC? You use
this flag, right?
Then it will be easier to see where to place is_numa_machine() type
methods etc.
>
> Thanks,
> Vladimir
>
>> Is this the only way to identify the proper processor family? It
>> doesn't seem very future proof. How often would you have to change
>> this code to keep it up to date with new hardware?
>> Regards,
>> /Jesper
>> On 2012-05-29 20:54, Eric Caspole wrote:
>>> Hi Hotspot team,
>>>
>>> We sometimes notice on multi-socket systems large run to run
>>> variation in some
>>> benchmarks which seems to be attributed to bad/unlucky numa
>>> behavior. So we
>>> would like to add simple checks to turn on +UseNUMA for AMD
>>> platforms in the
>>> right situations; for example, max heap >= 4GB and we detect a
>>> multi-socket
>>> system. This should be a useful out-of-box improvement for most
>>> customers
>>> since UseParallelGC is the default.
>>>
>>> For benchmarks with a large heap, it helps give better out-of-box
>>> performance
>>> in many cases.
>>>
>>> Here is my first webrev to turn on NUMA for AMD systems when it
>>> is a numa
>>> system and the heap is set >= 4GB.
>>>
>>> http://cr.openjdk.java.net/~ecaspole/numa_default/
>>>
>>> Please let me know your thoughts on the merit of doing this and
>>> if it is
>>> worthwhile what should be the structure of the change in the
>>> shared/os/cpu
>>> specific code.
>>>
>>> Thanks,
>>> Eric
>>>
>>>
>
More information about the hotspot-gc-dev
mailing list