MATLAB Answers

How can I open a worker pool on a remote machine?

51 views (last 30 days)
Amit Rotem
Amit Rotem on 9 Apr 2019
Commented: Jason Ross on 10 Apr 2019
Can MATLAB send calculations to remote workers through ssh?
I want to achieve the following behavior:
% connect to remote machines via ssh
% and open 4 workers on each machine (i.e. total pool of 8 worker)
RemoteParpool('location',{'local','userA@address1','userB@address2'},'PoolSize',[2 3 4])
% distribute some work over 9 workers (6 remote & 2 local) and return an answer to the Workspace variable 'MyArray'
parfor j=1:10
MyArray(j)=rand; % do stuff
end
The remote (and local) machines all have MATLAB with Parallel Computing Toolbox and run on Linux. And I'm using passphraseless ssh login with shared keys.

  0 Comments

Sign in to comment.

Accepted Answer

Jason Ross
Jason Ross on 9 Apr 2019
This is the purpose of MDCE / MATLAB Parallel Server. It allows you to run the MATLAB job scheduler on a collection of machines, or integrate with an existing scheduler installation (Slurm, LSF, PBS, Torque, Grid Engine, etc). You submit the job to the remote scheduler using Parallel Computing Toolbox and then the job scheduler starts the MATLAB sessions and runs the job.
The documentation for MATLAB Parallel Server can be found here.

  2 Comments

Amit Rotem
Amit Rotem on 10 Apr 2019
Thanks for the prompt answer! However, this seems overly complicated for my needs, I don't think I need a scheduler - I'll be the only one using the cluster. Is there a simpler solution in the case of a single client? (with Mathematica I can achieve this with just a few lines of code)
Jason Ross
Jason Ross on 10 Apr 2019
No, when you go off the single machine (local scheduler) you definitely need some kind of scheduler listening.
We do offer a means of parallelized computation on Amazon EC2, where all the scheduler setup happens on Amazon -- but that's not local resources, and it does require some other setup.

Sign in to comment.

More Answers (0)