[PATCH] Linux NUMA support for HotSpot
Igor Veresov
Igor.Veresov at Sun.COM
Mon Mar 3 01:52:40 PST 2008
Andi,
I haven't studied your changes in detail but I have a NUMA-aware allocator for
Linux in works and I do see speedups, which are similar to what I was able to
get from Solaris. About 8% for specjbb2005 on a dual-socket Opteron. So it's
all working quite well, actually.
igor
On Monday 03 March 2008 03:24:54 Andi Kleen wrote:
> Hi,
>
> Some time ago I played a bit with the NUMA heap support in the hotspot
> sources. In particularly I implemented an interface to the Linux libnuma
> interface and wrote some simple benchmarks to see if it was any faster on a
> Opteron system (it wasn't unfortunately). After some debugging I concluded
> that my Linux NUMA interface was likely right, but the NUMA heap
> implementation seemed to be broken (I doubt it'll work very well even on
> Solaris)
>
> The implementation does not require to link libnuma always in,
> but dlopen()s it as needed to avoid a little bit of dll/so hell.
>
> It also uses the Linux getcpu() call which means it can actually
> adapt to migrating threads over nodes (unlike the Solaris implementation)
>
> Anyways just in case someone else wants to play with it here's
> libnuma support for Linux for HotSpot. It can be enabled with the usual
> options, but is disabled by default.
>
> The patch was originally against a fairly old snapshot (b13). It still
> applies perfectly to the latest 6 snapshot I downloaded. I wasn't able
> to retest it thought because I was unable to build the latest snapshot
> even after fiddling for an hour with all the undocumented environment
> variables.
>
> -Andi
More information about the hotspot-dev
mailing list