MATLAB: How to open a worker pool on a remote machine

Parallel Computing Toolboxremote parpoolremote workerssh

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.

Best Answer

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.