Why am I unable to successfully use the MATLAB Distributed Computing Server (MDCS) with a generic scheduler?

2 views (last 30 days)
After installing and configuring the MATLAB Distributed Computing Server and the MATLAB Parallel Computing Toolbox, I am unable to submit a job.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 18 Nov 2016
There are generally two reasons why the job may not be processed by the scheduler:
1) Licensing issues with the worker nodes.
2) Communication errors between the MATLAB client and the scheduler
Licensing issues:
=================
Before passing a job to your scheduler, please make sure that the worker machines can start up a MATLAB session (since the worker is essentially a background MATLAB session). To do this run the following commands on the worker nodes in a terminal or command window (DOS prompt):
For PC:
 
cd $MATLAB\bin
(where $MATLAB is the root MATLAB directory, ex: C:\Program Files\MATLAB\R2006b\bin)
 
matlab.bat -logfile output.txt -dmlworker -nodisplay -r exit
For Unix/Linux/Mac
 
cd $MATLAB/bin
(where $MATLAB is the root MATLAB directory, ex: /usr/local/matlab/bin or /Applications/MATLAB73/bin)
 
./matlab -logfile output.txt -dmlworker -nodisplay -r exit
Once the command completes, check your $MATLAB/bin directory for output.txt. Open the file with a text editor. If the worker was able to start you should see the following in the file:
 
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
If the worker did not start, the output will give an error message. Please forward that error to the Installation Support team at:
www.mathworks.com/contact_TS.html
Communications errors:
======================
Issues related to hostname resolution or firewalls can cause communication errors.
Hostname resolution:
------------------------------
These connection errors may be caused by the server, which is running the scheduler, not having a resolvable hostname. In order for the job to be passed successfully, the scheduler machine and the MATLAB client need to be able to resolve each other's short hostnames (ex: my_hostname vs. the full name: my_hostname.server.domain). You can quickly verify the host is resolvable by pinging the shortname of scheduler from the client and visa versa.
To do so, open a terminal window, or a command window (DOS prompt) and issue the following command:
 
ping <hostname>
Where <hostname> is the short hostname of the machine you are trying to resolve.
If the ping command returns 'unknown host' there is a networking issue that must be resolved. Please contact your network administrator to repair the resolution issue.
Alternatively, you can add the hostname to the hosts file on that machine. Please consult your network administrator for help with editing hosts files.
Firewall blocking connection:
------------------------------
A firewall may also cause communications issues. If possible, disable any firewalls between the client and the scheduler and try your functions again. If they work with the firewall(s) down, you will need to configure the firewall(s) to work with Distributing Computing and your scheduler.
The MATLAB client uses a random port to connect to the scheduler. To use Distributing computing with a firewall, you will need to set the port the client uses to communicate and open that port on the client. To do this, enter the following command in the MATLAB command window:
 
dctconfig('port', <port_number>)
Where <port_number> is the actual port number you want to use.
EX:
dctconfig('port', 27350)
For configuring the scheduler with your firewalls, please refer to the documentation for the scheduler you are using.
------------------------------
Once the client, scheduler, and the worker nodes are configured properly, you can use the following commands to see if the client can locate the scheduler:
In the MATLAB command window on the client, issue the following command:
 
sched = findResource('scheduler', 'type', 'generic', 'LookupURL','my_scheduler_host')
Where 'my_scheduler_host' is the hostname of your scheduler. You should get the following output if MATLAB could find the scheduler:
 
sched = distcomp.genericscheduler
If MATLAB is successful in finding your scheduler, try using your submit function to send the job to the scheduler. If you are unable to find the scheduler using the findResource command, please forward the following information to:
www.mathworks.com/contact_TS.html
- Your Operating System
- A brief explanation of the issue and how to reproduce it.
- Any output or error messages from the scheduler or MATLAB client

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Tags

No tags entered yet.

Products


Release

R2006b

Community Treasure Hunt

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

Start Hunting!