MATLAB Distributed Computing Server

MATLAB Distributed Computing Server (MDCS) virtually expands the computing resources (number of CPU, storage capacity, disc space) available to MATLAB by providing access to workers (MATLAB computational engines) that run on the computer cluster.

Two unique features of MATLAB Distributed Computing Server are:

  • access to MATLAB worker processes on the cluster from within the MATLAB desktop;
  • built-in communication infrastructure between workers: built-in support for distributed arrays and message passing.

RTU license

  • License is perpetual, updates are paid for until 01.01.2018.
  • 128 simultaneous MATLAB workers on the cluster.
  • Available to RTU students and employees for academic purposes.
  • Third-party use allows any researcher from the Baltic States to use MATLAB on RTU cluster for academic purposes without purchasing additional software license (i.e., to use the RTU license legally).

User access

  • MDCS is installed on the RTU HPC cluster, and it is available to registered HPC users. Register for using the RTU HPC cluster.
  • Cluster provides two types of MDCS interaction:
    • from MATLAB interface on user’s personal computer, see here;
    • from MATLAB interface, which is installed on cluster server and available upon logging in with ssh -X, see here.
  • MDCS uses Parallel Computing Toolbox syntax, only the location of MATLAB workers changes. Parallel Computing Toolbox contains all tools necessary for creating tasks and observing and receiving the results.

Best Practice for Developing Workflows

  1. Develop your workflow (serial or parallel) on a desktop computer with MATLAB and Parallel Computing Toolbox.
  2. Test your workflow with batch and local scheduler on your desktop computer.
    • Create the workflow as a batch that runs in background without user assistance.
    • Do not forget about the differences between a desktop computer and cluster file system.
  3. Submit your tested batch workflow to cluster resources.
    • Users are encouraged to use only as many workers as are necessary.
    • Benchmark workflows with different numbers of workers to determine the appropriate number of workers.