0
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?
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 – 2010-09-16T20:22:02.410
@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 – 2010-09-16T20:46:52.320
... 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 – 2010-09-16T20:51:22.003