Why does parpool take so long to start up for the first time in a MATLAB session?

72 views (last 30 days)
Edward on 17 Feb 2014
Edited: Vlad on 8 Feb 2018
Hi all,
I've recently set up MATLAB's Distributed Computing Server for my cluster of 30 workers across three machines. When I run the parpool command for the first time in a MATLAB session, it takes over 30 minutes to connect to the 30 workers. Thereafter, it takes less than 3 minutes. Anyone know why this might be, and how to decrease the wait time?
I have two dual six-core machines (24) and one dual quad-core (8). I'm reserving one core for the client MATLAB session and another for the MATLAB Job Scheduler (at the recommendation of MathWorks). I'm running MATLAB R2013b on Windows 7 Pro 64-bit.
  1 Comment
Thomas Ibbotson
Thomas Ibbotson on 19 Feb 2014
This is an unusually long time for a parallel pool to be created. Is MATLAB installed on a local disk on each of the machines?
If you contact technical support they should be able help you collect logs from the client and workers to find out what is causing the delay.

Sign in to comment.

Answers (2)

UNK on 28 Jun 2016
Edited: UNK on 28 Jun 2016
You can refer the answer for a similar question asked in stack exchange. matlabpool_very_slow_to_open_workers

Vlad on 8 Feb 2018
Edited: Vlad on 8 Feb 2018
I have a suggestion. When you start the session, write
parpool(1); delete(gcp);
Then continue your work. I can't explain entirely the phenomenon, but it seems that it needs a boost to preallocate some memory for the parpool command. That's why I guess it's good to start with fastest thing possible. I have remarked the same pattern of running slow for the first time when I plot and save as pdf. If I have twenty of such plotting functions, the first will take much more time than the rest. I know it's not a solution, but at least I can let you know that I totally get your problem over here.

Community Treasure Hunt

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

Start Hunting!