Slashdot Mirror


Linux Shootout: Opteron 150 vs. Xeon 3.6GHz Nocona

danalien writes "Anandtech with their previous review have stirred up a bit of controversy, and they've released their follow-up review where they pit AMD's Opteron 150 vs Intel's Xeon 3.6 Nocona (on linux)."

26 of 217 comments (clear)

  1. Short version: Xeon RIP. by Anonymous Coward · · Score: 5, Interesting

    No message here. Oh, did you know that an Athlon64 3000+ is within 2fps of a P4 3.4 Extreme Edition in Doom 3?

    Look up the prices for those two items.

    1. Re:Short version: Xeon RIP. by Anonymous Coward · · Score: 5, Informative

      Athlon64 3000+ (2GHz): $167
      Pentium 4 3.4GHz Extreme Edition: $1025

    2. Re:Short version: Xeon RIP. by Ben+Hutchings · · Score: 5, Informative
      Thast being said the pentium 5 is in works, and it will run between 6-10 ghz and absolutely smoke everything the opteron can do, except asm code.

      The design intended to become the Pentium 5 (Tejas) was cancelled in favour of Pentium M derivatives. Intel basically had to give up on the Netburst micro-architecture and is now concentrating on increased parallelism (multiple cores) rather than extreme clock rates.

  2. Memory by lachlan76 · · Score: 4, Insightful

    To be able to show the real potential of the Opteron, you need to have more than one processor.

    This lets you take advantage of the on-die memory controller, by letting each processor do it's own memory work, rather than making the Northbrige do all the work.

    If you want to use a single processor, you might as well use an FX-Whatever, since they are just an Opteron without MP capability and only one HT bus.

    1. Re:Memory by Ianoo · · Score: 5, Informative

      Provided you have a NUMA-aware operating system, that is. The OS needs to know which memory is attached to which processor, since access to memory attached to the same processor on which a thread is running will obviously be faster and lower latency than going across hypertransport to a different processor and waiting for an answer.

    2. Re:Memory by Waffle+Iron · · Score: 4, Informative
      THE INSTANT ANY CPU WRITES A ONE TO GO!!, ALL THE CPUS KNOW IT!! AND CAN START WORKING INSTANTLY!

      How do they know? By cache coherence signals transferred between the CPUs. This isn't free and consumes bus bandwidth.

      The first CPU can't "instantly" write the value either, because it must first obtain exclusive ownership of that cache line by checking with the other CPUs.

      On the Opteron architecture (we call this NUMA, or "point-to-point"), as soon as one CPU writes a value to the 'GO!!' area, well, that's _just the beginning_. It has to tell another CPU in the system that it just did that. etc etc

      It has to use some communication resource to update the other CPUs on the state of that cache line. Just like the bus-based situation.

    3. Re:Memory by ottffssent · · Score: 4, Insightful

      Actually, even without a NUMA-aware OS, the worst-case dual (and almost quad) memory latency is less than a Xeon's.

      What really sets the Opteron apart in MP scenarios is the bandwidth. Each chip gets 6.4G/sec to memory: add more chips, get more bandwidth. The Xeon on the other hand has to share its 6.4G/sec with all the chips in the system, which severely limits its scaling. A quad Opteron has over 25G/sec of aggregate memory bandwidth, while a quad Xeon is stuck with its 6.4G shared 4 ways. That's half the bandwidth of a 400MHz P4 - no wonder the quad Xeons are often barely faster than the duals.

      Add to this that cache snoops and other bus traffic all have to share the same FSB on the Xeon whereas on the Opteron local memory accesses don't touch the HT links at all. For a standard 2P system, this frees up 3.2G/sec of HT link bandwidth, and a NUMA-aware OS only increases the efficiency of the system.

      Despite Intel's recent marketing push, they really don't have the best CPU, and don't have the best system either. There are still considerable advantages to choosing a Xeon system but these days they have little to do with the chip or the board and a lot to do with Intel backing. That's an advantage that will quickly evaporate as industry gets comfortable with non-Intel parts.

  3. Re:opteron by lachlan76 · · Score: 5, Informative

    Athlon 64 is the name used for the desktop line, and Opteron is the name used for the server/workstation processors.

  4. These in-architecture tests are OK, but... by Amiga+Lover · · Score: 4, Interesting

    It's good to see benchmarks between processors in the same family, but is there anywhere that regularly tests CPUs across families? x86, PPC, Sparc, VIA etc. I'd like to see comparisons like that to see how various architectures strengths & weaknesses stack up

    1. Re:These in-architecture tests are OK, but... by gunpowder · · Score: 3, Informative

      Perhaps this is what you are looking for

  5. Opteron cpu hacked by GuyFawkes · · Score: 5, Interesting

    I submitted this story an hour or two ago, but thinking about it it will be rejected just like everything else, and then pop up under someone else's name.

    so what the hell.

    Opteron Exposed: Reverse Engineering AMD K8 Microcode Updates

    Summary

    This document details the procedure for performing microcode updates on the AMD K8 processors. It also gives background information on the K8 microcode design and provides information on altering the microcode and loading the altered update for those who are interested in microcode hacking.

    Source code is included for a simple Linux microcode update driver for those who want to update their K8's microcode without waiting for the motherboard vendor to add it to the BIOS. The latest microcode update blocks are included in the driver.

    Background

    Modern x86 microprocessors from Intel and AMD contain a feature known as "microcode update", or as the vendors prefer to call it, "BIOS update". Essentially the processor can reconfigure parts of its own hardware to fix bugs ("errata") in the silicon that would normally require a recall.

    This is done by loading a block of "patch data" created by the CPU vendor into the processor using special control registers. Microcode updates essentially override hardware features with sequences of the internal RISC-like micro-ops (uops) actually executed by the processor. They can also replace the implementations of microcoded instructions already handled by hard-wired sequences in an on-die microcode ROM.

    AMD's U.S. Patent 6438664 ("Microcode patch device and method for patching microcode using match registers and patch routines") goes into substantial detail on this.

    Typically microcode update blocks are stored in the BIOS flash ROM and loaded into the processor as the system boots. They can also be loaded by the operating system; for instance, Linux contains a microcode device driver for Intel chips.

    AMD recently released a "BIOS fix" to motherboard makers to address Errata 109, in which REP MOVS instructions caused subsequent instructions to be skipped under specific pipeline conditions.

    Previously it was not clear if and how AMD even supported microcode updates in the K8 family until this announcement. After analyzing a number of BIOS images, it appears that AMD has secretly used the microcode update facility on several occasions over the past few years, but obviously avoided publicly disclosing that it actually had bugs patchable in this manner.

    Early K7 (Athlon) cores initially supported microcode updates as well, until ironically the microcode update mechanism itself was found to be broken and subsequently listed as an errata!

    The following sections describe the microcode update procedure, obtained by clean room reverse engineering various vendors' BIOS code. The actual microcode update blocks are embedded in the BIOS image; the most recent updates (created June 2004) have been included in the Linux driver source code attached to this description.

    Microcode Update Procedure

    The update procedure expects the 64-bit virtual address of the update data, including the 64 byte header, to be in edx:eax:

    edx = high 32 bits of 64-bit virtual address
    eax = low 32 bits of 64-bit virtual address
    ecx = 0xc0010020 (MSR to trigger update)

    Execute wrmsr with these register values. If the address and update block data are valid, wrmsr completes successfully. Otherwise, a GP fault is taken.

    The microcode does not appear to update MSR 0x8B with the new update signature as it does on Intel processors, despite the fact that some BIOS code I have analyzed does seem to check this field. It is possible the MSR is only updated under certain conditions, for instance when microcode is loaded before initializing the cache controller. Nonetheless, as we shall see below, the processor is clearly doing something internally when it claims to accept an update in this manner.

    The update generally takes around 5500 clock

    --
    http://slashdot.org/~GuyFawkes/journal
    1. Re:Opteron cpu hacked by Ianoo · · Score: 4, Insightful

      Microcode updates aren't permanent though - you need to reload them every time the machine boots. So clearly you would need to reload these "hacks" using a piece of software during the boot process.

      Also, the article admits that it's "very unlikely" that a particular processor could be fried using a dodgy microcode update, so why even mention it? It would be much easier to write a BIOS flashing virus, I believe a few of these did exist at one point (although the old memory is failing). I doubt the hoops you'd need to jump through to write such a thing for Intel processors are no higher than for AMD processors, and as such, this is just FUD.

    2. Re:Opteron cpu hacked by Sunspire · · Score: 4, Insightful

      I'm not sure if other Linux distributions do this already, but at least Fedora Core 1 and 2 both come with a processor microcode update service that runs in the bootup sequence. It's even enabled by default out of the box.

      Linux has for a long time already mostly ignored the system BIOS since they're notoriously broken because of legacy reasons. Supplying known good microcode is simply another step in eliminating variables that make system testing needlessly complex, I predict we'll see more developments along these lines in general.

      --
      It's like deja vu all over again.
  6. This doesn't look good for Intel by GreatDrok · · Score: 4, Interesting

    I recently installed Fedora 2 on a dual Opteron 248 system (Sun V20Z) and was amazed at the sheer grunt of the thing. Why anyone would even consider buying a Xeon just amazes me. I ran one of my own integer and memory heavy benchmark programs (single threaded) against my Athlon XP 2200+ and a single Opteron processor was 3x faster than the XP for only 400Mhz higher clock speed. These things are amazing, Intel should be crapping themselves and I am sure they would be if it wasn't for the cozy deal with Dell and the number of sites that have a Dell only policy. In a true free market they would be toast.

    --
    "I have the attention span of a strobe lit goldfish, please get to the point quickly!"
    1. Re:This doesn't look good for Intel by iCEBaLM · · Score: 4, Informative

      I wouldn't touch VIA and SIS with a ten foot pole for my own systems, even less for servers. Plenty of bad experiences.

      While in the past VIA and SIS have been really bad chipsets, modern VIA chipsets (KT266A and up) are rock stable and perform well. I have had both KT333 and KT600 boards which have never failed. SIS, while I have no first hand experience, I am told is similar.

    2. Re:This doesn't look good for Intel by drinkypoo · · Score: 3, Informative

      I bought a board with a SiS 745 chipset and it has been perfect, at least under windows. They provide a nice dual-channel PCI bus, even. SiS used to be a horrible joke but they've come a long, long way.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  7. Difficult to trust? by arose · · Score: 4, Insightful
    As we can see above, the difference between the two CPUs seems exaggerated and difficult to trust.
    Maybe it's because Intel still makes processors for MHz and not performance? Maybe because unlike some comercial vendors the POV-Ray Team doesn't feel the need to make processor specific optimizations and leave that to job to the compiler (where it belongs)?
    --
    Analogies don't equal equalities, they are merely somewhat analogous.
    1. Re:Difficult to trust? by ezzzD55J · · Score: 4, Insightful
      This review struck me as a bit clueless, or unfinished. The above quote is a good example of why i think so. They do some measurements, but aren't sure they're doing it fairly (compiler flags), and don't know what to do with the results. There is little in the way of analysis or conclusions. With the openssl measurements they don't even give any conclusions. But analysis and conclusions are the whole point of the review, and a remark like "As we can see above, the difference between the two CPUs seems exaggerated and difficult to trust." really devaluates this review - they're just showing us measurements they're not sure are correct ('difficult to trust') and let us figure out what they're worth?

      Well, the conclusion that the opteron kicks the xeon's ass is pretty inescapable to me, finding out opteron is available and the xeon isn't quite yet and more expensive, really closes the deal to me. But the review isn't very scientific, and didn't go very deep.

    2. Re:Difficult to trust? by alienw · · Score: 4, Insightful

      That's because it is nearly impossible to do a scientific comparison of two different processors. Anyone who tells you otherwise is a moron.

      You have to evaluate performance (possibly vs price) for your particular application. If you need a faster processor for Doom 3, look at Doom 3 benchmarks. If you need to encode video, look at video benchmarks. If you need to do integer computations, look at integer benchmarks. Xeons probably kick AMD's ass at some applications, and AMD might beat the Xeon at others. You can't just say that one is "better" than the other in general.

  8. Lame conclusion? by Quixote · · Score: 4, Informative
    The comparison concludes with the wishy-washy statement:
    After all is said and done it became difficult (nearly impossible?) to justify the Xeon processor in a UP configuration over the Opteron 150,

    Huh? Here are some numbers:

    • POV-Ray 3.50c: Opteron is 40% faster
    • Crafty v19.15: Opteron is 70% faster
    • TSCP: 10% faster
    • PostgresSQL test-insert and test-select: Opteron takes 60% of the time it takes Xeon
    • MySQL test-insert: Opteron takes 80% of the time it takes Xeon.
    In almost every benchmark, where proper optimizations are used (and why shouldn't they be? Who in his/her right mind would not use proper optimizations??), the Opteron destroys the Xeon.
  9. Re:very little grey area by eddy · · Score: 5, Informative

    There are older dual and quad Opteron vs Xeon reviews around.

    When it comes to (Java) webservers and/or MySQL, the Opteron definitely has the advantage. In some cases, the Opteron simply annihilates the Xeon, but luckily for Intel the latter offers some resistance in our GZIP dominated benchmarks.

    Humorously, the also say this:

    The Opteron will probably remain the fastest CPU for the server tasks tested here until Intel introduces Nocona, the Xeon Prescott at 3.4-3.6 GHz (1 MB L2, 800 MHz FSB) at the end of the 2nd quarter of 2004.

    Now we know that the Nocona is here, and it's getting slaughtered at the Altar of The Opteron.

    --
    Belief is the currency of delusion.
  10. Hyperthreading is not good for these benchmarks by DJStealth · · Score: 4, Insightful

    As hyperthreading cuts the L2 cache in HALF, it should be disabled before doing any of these benchmarks. Hyperthreading only seems to improve the multithreading ability. These benchmarks being run on a single process are not realistic.

  11. Re:Opteron vs. A64 by Ianoo · · Score: 3, Interesting

    Actually, your information is out-of-date. The new Socket 939 Athlon 64's (both the + and FX series) feature a dual-channel memory controller for unregistered DDR SDRAM (this is one of the big reasons for introducing the new socket in the first place).

    This still leaves me wondering why an Opteron 250 (2.4GHz, 1MB L2 cache) seems to so seriously outperform an Athlon 64 3500+ (2.2GHz, 512KB L2 cache).

  12. Re:Opteron vs. A64 by at_18 · · Score: 5, Informative

    This still leaves me wondering why an Opteron 250 (2.4GHz, 1MB L2 cache) seems to so seriously outperform an Athlon 64 3500+ (2.2GHz, 512KB L2 cache).

    When people says that the first article was bad, it's because it was really bad: 64-bit binaries for Intel vs. 32-bit binaries for AMD, copy&pasted benchmark results from previous 32-bit benchmarks, tests (PI digit computation) that measured the libc optimization instead of the actual benchmark (when removing the printf() it got about a 10x boost). People on aceshardware forums were posting TSCP scores about 2x what Anandtech got, on the same processor. So the A64 3500+ scores you saw in that article are trash. Forget them.

  13. Other Ideas for benchmarks by johnhennessy · · Score: 4, Interesting

    How about profiling bytecode interpreters for the new breed 64 bit processors.

    Both Sun (the original innovators) and now Microsoft are putting their money on their bytecode (rather than binary) executables to try and avoid the whole backwards compatibilty problems when moving architectures. To get to grips with how important this is - Microsoft has only just recently managed to escape from the 16 bit code hell that it lived in for years (need proof - check out the Win16Lock you needed to get access to the video memory in DirectX).

    That said, I can't imagine that many (someone might enlighten us here) performance benchmarks that a 64 bit bytecode interpreter could do better in when compared to its 32 bit smaller brother.

    What would be interesting here would be to see how Javas bytecode and CIL scale to 64 bit. My first guess would be that Java should scale better (with Suns heritage of 64 bit platforms) but I wouldn't be surprised if MSFT weren't too far behind, as they were always keeping their eye on this test when designing the CIL. This would also be a good chance for the Mono project to try a "ours is better than yours" benchmark for their interpreterrs.

    --
    [ Monday is a terrible way to spend one seventh of your life. ]
  14. Re:Is there somewhere that details all the opteron by Fweeky · · Score: 3, Interesting

    240 = 1.4GHz, £145
    242 = 1.6GHz, +£15 / +14% faster clock
    244 = 1.8GHz, +£90 / +28%
    246 = 2.0GHz, +£190 / +43%
    248 = 2.2GHz, +£345 / +57%
    250 = 2.4GHz, +£465 / + 71%

    First step's a no-brainer; next one isn't too bad, after that you're hitting significant diminishing returns, with each 200MHz gap being a smaller proportion of the total clock, not to mention other things becoming more likely to bottleneck (IO; memory bandwidth, disk latency, network, PCI bus, etc).

    Core differences are going to be minimal, and hypertransport's remained at 800MHz across the S940 range afaik, so the clocks *should* be a pretty accurate upper bound on the performance differences within each range.