Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm building a 2nd dell T7500 workstation for a custom application that will run 3 or 4 very heavyweight threads, and 6-8 lighter background threads. I/O is huge, as we'll be streaming and processing lots of image data.

The first machine had a Xeon X5570 2.93GHz, the Dell salesman is trying to talk me into switching this to a newer E5630.

I understand it's slower clock speed doesn't really matter, and it is newer. But I want to make sure I'm making the right decision. Thoughts?

share|improve this question
add comment

3 Answers 3

up vote 2 down vote accepted

I/O is huge, as we'll be streaming and processing lots of image data.

If this is true and the newer processor is more expensive, I'd tell the salesman to go find another chump. According to wikipedia, they're both based on the same Nehalem architechure. About the only differences are clock speed, your existing processor uses a faster 1333Mhz bus, and the E5630 draws less power. Spend the money on better disks instead, or at least more RAM.

On the other hand, the wikipedia also lists the E5630 as costing much less money. If this is true, and you really are I/O-bound, then the sales guy knows what he's doing. He's saving you money by selling you a cheaper processor because the more-expensive one was mostly wasted. Another option, if you are I/O bound, is the L5618. This shows the same price as the E5630 and is another 25% slower, but uses 1/2 the electricity. So that's an option if your business is interested in going green.

If I you do want a CPU upgrade, the one thing I might do is go for an E5650. This is a six-core processor, with up to 12 simultaneous threads without the need for context switching when you consider hyperthreading. Since your application calls for up to 12 threads, that could mean a serious bump. But only if you are CPU bound rather than I/O bound.

share|improve this answer
    
Thank you Joel. The last paragraph the kicker. I'm going to try out the X5650 since I am CPU and I/O bound depending on the moment :P –  bufferz Sep 16 '10 at 20:22
    
@bufferz - if you are both at times, then to improve performance I would look first at altering the program if that's within the realm of possibility. A good mulit-threaded program should either be able to pull from the disk faster than the cpu can process things or use the cpu to process things faster than you can pull from disk or network. The way to accomplish this in the program is via correctly-implemented producer/consumer queues. [continued] –  Joel Coehoorn Sep 16 '10 at 20:46
    
... Once such a re-write is completed, the program will be able to keep the slowest component of your system working the entire time, regardless of what else is going on. Currently this slowest component spends part of the time idle, and therefore the entire run of your program takes longer. This should make it very clear which part is slower (hint: it's almost always disk), and make it so that upgrading the corresponding hardware will have a direct and perfect impact on the performance of the app. –  Joel Coehoorn Sep 16 '10 at 20:51
add comment

According to CPUBenchmark.net the Xeon X5570 scores 5320 whilst the Xeon E5630 scores 4822... so it seems to be much faster on benchmarks alone.

So, I would stick with the X5570! It appears to be slightly older, but it is a better CPU.

Specifications of X5570

Specifications of E5320

share|improve this answer
    
Thanks Wil, I didn't know about that site. However I think you compared a single CPU X5570 with a dual CPU E5630. The single E5630 scores a 4822. Is this number a pretty good base for comparing processors, so in this case I'd be better off with the X5570? It's for a work computer so money, within reason, is less important than price. –  bufferz Sep 16 '10 at 15:49
    
@Bufferz I would say that site is a very good indication at performance. My mistake and have updated answer. –  William Hilsum Sep 16 '10 at 17:30
add comment

Processing images eats CPU, which means that the heavy threads would very likely each require a dedicated CPU. Therefore I would suggest having two quad-core CPUs.

As regarding the X5570 vs. E5630, the E5630 is slower but newer and supports the SSE4.2 Instruction Set Extensions, which can be extremely useful in speeding up image operations. In your place I would have gone for a faster CPU from the latest generation that supports DDR3-1333, has 32 nm Lithography and SSE4.2.

Likewise, moving around huge chunks of data requires fast RAM memory, fast bus and fast disks. If you can, add in more than one disk controller and try to divide the I/O among controllers, so they will operate in parallel. Do not accept disk-stripping on one controller as a solution. Get as much RAM as you can afford, so disk operations can be fully buffered.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.