Server vs. desktop CPUs

Discussion in 'Science and Technology' started by farmkid, Jun 3, 2011.

  1. farmkid

    farmkid Commodore Commodore

    Joined:
    Jun 1, 2005
    A new program I'll likely be getting for work soon has some fairly high hardware requirements, which may require me to get a new computer. I'm therefore looking at some options to see what will best serve my needs.

    First a little background: I'm a scientist doing a lot of molecular and genomic work. The program I'll be using is to process and analyze large amounts of DNA sequence data (align sequences, do statistics on the alignments, etc.) The hardware requirements for the software specify Windows 7 64-bit and at least 8GB of RAM. Naturally I'll want a fast CPU as well, since the data processing part of the process can take many hours.

    I keep more or less up to date with what's going on in the computer hardware world, but I've never really paid attention to server/workstation parts because I never really had a need for them. In this case, however, I'm wondering if I should. I know most people who buy high-end stuff for this kind of work usually go with Xeon processors and ECC RAM and such, but I don't know why. Are they actually more suited to this kind of work, or do people just think that because they cost more they must be better? This system won't be a server or anything of that sort, so it won't be on 24/7; it will be more of a workhorse for large datasets when needed.

    I know several of you work in IT, and surely have more experience with these parts than me. Can you tell me what the real difference is, and how that will impact my work? Also, most of the benchmarks used now seem to be geared toward media content creation, which is nothing like what I'll be doing. Does anyone have any idea which benchmarks might more accurately reflect the kind of work I'll be using it for?
     
  2. Robert Maxwell

    Robert Maxwell memelord Premium Member

    Joined:
    Jun 12, 2001
    Location:
    space
    For number-crunching, I recommend you get a Xeon E3 or wait for the E5, both of which use the Sandy Bridge architecture. I'm told it's the best choice available and has the best computational power per core. What makes Xeons superior to standard desktop CPUs is their large L2 cache. This helps ensure the CPU never runs out of work to do, so cycles aren't wasted.

    ECC RAM ensures data accuracy so that's going to be essential for the kind of work you're doing, even though it's more expensive.

    You'll also want a good RAID array with fast SATA drives so you can make sure your processing isn't too I/O-bound.
     
  3. Jadzia

    Jadzia on holiday Premium Member

    Joined:
    Apr 25, 2008
    Location:
    England
    One thing to consider: Poorly made software running on top of the range hardware is not necessarily better than well made software running on mediocre hardware .

    Spending a couple of days optimising the code may yield better results than spending $5000 on a powerful number cruncher.

    It depends on the program. Does it use floating point or integer mathematics? Look at the corresponding benchmarks.

    Does the processing involve large datasets with little computation? If so you need a fast FSB and fast memory. Know that ECC memory is usually slower than non-ECC. Servers use ECC because they need run 24/7 and we prefer long term stability over speed. You need the opposite to that I think.

    Does the processing involve small data sets with lots of computation? If so you need a lot cache and gigaflops. Xeons do this. Also consider a dual processor system. (ie 2 quad core processors, both hyperthreaded will give 16 virtual cores). Also to consider: does the software take advantage of multiple cores? Or does it run on a single thread?
     
    Last edited: Jun 3, 2011
  4. farmkid

    farmkid Commodore Commodore

    Joined:
    Jun 1, 2005
    I was planning to go with a Sandy Bridge CPU. As you said, from what I've been able to gather, it does significantly better than its predecessors. I've been looking at the Xeon E3, but for the life of me I can't figure out how it's different from its Core i_ siblings. Specifically, I've been looking at the E3-1275 or the Core i7-2600. As far as I can tell, the only difference between the two is that the Xeon can use ECC memory. Now, there's not a big difference in price between the two if I build th system, so that's not a big deal--it only matters if I want to use ECC memory. I guess that's where my real question lies. I realize the ECC memory ensures data accuracy, but I've never seen data corrupted by using non-ECC memory, so is that really a concern?

    If I build the system, using server parts will increase the cost by maybe $300 or so. That's not a big deal, and I would probably go with it. The problem is that since this is for work, I don't think my IT guy will be very happy with me doing that, or that my boss will even let me. (I'm no stranger to building computers; I've build built several dozen over the years, so I'm confident that I could do it with no problem.) Buying a pre-built system with these parts costs a lot more than buying one built with desktop parts. Below are the approximate costs of approximately equally-configured systems. The self-built systems are identical except for the CPU, motherboard, and RAM. The Dell systems have the same specs as the parts I chose (or as close as I could get). I chose high-quality parts for the self-built systems, not just the cheapest stuff available.
    self-built, server parts--$1300
    self-built, desktop parts--$1000
    Dell, server parts--$2700
    Dell, desktop parts--$1450

    As you can see, the cost difference is considerable. Everything I spend on this is less I have to spend on my research, so I don't want to spend a lot on something that will not yield any discernible gain. I need to be convinced there may be an actual difference in outcome by using the more expensive hardware.
     
  5. Robert Maxwell

    Robert Maxwell memelord Premium Member

    Joined:
    Jun 12, 2001
    Location:
    space
    I don't think you need server-class hardware for this. Servers are really best for situations where you have to serve multiple concurrent users. For pure number-crunching, a powerful standalone system is sufficient, just make sure it's got a fast CPU, lots of RAM, and fast disks.
     
  6. farmkid

    farmkid Commodore Commodore

    Joined:
    Jun 1, 2005
    Well, that's not an option. It's a commercial software package, so I can't really do anything with the actual code.
    I don't know. The software will be doing two things, aligning strings of text, and doing statistics based on those alignments. If I had to guess, I would think the aligning will probably be integer math and the statistics would be floating point math. The alignment will definitely be by far the majority of the computation (aligning several million strings a few hundred characters long to a string a few billion characters long).
    The software is definitely multi-threaded. I've thought about getting a dual-CPU system, but I haven't decided yet whether it's worth the cost. When I use it, it will run for several hours, so I'll probably just start it, then go home for the day. I won't know how many hours it will take to get through a typical dataset until I actually have the data, software, and system. If it will take 6 hours with 2 CPUs and 12 hours with one, 2 CPUs will make no real difference at all. So it finishes at 10 PM instead of 4 AM, so what? Now that I think about it, I'll likely only have one dataset at a time, so I'll rarely, if ever, be waiting for it to finish so I can do something else. I don't think the time savings of having two CPUs is worth the expense and complication.
     
  7. Robert Maxwell

    Robert Maxwell memelord Premium Member

    Joined:
    Jun 12, 2001
    Location:
    space
    Multiple cores in a single CPU will probably serve your needs just fine. If it's not too much more money, maybe you could go with a dual-socket motherboard, just in case you decide you need a second CPU.
     
  8. Saturn0660

    Saturn0660 Rear Admiral Rear Admiral

    Joined:
    May 16, 2001
    Location:
    saturn0660
    Get a Mac Pro
     
  9. farmkid

    farmkid Commodore Commodore

    Joined:
    Jun 1, 2005
    ^Why would I want to do that? What I'm looking at will cost me about $1200 if I get a PC.
    The closest Mac Pro configuration I could come up with is about $3500. Furthermore, the PC configuration I would get uses the latest Sandy Bridge CPU (significantly better than the previous generation, as stated above) which isn't even available in the Mac. The software I need it for is Windows-based (although it does run on a Mac in Parallels), so there's not even an OS difference to consider.
     
  10. Marc

    Marc Fleet Admiral Premium Member

    Joined:
    Nov 14, 2003
    Location:
    Shinning Waters
    Then he's looking to a server class board and needing Xeons that support multiple sockets (the E3's don't and that rules out Sandybeach).

    Just running some prices through NewEgg
    Intel Xeon 5620 processor $390 each
    12GB Kingston RAM $219
    Asus Dual Socket board $379.

    Farmkid mentioned 8GB of ram at least. As the system would be using DDR-3 which is triple channel he'd wind up going with 12GB (rather than going down to 6).
     
  11. Saturn0660

    Saturn0660 Rear Admiral Rear Admiral

    Joined:
    May 16, 2001
    Location:
    saturn0660
    It looks to me like all the programs work in Mac from the link you gave without using parallels.. The new iMac uses Sandybridge. And you can get it with up to 16gig... Just sayin...

    And it's a Mac.. THAT makes it better..
     
  12. farmkid

    farmkid Commodore Commodore

    Joined:
    Jun 1, 2005
    Most of the programs work on a Mac, but the main one I'm getting it for (QSeq) doesn't run natively on Mac--it requires a virtual machine running Windows. The main difference would be a shiny case and less money left for experiments. The hardware is virtually the same; I would be running Windows anyway; and I just don't like Mac OS. Most of the people in my lab use Macs. I use Windows and Linux.

    I realize (or hope, anyway) that you're initial suggestion was at least partially tongue-in-cheek. Let's not turn this into a Mac vs. PC flame war.
     
  13. little_chris

    little_chris Fleet Captain Fleet Captain

    Joined:
    May 24, 2001
    IMHO you have 2 choices.

    Core i7 2600 with 8 or 16gb or ram and a not too flashy stable motherboard

    or

    AMD Phenom II X6 1100T with again 8 or 16gb and decent stable motherboard.

    Paired up with some decently fast HDDs and maybe a smaller SSD for OS.

    The big bad in all this would actually be a Core i7 990X it maybe older but it's still the fastest overal coupled with 12 or 24gig of ram but would cost.
     
  14. Jadzia

    Jadzia on holiday Premium Member

    Joined:
    Apr 25, 2008
    Location:
    England
    For a rough idea of performance, look at the overall benchmarks:

    http://www.cpubenchmark.net/high_end_cpus.html

    The numbers represent "real world" computation rate.

    The top end processors score between about 8000 and 10000. That difference can matter for games since they're real time processes. It can also matter for high performance servers that have a never ending workload.

    But the difference between 8000 and 10000 is not that much really: A four hour computation on a 10000 will take take an hour longer on an 8000, which I'm guessing would not a big deal for you. :)

    I wouldn't go with something too fancy for the sake of saving the odd hour. I'd go with a mid range i7 I think ,like the Intel Core i7-2600 suggested by little_chris.

    Secondly, because this program going to strain you CPU for a long time, make sure it has good cooling. Go water cooled if you like.
     
  15. CuttingEdge100

    CuttingEdge100 Commodore Commodore

    Joined:
    Dec 14, 2005
    Well, with cloud computing the drawback is security...
     
  16. Robert Maxwell

    Robert Maxwell memelord Premium Member

    Joined:
    Jun 12, 2001
    Location:
    space
    Who said anything about the cloud here? This is about doing lots of computing on local hardware. A cloud-based solution would be pretty worthless in this case. Dreadfully slow, if nothing else.
     
  17. John O.

    John O. Rear Admiral Rear Admiral

    Joined:
    Feb 24, 2005
    Location:
    the bush
    Somebody may have already mentioned this but I'm way too lazy to actually read through and find out :P

    But you need to find out whether the software you're talking about running is even optimized for multithreading before you drop thousands of dollars on high end multi-core processors. It might make more sense to scramble together a cluster of a bunch of single core older PCs and run it on a linux build with... oh wait, you just said it's a W7 app didn't you?

    In any case you need to know if the software multithreads well.

    ^Ditto to Maxwell, this has nothing to do with cloud computing.

    But Maxwell - isn't ECC memory primarily important for servers that are going to be logging lots and lots of continuous uptime? If the application is some heavy number crunching but not for days/weeks/months on end (only say, several hours at a time), you may not need to drop extra money on ECC memory. This is just my limited understanding of this equipments' theoretical purpose though, I've never actually used it.
     
  18. Marc

    Marc Fleet Admiral Premium Member

    Joined:
    Nov 14, 2003
    Location:
    Shinning Waters
    It's more about the reliability of the information. Even if the OP's only processing for 90 seconds, a single bit error could be enough to invalidate his data sets and it's that sort of problem that ECC is intended to prevent.
     
  19. Robert Maxwell

    Robert Maxwell memelord Premium Member

    Joined:
    Jun 12, 2001
    Location:
    space
    Yup. If you absolutely must have 100% data reliability, you need ECC.

    However, since we're talking about DNA sequencing, some errors are kind of assumed as an artifact of the process, so maybe ECC isn't that big a deal--the data you're working with isn't perfect to begin with and the software is designed to compensate for that, so the occasional bit error isn't going to seriously skew your results.
     
  20. Sean Aaron

    Sean Aaron Rear Admiral Rear Admiral

    Joined:
    May 29, 2007
    Location:
    Glasgow, Scotland
    The main thing I'd be concerned with about using server-grade hardware is cooling. Servers tend to sound like bloody jet engines because they're expected to be put into a data centre with giant aircon units where people don't actually work and have loud-ass fans inside them on top of it. I can't say I'd want something like that running in my flat.