Cores vs. speed tradeoff for a Matlab computer

16 views (last 30 days)
I am buying a computer for Matlab modeling. The goal is to select the computer in my budget range that will complete a set of simulations as fast as possible. I believe I should purchase a computer with as many cores as I can afford, but the processor speed shouldn't be slow. Any suggestions on optimizing the tradeoff of [number of cores] vs. [processor speed]? Below are some example combinations. Which would finish 144 simulations the fastest?
  • 6 cores at 3.46GHz, single CPU
  • 8 cores at 2.93GHz, dual CPU
  • 12 cores at 2.40GHz, dual CPU
[For full disclosure, we haven't been able to get the Parallel Computing toolbox to work with our model code, so we just start a separate instance of Matlab for each core.]

Accepted Answer

Jason Ross
Jason Ross on 1 Feb 2012
You don't mention memory or storage. These are also critical to processing speed.
You should spec an adequate amount of RAM per core, depending on how much memory your simulations use. If you can keep things in RAM they are going to go much faster than if you need to wait on disk access. RAM is relatively inexpensive these days so you should be able to stuff quite a bit of it in for comparatively short money.
I'd also recommend using a SSD for storage. The performance versus a regular hard drive is significant, which will be important if your simulations can't fit in memory or are accessing data files from storage.
Given the information provided, there's no way of knowing which computer would "win" without making a pile of assumptions that may or may not be valid for what you are working on.
You also don't mention how you get to the number of cores. Is this a single CPU system or dual?
  18 Comments
K E
K E on 2 Feb 2012
Yes, will buy 7 with 64-bit OS. I am getting stuck trying to figure the memory that my simulations use in order to spec the new machine, so perhaps I should just choose 3 GB per core, the max number of cores that my budget will allow, and leave processor speed as a secondary consideration.
K E
K E on 14 Mar 2012
Thanks to everyone who helped me with this! I really appreciate it.

Sign in to comment.

More Answers (1)

Jan
Jan on 1 Feb 2012
If you run 12 Matlab sessions on 12 cores and the memory gets low, all sessions compete for the swap space on the hard disk or SSD. Then even a single core processing the simulations sequentially can be faster. If the simulation runs fine on a single core with X GB RAM, install 12*X GB for 12 cores.
Some Matlab functions are parallelized internally, e.g. some linear algebra functions, SUM, MAX, etc. These function will run fastest on 12*2.40GHz cores - if the cores are not occupied by 12 Matlab sessions.
I've bought a used 2.3GHz Core2Duo for 68 Euro. I'm convinced, that 20 of them will beat all 3 high tech machines. Just a thought.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!