主要内容

本页采用了机器翻译。点击此处可查看英文原文。

MATLABParallel Server 的要求和端口

本节讨论支持并行计算的网络要求和端口配置。

完全限定域名

MATLAB®Parallel Server™ 软件和 Parallel Computing Toolbox™ 软件既支持短主机名,也支持完全限定域名。默认使用短主机名。根据您的调度器类型检查以下注意事项:

调度器注意事项
MATLAB 作业调度器
  • 如果您的网络需要完全限定的主机名,则可以使用 mjs_def 文件通过全名来识别工作单元节点。请参阅定义 MATLAB 作业调度器启动参数

  • 要设置用于 MATLAB 客户端会话的主机名,请参阅 pctconfig (Parallel Computing Toolbox) 参考页。

第三方调度器
  • 要设置用于 MATLAB 客户端会话的主机名,请参阅 pctconfig (Parallel Computing Toolbox) 参考页。

安全注意事项

使用 MATLAB Parallel Server 时的安全注意事项请参阅下表:

调度器安全注意事项
MATLAB 作业调度器
  • MATLAB 工作单元以管理员启动节点 mjs 服务时所使用的用户身份运行。默认情况下,mjs 服务在 UNIX® 操作系统上以 root 的名称启动,在 Microsoft® Windows® 操作系统上则以 LocalSystem 的名称启动。由于 MATLAB 提供了系统调用,用户可以提交执行 shell 命令的作业。如果您想以提交作业的用户身份运行任务,请使用安全级别 3。有关详细信息,请参阅设置安全级别

  • 默认情况下,mjs 服务不会实施任何访问控制或身份验证。任何能够本地或远程访问 mjs 服务的人,都可以启动和停止其工作单元和作业管理器,并查询其状态。有关身份验证和访问控制选项,请参阅设置 MATLAB 作业调度器集群安全性

  • 默认情况下,作业管理器不会限制对集群以及作业和任务数据的访问。有关安全选项的信息,请参阅设置 MATLAB 作业调度器集群安全性。使用第三方调度器而不是 MathWorks® 作业管理器可以让您利用它提供的安全措施。

  • 并行计算过程必须都在防火墙的同一侧,或者必须采取措施使它们能够通过防火墙相互通信。执行同一通信作业的任务的工作单元不能被防火墙隔离,因为它们基于 MPI 的通信将无法正常工作。

  • 如果某些端口受到限制,您可以指定用于并行计算的端口。有关详细信息,请参阅所需端口

  • 如果您的组织是互联网多播主干网 (MBone) 的成员,如果您使用多播进行并行计算,请确保您的并行计算集群与 MBone 访问隔离。隔离通常是默认条件。如果您对 MBone 会员资格有任何疑问,请联系您的网络管理员。

  • 您可以使用 SOCKS5 代理,在 MATLAB 客户端与集群之间实现双向 TLS 客户端身份验证和端到端加密。有关详细信息,请参阅为 MATLAB 作业调度器配置 SOCKS5 代理 (自 R2026a 起)

第三方调度器
  • 并行计算过程必须都在防火墙的同一侧,或者必须采取措施使它们能够通过防火墙相互通信。执行同一通信作业的任务的工作单元不能被防火墙隔离,因为它们基于 MPI 的通信将无法正常工作。

  • 如果用户将在集群上安排通信作业,则参与通信作业的每个集群主机都需要不受质疑的 SSH。例如,为了启用不受质疑的 SSH,集群管理员可以为批准的集群用户设置基于主机的身份验证/基于主机的授权。

所需端口

在使用 MATLAB Parallel Server 之前,您必须配置某些所需的端口。如果您在配置期间需要更多帮助,请参阅 MathWorks Answers 上 MATLAB 支持团队提供的以下信息:MATLAB 作业调度器,或第三方调度器

对于 MATLAB 作业调度器

BASE_PORT.  mjs_def 文件指定并描述了作业管理器和所有工作单元所需的端口。有关详细信息,请参阅 定义 MATLAB 作业调度器启动参数BASE_PORT 参数的描述。

通信作业.  在运行 UNIX 操作系统的工作单元计算机上,MPICH 运行通信作业所需的端口数范围从 BASE_PORT + 1000BASE_PORT + 2000

用于 MATLAB 作业调度器的 SOCKS5 代理.  您可以使用 parallelserverproxy 工具,通过单个 SOCKS5 代理端点,将所有 Parallel Computing Toolbox 客户端流量路由到 MATLAB 作业调度器集群。这可以减少客户端与集群之间开放的端口数量,并简化防火墙规则。该代理还通过双向 TLS 对客户端进行身份验证,并对所有通信进行加密。 (自 R2026a 起)

要了解详细信息,请参阅为 MATLAB 作业调度器配置 SOCKS5 代理

使用第三方调度器

工作单元之间的通信.  在工作单元进程启动之前,您可以控制工作单元用于通信作业的端口范围。

  • 对于 Microsoft HPC Pack 集群,请将环境变量 MPICH_PORT_RANGE 的值设置为 minport:maxport

  • 对于所有其他第三方调度器,请使用 FI_TCP_PORT_LOW_RANGE 环境变量定义最小端口号,并使用 FI_TCP_PORT_HIGH_RANGE 环境变量定义最大端口号。

    在 R2024b 之前的版本中: 您可以通过将环境变量 MPICH_PORT_RANGE 定义为值 minport:maxport 来控制工作单元用于通信作业的端口范围。

打开工作单元上的端口以接收来自客户端的入站通信.  您可以控制工作单元打开的监听端口范围以连接到客户端进行交互式并行池作业。

  • 使用 pctconfig (Parallel Computing Toolbox) 函数指定工作单元必须打开哪些监听端口或

  • 使用值 PARALLEL_SERVER_OVERRIDE_PORT_RANGE 定义环境变量 "minport maxport"。这将覆盖使用 pctconfig 指定的端口范围。

    • 对于 Microsoft HPC Pack,在作业模板中将 PARALLEL_SERVER_OVERRIDE_PORT_RANGE 添加到环境字段。例如,要打开 30000 到 31000 范围内的监听端口,请将此代码添加到作业模板中。

      PARALLEL_SERVER_OVERRIDE_PORT_RANGE=30000 31000; 

    • 对于其他第三方调度器,请在 PARALLEL_SERVER_OVERRIDE_PORT_RANGE 脚本中设置 communicatingJobWrapper.sh。例如,要打开 29000 到 31000 范围内的监听端口,请将此代码添加到 communicatingJobWrapper.sh 脚本中。

      export PARALLEL_SERVER_OVERRIDE_PORT_RANGE="29000 31000"
      要了解有关 communicatingJobWrapper.sh 脚本的更多信息,请参阅包装器脚本

另请参阅

主题