When does what License get reserved when using MATLAB Parallel Server?
Show older comments
I have the following scripts:
% TestScript.m
num_hellos=140;
cluster=parcluster('CPUProfile');
job=createCommunicatingJob(cluster,'Type','pool');
job.NumWorkersRange=[num_hellos num_hellos];
createTask(job,@Hello,0,{},'CaptureDiary',true);
submit(job);
%Hello.m
function Hello()
spmd
fprintf('Hello from lab %d\n',labindex);
end
end
Here "CPUCluseter" is an HPC cluster with a PBS job scheduling system. The Cluster profile is created with the Parallel Computing Toolbox plugin for MATLAB Parallel Server with PBS. The cluster itself has 160 MATLAB_Distrib_Comp_Engine seats, and a limited number of MATLAB license seats. I have tested "TestScript.m" with the command 'matlab -batch "TestSctipt"' from a login node, and this code by itself will schedule a job through PBS that runs 140 workers which will run my "Hello.m" function after PBS allocates me some nodes.
My questions lie in, what is the exact sequence of when licenses are reserved and when the job gets scheduled and when the job runs? From my testing, it SEEMS like the PBS job won't be scheduled until there are enough MATLAB_Distrib_Comp_Engine available, is that corract? While my matlab command is waiting for MATLAB_Distrib_Comp_Engine seats to become available, is it using up one of the main MATLAB licenses? What about while the job is scheduled through PBS, but before the nodes get allocated? What about after the nodes are allocated and the function Hello is running on them--the worker nodes "inherit" the client license when they're launched, does that mean that start taking a main license seat at that point? If no seats are available when nodes are allocated, will the workers fail?
Accepted Answer
More Answers (0)
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!