On Jul 27, 2005, at 11:52 AM, Vivek Khera wrote:
The amd64 memory architecture is NUMA -- that is, depending on how
your RAM is layed out, some of it is faster to access for each
processor. Accessing RAM "local" to the other processor(s) is slower.
There are many subtle issues relating to non-uniform memory access
and how to code programs to take advantage of it (or try to avoid
being bit by it). It is a very hard problem, and the three letters
following my name came to be from researching this issue 11 years
ago :-)
The FreeBSD scheduler and memory allocators are definitely not NUMA
aware.
No, although there appears to be some integration of concepts like
"virtual memory objects" and binary format branding into FreeBSD from
Mach, which did make efforts to support assymmetric multiprocessing,
heterogenous processor types in one box, and NUMA memory architecture.
It is a really hard problem to deal with :-), and you tend to end up
with processors that could do specific things very quickly, if only
the communications bandwidth between them and other CPUs was fast
enough that the cost of distributing work around exceeds the benefits
of allocating the right processor for a specific job.
I suspect that FreeBSD is going to deal more with this in the context
of x86 or AMD64 hardware which has a fancy GPU, maybe a smart RAID
controller, and the specialized NIC hardware which can handle more of
the TCP/IP stack (not just computing checksums, but handling IPsec,
VLAN or other encapsulation of frames, doing IP fragment reassembly,
or even higher layer stuff), then with a couple of 68040's glued to a
56001 DSP, with i960's running on the Dimension boards...
--
-Chuck
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"