Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

parallel computing toolbox without distributive computing toolbox

119 views
Skip to first unread message

Sig Du

unread,
Sep 28, 2009, 4:05:19 PM9/28/09
to
Hi,

Is it true that the parallel computing toolbox won't work if the distributive computing toolbox has not been installed? Because then if I type in 'matlabpool', I received the following err msg:
" License checkout failed.
License Manager Error -4
Maximum number of users for Distrib_Computing_Toolbox reached.
Try again later.
To see a list of current users use the lmstat utility or contact your License Administrator.

Troubleshoot this issue by visiting:
http://www.mathworks.com/support/lme/R2008b/4

Diagnostic Information:
Feature: Distrib_Computing_Toolbox
License path: /myhome/.matlab/R2008b_licenses:/opt/stow/matlab-r2008b/licenses/license.dat:/opt/stow/matlab-r2008b/licenses/network.lic:
FLEXnet Licensing error: -4,132."

So it failed to start matlabpool when Distributive Computing Toolbox is missing. And we know that if matlabpool is not working, then parfor loops will be just the same as serial for loops. I also got similar err when I tried with 'findResource' or 'pmode'. They are not working even on a local multi-core PC, not to mention a cluster system. Does this mean, without Distributive Computing Toolbox, parallel computing toolbox is useless?

Raymond Norris

unread,
Sep 28, 2009, 9:05:20 PM9/28/09
to
Hi Sig,

Let me clarify one thing, there are two products: The Parallel Computing Toolbox (client side) and the MATLAB Distributed Computing Server (server side). Functions like parfor are built into the language. Others, like matlabpool, batch, and spmd require PCT. The PCT functionality allows you to submit jobs serviced by MDCS.

The License Manager error is stating that all the PCT licenses have been checked out. Without a PCT license, you can't start run jobs on the cluster.

Let me know if this helps.

Raymond

"Sig Du" <dus...@hotmail.com> wrote in message <h9r4tv$7o6$1...@fred.mathworks.com>...

Sig Du

unread,
Sep 28, 2009, 11:40:20 PM9/28/09
to
Raymond,

Thanks for your reply! When you said "Functions like parfor are built into the language", you mean that this function can stand alone or that it can automatically judge the situation and do parallel computing? I think maybe you meant the former, because if I don't start matlab pool, then parfor is acting just like for, right?

The strange thing is that we do have the parallel computing toolbox installed. Doesn't that mean we should have license for that toolbox? I don't think it was because there are too many users here, as whenever I tried it, I got the same msg.

Thanks again!
Sig

"Raymond Norris" <raymond...@mathworks.com> wrote in message <h9rmgg$p9b$1...@fred.mathworks.com>...

Sig Du

unread,
Sep 29, 2009, 12:15:18 AM9/29/09
to
Hi Raymond,

Another question I would like to ask: if I don't have MDCS, but can make the PCT work, can I get my parallel computation matlab job run on cluster with Torque? Since you said MDCS allows me to submit the job, but Torque can do this job too. I guess Torque can be a substitute for MDCS, right?

thanks,


Sig

"Raymond Norris" <raymond...@mathworks.com> wrote in message <h9rmgg$p9b$1...@fred.mathworks.com>...

Raymond Norris

unread,
Sep 29, 2009, 9:45:17 AM9/29/09
to
Correct. parfor identifies if a MATLAB Pool is running. If it is, we leverage the Pool. If not, then the parfor runs very similar to the for loop. This allows you to convert your for to a parfor and still give it to someone who doesn't have PCT.

Having PCT installed isn't the same as being licensed. Everyone can install PCT locally on the Windows machine (for example), but the flexLM might only allow 3 people to use it at the same time. The message

Maximum number of users for Distrib_Computing_Toolbox reached

cetainly seems to indiciate that more people are trying to use it then are licensed for. I would suggest speakin with your Sys Admin to determine how many licenses you have. S/he might also be able to indicate who the current users are.

Raymond

"Sig Du" <dus...@hotmail.com> wrote in message <h9rvj4$pnd$1...@fred.mathworks.com>...

Raymond Norris

unread,
Sep 29, 2009, 9:52:01 AM9/29/09
to
MDCS doesn't allow you to submit MATLAB jobs -- MDCS is (headless) MATLAB. We provide a scheduler, MathWorks Job Manager, that can submit MATLAB jobs to MDCS. The Job Manager can be substituted by TORQUE.

I think you might be asking the following question: Can you submit a MATLAB job via PCT to TORQUE that starts up full MATLAB rather than MDCS. PCT is written to instruct TORQUE to startup MDCS, not MATLAB (there is a slight difference between full MATLAB mode and MDCS). And truthfully, you don't want to be useing full MATLAB licenses to run on the cluster. It's more economical to run MDCS than full MATLAB on the cluster.

Tell me if this answers your questions.

Raymond

"Sig Du" <dus...@hotmail.com> wrote in message <h9s1km$5vh$1...@fred.mathworks.com>...

Sig Du

unread,
Sep 30, 2009, 10:07:17 AM9/30/09
to
Raymond,

Thanks a lot. Your answer is very helpful. I've aske our admin to work on the license problem. One final thing to confirm: If I write some code with 'parfor', and I have Torque on the cluster. Suppose I request multiple nodes through Torque and submit this code to cluster without first running the 'matlabpool' command, my code won't automatically run parallelly, is that right?

thanks,
Sig

"Raymond Norris" <raymond...@mathworks.com> wrote in message <h9t3e1$mv5$1...@fred.mathworks.com>...

Raymond Norris

unread,
Oct 1, 2009, 9:17:09 AM10/1/09
to
There are two ways to run a MATLAB Pool over TORQUE.

1. Interactively. That is, from the MATLAB prompt you run

>> matlabpool open torque_config 4

Using a (made up) configuration called torque_config, you start 4 Workers on the cluster. Now if you run a parfor, it will submit the tasks to TORQUE.

2. Batch. By using the batch() command, you can either run your code serially on one Worker or pass as an argument the size of the MATLAB Pool to startup for you when you submit the job.

>> job = batch('myscript','Matlabpool',4)

Raymond

"Sig Du" <dus...@hotmail.com> wrote in message <h9voml$ira$1...@fred.mathworks.com>...

0 new messages