MATLAB and Simulink Requirements

Product Requirements & Platform Availability for MATLAB Parallel Server

Supported Platforms

Windows, Linux

Product Requirements

Requires access to a client session of MATLAB and Parallel Computing Toolbox for job submission. Note that only the cluster computers need to have MATLAB Parallel Server installed.

System Requirements

Cluster Computers Running MATLAB Workers (All Schedulers)

  • Maximum of 1 MATLAB worker per physical CPU core is recommended.
  • Minimum of 4 GB RAM per MATLAB worker is recommended. If you are using Simulink, 8GB RAM per worker is recommended.
  • Approximately 32GB of disk space to accommodate a typical complete installation of MATLAB Parallel Server.
  • Complete installation of MATLAB Parallel Server will also install MATLAB, Simulink, and Toolboxes.
  • MATLAB Parallel Server can be installed on a shared network drive or in the same location on each individual machine in the cluster.
  • Minimum of 5 GB of disk space is recommended to accommodate temporary data directories.
  • Several TCP ports are required by MATLAB workers for various worker services and for inter-worker communication. See below for details.
  • For interactive parallel computations, where parpool has been called, the MATLAB session must be able to connect to MATLAB workers running on cluster computers via TCP. This is not required for running applications in batch.
  • Homogeneous cluster configurations are recommended. Parallel processing constructs that work on the infrastructure enabled by parpool—parfor, parfeval spmd, distributed arrays, and message passing functions—cannot be used on a heterogeneous cluster configuration. The underlying MPI infrastructure requires that all cluster computers have matching word sizes and processor endianness.
  • If you are using Linux and will create large parallel pools of workers, it is recommended that you adjust your operating system limits. For more information, see Recommended System Limits.

Clusters Using Third-Party Schedulers

See the list of supported schedulers. Consult your scheduler documentation for details. Most schedulers require client utilities to be installed on the computer that submits jobs to the cluster.

A shared file system between user desktops and cluster is strongly recommended. Availability of a shared file system is assumed by default for all the built-in configurations. An API is available to extend these configurations for environments with nonshared file systems.

Clusters Using MATLAB Job Scheduler (MJS) as the Scheduler

Computer running MATLAB Job Scheduler (head node)

    Minimum of 32 GB of disk space is recommended to accommodate temporary data directories and job manager’s database.

    Sufficient number of per-process file descriptors is required: a minimum of 16,384 is recommended for 64 MATLAB workers or more, and a minimum of 8,192 is recommended for fewer than 64 workers.

    Several TCP ports are required for services associated with the job manager. Consult the documentation for the requirements for TCP ports.

    For Windows clusters, a sufficient number of ephemeral TCP ports is required to support large data set transfer, particularly for clusters with 32 or more workers. You can increase the default maximum number of ephemeral TCP ports set by Windows (5,000) by editing the Windows registry. For detailed instructions, see the Troubleshooting section in the documentation.

    You will need 1000 MB of heap memory available to the job scheduler to accommodate up to the first 1000 workers or tasks. If you scale up to more than 1000 workers, you must increase the heap memory available to the job manager. See the Increase Heap Memory section in the documentation.

Network

    Presence of DNS or equivalent service that allows MATLAB workers and job manager processes to uniquely identify each other by hostname. For example, if a computer identifies itself as "computer1" then other computers must be able to resolve the name "computer1."

    The hostname for every node on the cluster must be bound to an IP address that matches an address on one of the host's network interface cards (NICs). Parallel processes will work correctly on machines with multiple NICs. See Technical Solution 1-1Z2DHH for instructions to determine if your configuration is correct.

Connecting a Desktop Computer (Client Machine) to MATLAB Parallel Server Running in the Cloud

The client machine must be able to make outgoing connections1 to:

Cluster Type

Port(s)2

Domain3

Connecting to

Cloud Center4

443

mathworks.com

MathWorks license manager

27355 to 27358 + 4*N

amazonaws.com

MATLAB Parallel Server running in AWS

Reference Architecture

27350 to 27358 + 4*N

amazonaws.com or azure.com

MATLAB Parallel Server running in AWS or Azure

443

amazonaws.com or azure.com

AWS or Azure

443

mathworks.com

MathWorks license manager (if using online-licensing)

1The client machine must be able to instantiate a socket to the cluster, which at a TCP level means that the initial SYN packet for the TCP/IP communication comes from the client. Most NAT and general firewalls allow this type of communication, but if you have more stringent rules, you may need to enable such outgoing communication.

2N is the maximum number of workers on a single node.

3For the domain, it is sufficient to have a properly configured SSL capable proxy server that can contact those domains.

4Access to Cloud Center clusters is restricted to specified external IP addresses. These addresses can be configured manually in Cloud Center or automatically if the “Auto-Manage Cluster Access” feature has been enabled on the cluster.  Learn more here.

Other Requirements

Introduced before R2006a

View requirements for another product: