NUMA, cpuset and malloc
John Baldwin
jhb at freebsd.org
Mon Apr 22 16:07:05 UTC 2013
On Saturday, April 20, 2013 6:43:26 pm Robert Waksmundzki wrote:
> On NUMA systems allocated memory is striped across local and non-local banks
in order to have consistent performance in case the task is rescheduled to a
different CPU socket.
> When a process is pinned to a single CPU socket with cpuset having the
memory allocator prefer local banks would probably improve performance.
Default system behavior would stay the same and the optimization would only be
triggered on big multi socket systems when administrator used cpuset (command
mostly used for performance optimization anyway).
>
> Is this something currently implemented in FreeBSD? Is this even a good
idea?
You can get something sort of like this by enabling NUMA in your kernel (9.0
and later) and always pinning your processes with cpuset. (The simple NUMA
bits always allocate memory in the memory domain the current thread is
running in at the time of the fault.)
--
John Baldwin
More information about the freebsd-hackers
mailing list