Friday, January 14, 2011

DDR3 vs DDR2 for numerical compute machine?

If you were speccing a deskside compute box (something like a quadcore XEON or Opteron and a bunch of RAM) to run code that is not highly memory bandwidth dependent, would you worry very much about it using DDR2 vs DDR3 RAM?

Going with newer machines that use DDR3 is more expensive and I don't see that there is enormous difference in performance between DDR2 and DDR3 outside of perhaps raw bandwidth.

  • It DependsTM

    Personally, I would load it up with as much RAM as I could afford, and if that meant going for DDR2, then so be it.

    That said, if your requirements are not going to exceed say, 4gb, then you may as well bite the bullet and get DDR3, as it will future-proof (insert sniggers of laughter here) your box for upgrades.

    In short, if you need huge quantities (8,12,16gb) then go DDR2 - it will save you a bunch of money.

    If you don't need huge quantities (4gb) then go DDR3 as the price point will be similar to above but you're not over-capitalising.

    Chopper3 : Please take into account that most DDR3-capable boxes can ONLY go large on memory using DDR3 due to channel-latency.
    From Farseeker
  • What do your benchmarks say for the workload you'll be using it for? Without benchmarks, we're all guessing.

    hoohoo : I don't have any, we haven't bought a DDR3 box yet. I was hoping to hear if there are large performance differences or not.
    womble : There may be big differences, or there may not be. Only benchmarking will tell for sure. My vague and unqualified assessment would be "probably not", but you're doing yourself a disservice if you don't test it for yourself.
    From womble
  • I would worry yes, not for the reason you're asking, yes DDR3 is much quicker for both bandwidth and latency but in general terms DD3=Nehalem architecture and that way leads serious compute performance. I know that one of the big universities uses DDR3 as that's what's used with their Xeon E55xx-based servers and they're all about the compute.

    From Chopper3
  • You're probably not even going to notice a difference unless the working set routinely includes more than half of the memory in the machine at once. If you're scanning large sets constantly (for either fast computation or IO), it may be worth your while, but if you're instead doing complex operations on a datum at a time, it's irrelevant.

    It's one of those "if you have to ask, you can't afford it" questions.

0 comments:

Post a Comment