MDCS for n>12 parfor on local multicore computer

1 view (last 30 days)
Vladimir
Vladimir on 11 Mar 2013
Answered: Edric Ellis on 7 Mar 2014
Hi Mathworks.
I'm looking for confirmations and advices concerning the possible use of Distributed Computing Server (MDCS) for local multicore computers.
I'm currently running a code based on Parallel Computing Toolbox, using the parfor loop on my local desktop x4 multicore computer. And it works perfectly well.
I'm now planning to buy some new hardware to decrease computation time. Let's say a x64 multicore computer. But as Parfor is limited to 12 parallel local worker, I will need MDCS.
I'm not quite familiar with MDCS yet, but to make my code run on a x64 multicore local or remote computer, as I understand it , I just have to set a local/remote MJS with a corresponding pool of 64 workers, and set matlabpool to use this MJS. It just seems far too easy to me.
What I would like to know then is:
1. Is it possible to run n>12 parallel parfor loops using MDCS on a single local/remote n>12 mutlicore computer? And then, do I just need what I described to make it works properly?
2. As it represent quite an investment, even if it's not a proper Matlab question, do you have any advice/comments concerning the way I should select this new hardware? I'm thinking of any advantage I could get for choosing either one x64 core VS multiple x8/x12 cores for instance.
Thanks
Note : I'm running few thousands parallel Fmincon using 20-80 input parameters for some Fourier Transforms, with a current computing time of 20-45 mins.

Answers (2)

Jason Ross
Jason Ross on 11 Mar 2013
Ideally, what you describe is true -- you set up a profile to use a remote cluster, and your code runs on that remote cluster. The only place that things might get sticky versus working with everything locally is with access to data files or getting your code onto the cluster -- you may need to use some of the AttachedFiles or AttachedFolders entries in the cluster profile to make this happnen -- but the intent of the product design is to make it very easy to switch between clusters, with no changes to your code -- it should be transparent.
As for hardware sourcing, it's highly dependent on your actual budget. One person's expensive machine is another person's normal machine, and still another's cheap machine.

Edric Ellis
Edric Ellis on 7 Mar 2014
Please note that in R2014a the limit on the number of local workers was removed. See the release notes.

Community Treasure Hunt

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

Start Hunting!