Re: How can I optimize a process on a NUMA architecture(x86-64 specifically)?

From: Brett E.
Date: Fri May 21 2004 - 19:33:06 EST


Martin J. Bligh wrote:

"Martin J. Bligh" <mbligh@xxxxxxxxxxx> writes:


For any given situation, you can come up with a scheduler mod that improves
things. The problem is making something generic that works well in most
cases.

The point behind numa api/numactl is that if the defaults
don't work well enough you can tune it by hand to be better.

There are some setups which can be significantly improved with some
hand tuning, although in many cases the default behaviour is good enough
too.


Oh, I'm not denying it can make things better ... just 90% of the people
who want to try it would be better off leaving it the hell alone ;-)

M.


Right now, 5 processes are running taking up a good deal of the CPU doing memory-intensive work(cacheing) and I notice that none of the processes seem to have CPU affinity. top shows they execute pseudo randomly on the CPU's.


At this point I'd like to decrease the number of processes to 4 and test performance with and without setting CPU & memory allocation affinity.

I've read the archives and I'm not sure how to get numactl running, both .5 and .6 versions give me:

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

despite using kernel 2.6.6.

running numactl under strace gives me:

32144 sched_getaffinity(32144, 16, { 0 }) = 8
32144 syscall_239(0, 0, 0, 0, 0, 0, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30, 0x401e30) = -1 (errno 38)
32144 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 53), ...}) = 0
32144 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9556c000
32144 write(1, "No NUMA support available on thi"..., 42) = 42
32144 munmap(0x2a9556c000, 4096) = 0
32144 exit_group(1) = ?


In case someone might have ran into this before.



Thanks,

Brett

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/