I currently have an 2x Intel Xeon X5690 (12-core, 3.47 Ghz) machine. I use Linux Fedora 17 as my OS. I do a lot of statistical programming using the statistical package R. I often do large number of simulations such as 10,000 which involve multivariate numerical optimization routines and matrix operations (multiplication and inversions). I use parallel computing for simulations. Since I have 24 threads (hyperthreading), I parallelize my code in a way which splits the 10,000 simulations evenly among 20 threads (so each thread does 10,000/20 = 500 simulations, I leave the remaining 4 threads alone as 10,000/24 will not be an integer). This is done via openMPI. Currently I'm working on something for which my R code takes approximately 26 hours to run. This is not bad but at this point, I would like to get my simulation results faster as I have to repeat the process numerous times using different parameters which could conceivably take longer.
I'm looking to upgrade and gathering info on the following CPU's:
As stated earlier, I do a lot of statistical computing using parallel computing. My main objective is to obtain my simulation results faster. The Opterons seem cheaper on a per core basis but I'm guessing there must be some sort of trade-off between an Opteron 64-core and a Xeon E5 16-core? I'm aware that calculating execution time is not a simple linear function, but for my purpose, which one of these processors is more likely to get me my results faster?
I've got a grant so I'm very fortunate to say that money is not a huge issue but I would still appreciate getting my "bang for the buck". Thanks for any guidance.
It seems your workload is very scalable so I'd say the Opteron will work brilliantly for you. The Intel is more powerful per core but since you can easily scale up to however many threads AMD should dominate overall performance.
Thank you, FinneousPJ and k1114 for the advice thus far. Going from the 6272 to 6282 SE is looking somewhat expensive which again is not a big deal. But would the additional clock speed help substantially?
Well, it'll help but the bulk of your power comes from simply the amount of processing threads. It would not be unreasonable to expect about 30% faster processing speed from a 30% higher clock rate, though, and so forth.. I can't say if that's worth it for you.
Just as a point of reference, a new AMD 6272 is going to perform roughly on par with your current X5690. If you can run 4 of the AMD, you should be finishing about twice as fast, but 4CPUs have a little more overhead than two, so you likely won't get quite double the juice.
Is your application able to split the load to run on two different servers at once? If so, a second 2 processor box would be my vote.
You know, if you can run distributed computing (which Open PMI should be able to do) I'd actually say multiple 1 CPU boxes are going to be the best bang for the buck. Assuming you have a good network infrastructure and the expertise to put it together.