主要内容

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

配置 MATLAB 作业调度器集成的高级选项

按照以下说明为 MATLAB® 作业调度器集群配置高级选项。

在以下说明中,matlabroot 指的是您安装的 MATLAB Parallel Server™ 软件的位置。如果在随后的说明中看到此术语的使用,请将其替换为您位置的路径。

设置 Windows 集群主机

如果这是在 Windows® 计算机集群上首次安装 MATLAB Parallel Server,则需要为这些主机配置作业通信。

注意

如果您没有 Windows 集群,或者已经在 Windows 集群上安装了以前的版本 MATLAB Parallel Server,则可以跳过此步骤。

在集群节点上配置 Windows 防火墙

如果您在集群节点上使用 Windows 防火墙,

  1. 以具有管理员特权的用户身份登录。

  2. 在 Windows 命令提示符中执行以下操作。

    matlabroot\toolbox\parallel\bin\addMatlabToWindowsFirewall.bat
    

    此命令将 MATLAB 添加为允许的程序。如果您正在使用其他防火墙,则必须对其进行类似的配置。

在服务器上打开所需端口

mjs 服务使用所需的端口数量,从 mjs_def 文件中 BASE_PORT 参数定义的值开始。默认情况下,BASE_PORT 为 27350。

如果您使用的主机总共运行了 nJ 作业管理器和 nW 工作单元,则 mjs 服务将保留总共 7+2*nJ+4*nW 连续端口供自己使用。所有要一起工作的作业管理器和工作单元(即使是位于不同主机上的作业管理器和作业执行器)都必须使用相同的基本端口。否则,作业管理器和工作单元将无法相互联系。此外,MPI 通信发生在从 BASE_PORT+1000 开始的端口上,并使用 2*nW 连续端口。

例如,如果您使用具有 1 个作业管理器和 16 个工作单元的主机,那么您需要打开以下范围的端口:

  • 27350 – 27422 用于 mjs 服务。

  • 28350 – 28382 用于 MPI 通信。

您可以在 mjs_def 文件中更改 BASE_PORT 参数的默认值。您必须在集群中的所有主机上的 mjs_def 文件中为 BASE_PORT 参数使用相同的值。要更改 BASE_PORT 参数的值,请在安装 mjs 服务并启动 MATLAB 作业调度器之前,编辑集群主机上的 mjs_def 文件。您可以在以下位置找到 mjs_def 文件:

  • Windows 操作系统上的 matlabroot\toolbox\parallel\bin\mjs_def.bat

  • Linux® 操作系统上的 matlabroot/toolbox/parallel/bin/mjs_def.sh

要了解有关 mjs_def 文件中参数的更多信息,请参阅定义 MATLAB 作业调度器启动参数

要从 MATLAB 连接到具有非默认 BASE_PORT 值的集群,必须将 BASE_PORT 的值附加到 MATLAB 作业调度器集群配置文件中的 Host 属性。您必须以 Hostname:BASE_PORT 形式执行此操作,例如 myMJSHost:44001

增加堆内存

MATLAB Parallel Server 支持最多具有 10,000 个工作单元的 MATLAB 作业调度器集群。当您扩大集群中工作单元或任务的数量时,您必须增加作业管理器可用的堆内存。

为此,您必须在安装 mjs 服务并启动 MATLAB 作业调度器之前,编辑集群节点上的 mjs_def 文件。您可以在以下位置找到此文件:

  • Windows 操作系统上的 matlabroot\toolbox\parallel\bin\mjs_def.bat

  • Linux 操作系统上的 matlabroot/toolbox/parallel/bin/mjs_def.sh

要了解有关 mjs_def 文件中参数的更多信息,请参阅定义 MATLAB 作业调度器启动参数

mjs_def 文件中,根据以下建议在 mjs_def 文件中设置 JOB_MANAGER_MAXIMUM_MEMORY 参数。

  • 使用最小值 1000m (1000 MiB)。

  • 每 1000 个工作单元使用 1000m

  • 预计在峰值负载下排队的每 100,000 个任务增加 1000m

例如,对于具有 10,000 个工作单元且峰值队列大小为 400,000 个任务的集群,将 JOB_MANAGER_MAXIMUM_MEMORY 设置为 14000m

更新 mjs_def 文件后,必须重新启动 mjs 服务、作业管理器和工作单元。

另请参阅

主题