Slashdot Mirror


Linux 2.6 And Hyper-Threading

David Peters writes "2CPU.com has posted an article on Hyper-Threading performance in Linux. They use Gentoo 1.4 and kernel 2.6.2 and run through several server-oriented benchmarks like Apache, MySQL and even Java server performance with Blackdown 1.4. The hardware they use in the tests is border-line ridiculous (3.2GHz Xeons, 3.2GHz P4 and P4 Prescott) and the results are actually quite interesting. It's a good read as he even takes the time to detail his system configuration all the way down to the CFLAGS used while compiling the software."

6 of 51 comments (clear)

  1. Says who? by Anonymous Coward · · Score: 5, Interesting

    The hardware they use in the tests is border-line ridiculous

    I'm typing this on a 3.0 GHz Pentium 4 that has hyperthreading. The entire system cost me $1200 to build just before Christmas - including 1GB of RAM, a Radeon 9800 Pro video card and a 120GB SATA hard drive. Dell and IBM sell 3GHz notebooks now for a similar price.

    My point is that a 3.2GHz CPU is not ridiculous in an age where 2.66GHz processors are considered entry-level (FYI, Dell is currently selling a 2.66GHz desktop for $499).

    What are you still running on? A 486?

  2. Re:License software based on # of CPUs by MerlynEmrys67 · · Score: 3, Interesting
    I haven't - but then I don't run Oracle and many of the "per CPU" server applications.

    I'm really waiting to see what these vendors will do when true Multicore CPUs are popular with the unwashed masses.

    Especially when there are 4-16 cores per CPU

    --
    I have mod points and I am not afraid to use them
  3. Tantalizing . . . by Mysteray · · Score: 4, Interesting

    Those sure are some interesting numbers. On the order of a 49% increase or 35% decrease in performance depending on the application. I always figured those high-GHz CPUs would be completely IO-bound. I guess this sometimes allows threads to run with what they've got in the on-chip cache.

    Makes you wonder if a kernel could detect if it was helping or not and selectively enable it.

    I did some informal testing between VC++ native and C# to .Net bytecode. I had a little loop calculating primes. The native C++ kept everything in registers, while the CLR made everything relative memory accesses to BP. I figured that would devastate performance, but on the Pentium 4, it was only 5% slower! It seems to have an L1 cache that's as fast as the registers. That will certainly make it easier on the compiler writers.

    Sort of off topic, did anyone else see that article in MSDN about using .Net for serious number crunching? The author seemed to write the whole article as if he thought it was a good idea. Not that there wouldn't be some advantages to doing that (such as the possibility of tuning for the processor at runtime), but the one graph he showed comparing with native code had .Net running 50% to 33% slower!

    1. Re:Tantalizing . . . by be-fan · · Score: 2, Interesting

      The P4 seems to handle indirect accesses extremely well. They did a benchmark of bcc awhile ago. Bcc is a version of GCC that does bounds checking. Now, bounds-checking in C sucks because you have arbitrary pointer arithmatic. So a pointer balloons from a 4-byte word that fits in a register, to a 12-byte structure that must be accessed indirectly. On a P3 and an Itanium, the penalty was huge, reaching 117% for the P3. However, the penalty on the P4 was only 34%.

      --
      A deep unwavering belief is a sure sign you're missing something...
  4. Re:Cute comment on compiling by addaon · · Score: 2, Interesting

    Built into ProjectBuilder, using Rendevous, on all current macs.

    --

    I've had this sig for three days.
  5. Re:They need -mm by HRbnjR · · Score: 4, Interesting

    For the record though, the important point was that the stock 2.6 kernels do not yet handle HT in an ideal manner. The article doesn't mention if the Gentoo kernel used for the benchmarks is HT patched or not.

    And with special thanks to Zack Brown, those interested can read summaries of HT issues here:

    http://www.kerneltraffic.org/kernel-traffic/topics /Hyperthreading.html