i386 vs amd64 - benchmark results
cswiger at mac.com
Wed Jul 27 16:18:03 GMT 2005
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
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...
More information about the freebsd-stable