How do I configure MATLAB Parallel Server using a 3rd party scheduler to work within a firewall?

30 visualizaciones (últimos 30 días)
I am installing MATLAB Parallel Server and Parallel Computing Toolbox. I plan to use a 3rd party scheduler instead of MATLAB Job Scheduler. My network has a firewall, and I would like to know which ports need to be opened. 

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 1 de Oct. de 2024
Editada: MathWorks Support Team el 1 de Oct. de 2024
Note: All ports mentioned in this Answer are TCP ports.
If you plan on using the MATLAB Job Scheduler as your scheduler, please see this information instead:
How do I configure MATLAB Parallel Server using the MATLAB Job Scheduler to work within a firewall?

 

Cluster Ports

Ports needed for all releases:
During the formation of any communicating or parallel pool job the workers will attempt to connect together using ports within a default range of 0:65535 on Windows or the default ephemeral port range on Linux. If the cluster has firewall or network access restrictions between cluster nodes then this port range can be controlled using the environment variable:
MPICH_PORT_RANGE=minport:maxport
To override the default range 
  • For Microsoft® HPC Pack, set MPICH_PORT_RANGE in the job template with an addition to the Environments field. For example, to open a listening port in the range 30000 to 31000, add this code to the job template.
    MPICH_PORT_RANGE=30000:31000;
  • For other third-party schedulers, set MPICH_PORT_RANGE in the communicatingJobWrapper.sh script. For example, to open a listening port in the range 29000 to 31000, add this code to the communicatingJobWrapper.sh script.
    export MPICH_PORT_RANGE="29000:31000"
Parallel pool ports: R2023a and newer
For parallel pools, each worker will open a listening port in the default range: 27370 to 28370. During interactive parallel pools, these ports will need to be accessible from outside of the cluster. During batch pools, port access is not required from outside the cluster.
The port range is controlled by the pctconfig function or the environment variable PARALLEL_SERVER_OVERRIDE_PORT_RANGE. See the link below for more details.
Required Ports - Troubleshoot Common Problems

 

Internal cluster port access: R2022b and older
For communicating jobs and parallel pools the SMPD process opens a listening port in the range: 20000 to 30000. The exact port is based on the job ID. This port is only used for communication between workers. Access to this port is not required from outside of the cluster.

 

Client Ports

If the MATLAB client machine does not have the utilities needed to interact with the scheduler, then submission to the cluster will take place via ssh using port 22.
R2022b and older
Ports only need to be opened for interactive parallel pool jobs. By default, the port range needed is 27370 to 27470.
This port range can be controlled using the function pctconfig  in MATLAB on the client machine. 
The client machine will be expecting inbound communications on this port range from the cluster workers. The cluster workers will use ephemeral ports to make their outbound connection.

 

Network License Manager Ports

The Network License Manager will need 2 ports opened. These can be changed and the license file on the Network License Manager should be used to tell which port numbers are being used. By default, port 27000 and an additional random port are used on both the client and server. Additionally, workers will need to be able to connect to these listening ports to successfully request licenses. These ports can be configured please see this information:
What ports does the Network License Manager use, and how can I set those ports?

 

MathWorks Hosted Licensing

The following needs to be opened to use MATLAB Parallel Server's Online Licensing. Domains are provided rather than IP addresses because the IP addresses they resolve to are dynamic:

 

TCP ports:
  • 80
  • 443
Domains:
  • licensing.mathworks.com
  • login.mathworks.com
  • services.mathworks.com
 

Client/Cluster Certificates

If you are using Microsoft® HPC Pack, then the client connects to the cluster via TLS/SSL. Please ensure that the TLS/SSL certificate used is valid and up to date. Otherwise, a connection error may occur.
Note: Starting in R2019a the following name change occurred MATLAB Distributed Computing Server was renamed to MATLAB Parallel Server.
  1 comentario
Wesley
Wesley el 15 de Mayo de 2023
No one has said anything here, but in the After-R2023a release there's a note about making high value cluster node ports available to clients. That's not a thing. Why is that even listed? In a typical high performance compute environment those nodes aren't even connected to an accessible network. Please provide a way to proxy connections between a client connection to login nodes to compute nodes.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by