EM64T, HyperThreading, and filesystems (was Gentoo on PowerEdge 1850)
J. Ryan Earl
ryan at dynaconnections.com
Wed May 17 15:07:48 CDT 2006
A bit of for word on Gentoo and 64-bit, I've had a K8-based Gentoo
server in production for over 2 years now. At first, it was a 64-bit
only distribution, but over time multilib support has been integrated
which allows me to run 32-bit libraries will no performance penalty and
no 32-bit chroot for 32-bit 3rd party binaries. Gentoo 64-bit support
is very good right now.
Jason Clouse wrote:
>I have a couple of questions on setup though. I'm wondering if I should
>bother with a 64-bit install or not, and also whether I should turn
>HyperThreading and SMP on.
>
>
Yes to both for a server.
>But I was wondering if a fully 64-bit system will gain anything from the other
>enhancements in x86-64 (extra registers primarily). The benchmarks I've
>seen seem to imply that Intel's x86-64 implementation actually suffers a
>performance *penalty*, in shocking contrast to AMD's approach.
>HyperThreading also seemed to be inferior.
>
>
What benchmarks? There's a few things to consider here.
* Going from 32-bit to 64-bit with no other changes typically lowers
performance because address will now take up twice as much memory, which
in turn reduces the effectiveness of caches/TLBs and overall increases
bandwidth requirements.
* x86-64 is much cleaner than i386 overall. Flat memory model,
increased register count, and other features will increase performance
at an ISA--instruction set architecture--level.. Since you're using
Gentoo and will likely compile from source with specifically tailored
compiler optimization for your architecture you probably won't see this,
but for binary distribution you're generally dealing with the lowest
common denominator of functionality for compatibility purposes. So
binary software will often use legacy i386 features that newer 32-bit
processors have a faster/better way of doing just to ensure
compatibility. x86-64 raised the lowest common denominator for
functionality and abandoned most of the old i386 cludge, so third party
x86-64 compiled software should run much faster than their i386
counter-parts in general. Someone 3rd party software will actually look
at the processor and load libraries optimized for whatever you have, but
that's few and far between.
* K8 was designed with 64-bit in mind, current 64-bit XEONs had x86-64
tacked on as a rushed after thought to catch up with AMD. It wasn't
particularly engineered with 64-bit performance in mind. Expect the new
"Intel Core" (ie P8) processors to have a much better showing with 32 v
64 bitness.
>Are these benchmarks bunk? Would a Gentoo stage 1 build with Intel's
>compiler work, make a significant difference, and be reliable?
>
>
You don't need to use icc, gcc-3.4.x will work just fine. You can't
build a full GNU system with ICC yet unfortunately, but the newer gcc
generates binaries that are pretty close now performance wise.
-ryan
More information about the Linux-PowerEdge
mailing list