MATLAB: Can I submit to a MATLAB Parallel Server cluster that is at a different release number than the MATLAB and PCT setup

MATLABMATLAB Parallel ServerParallel Computing Toolbox

I have a MATLAB Parallel Server cluster that is either newer or older than the version of MATLAB I have installed on my client machine. Can I still utilize this client machine to submit jobs to my MATLAB Parallel Server setup?

Best Answer

For R2015b and earlier, in order to submit a job to the cluster, the versions of MATLAB on the client machine and MATLAB Parallel Server on the cluster must match.
From MATLAB R2016a onwards, you can upgrade your MATLAB Job Scheduler-based clusters to a more recent Release of MATLAB Parallel Server but continue to use older versions of Parallel Computing Toolbox to submit jobs to it . To take advantage of this backward compatibility feature:
  1. Install the latest version of MATLAB Parallel Server on your cluster. You must use this version to run MATLAB Job Scheduler on your cluster.
  2. Install MATLAB Parallel Server for each release that you want to support with the cluster. For example, to use Parallel Computing Toolbox R2016a and R2016b with your cluster, install both the R2016a and R2016b releases of MATLAB Parallel Server.
  3. Configure MATLAB Job Scheduler with the location of these installations. In the mjs_def configuration file, specify the location of each installation of MATLAB Parallel Server in the MJS_ADDITIONAL_MATLABROOTS variable. You can find this file in matlabroot/toolbox/parallel/bin for Linux (mjs_def.sh) and Windows (mjs_def.bat). For more information, see mjs.
With this configuration, the MATLAB Job Scheduler allows MATLAB clients from the installed releases to submit jobs to the cluster. The MATLAB Job Scheduler dynamically starts the right version of the MATLAB worker to run the job.
NOTE: Starting in R2019a the following name changes occurred:
  • MATLAB Distributed Computing Server was renamed to MATLAB Parallel Server 
  • mdce_def was renamed to mjs_def
  • mdce binary was renamed to mjs
  • mjs_def.bat file is in $MATLAB/R20XXx/toolbox/distcomp/bin for R2019a and earlier