Re: [Hampshire] Kernel Memory Models

Top Page

Reply to this message
Author: Graham Bleach
Date:  
To: stephen.davies, Hampshire LUG Discussion List
CC: 
Subject: Re: [Hampshire] Kernel Memory Models
2008/4/29 Stephen Davies <stephen.davies@???>:
> I was at a presentation today where the speaker said that one of the
> differences between SLES & RHEL was that they use a different way to
> allocate memory.
> He said that SLES uses a NUMA model whereas RHEL uses a 'flat' model.
> He indicated that the NUMA model gave a slightly better performance that
> that used by RHEL. This was observd in a DB Benchmark test. TPC-H
>
> Can anyone verify this statement?
> What do other stock kernels use and can the NUMA model be enable of a RHEL
> Kernel?


It sounds like your speaker may be a little behind the times.

It is possible to use the NUMA model in RHEL 4. In some versions of
RHEL 4 - update 1 for instance - it was disabled by default, but you
could enable it by simply passing numa=on to the kernel from the grub
config. [1]. At some point they enabled it by default on many Opteron
based boxes. It certainly works on RHEL 4 u4 AS for x86_64 on a 4 x
dual-core Opteron IBM x3755 I have access to.

It is (apparently) also possible to control the NUMA memory allocation
and scheduling model down to the process or shared segment level using
numactl [2]. numctl is also handy tool to discover if NUMA support is
enabled:

littleserver# numactl --show
No NUMA support available on this system.

bfoserver# numactl --show
policy: default
preferred node: 0
interleavemask:
interleavenode: 0
nodebind: 0 1 2 3
membind: 0 1 2 3

Cheers,
Graham

[1] http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/release-notes/as-x86/RELEASE-NOTES-U1-x86-en.html
[2] http://www.linuxmanpages.com/man8/numactl.8.php