Clear Filters
Clear Filters

Batch sounds slower than interactive parallel jobs

3 views (last 30 days)
Hi !
I use Matlab 7.10.0 and Parallel Toolbox on a 8 cores blade.
Issuing that command :
tic;job=batch('birthdayscript','matlabpool',4);wait(job);ovrHead=toc;
I obtain ovrHead = 10.42 seconds
Issuing that command :
matlabpool open 4;tic;p = prunbirthday(2e4, 30), ovrHead=toc;matlabpool close
I obtain ovrHead = 1.39 seconds
May I ask you why batch method is so ineffective ?
Sylvain
PS : here the code of birthdayscript :
numtrials = 2e4;
groupsize = 30;
% Preallocate some memory for the matches
matches = zeros(1, numtrials);
parfor trial = 1:numtrials
% Run a simulation for a group
matches(trial) = birthday(groupsize);
end
% Probability is the sum of matches divided by number of trials
prob = sum(matches)/numtrials;

Accepted Answer

Sean de Wolski
Sean de Wolski on 9 Jul 2013
Edited: Sean de Wolski on 9 Jul 2013
batch is opening its own MATLAB pool of four workers so this is included in the timing of the first snippet and not the second.

More Answers (1)

Sylvain Rousseau
Sylvain Rousseau on 10 Jul 2013
Edited: Sylvain Rousseau on 10 Jul 2013
Dear Sean,
Thanks for your answer.
That's what I thought at first sight, but the task overhead is the same when I move the tic after the batch() statement :
job=batch('birthdayscript','matlabpool',4);tic;wait(job);ovrHead=toc;
Here again, I obtain ovrHead = 10.42 seconds
Moreover, if I increase workers number up to seven (findResource gives a clusterSize of 8) , the overhead stays the same although I'am the only user of the computer.
Cheers.
sylvain

Categories

Find more on Parallel Computing Fundamentals in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!