安装用于将 Polyspace 分析从桌面端提交到远程服务器端的产品
您可以在桌面端执行本地 Polyspace® 分析,或将分析负载转移到一个或多个专用远程服务器端。本主题介绍如何设置从桌面客户端将 Polyspace 分析指派给远程服务器端。配置完成后,您可以将 Polyspace 分析发送到远程服务器并在桌面端查看下载的结果。
在本地分析与远程分析之间进行选择
要确定何时使用本地分析或远程分析,请使用下表中列出的规则。
类型 | 何时使用 |
---|---|
远程 | 源文件较大,且分析执行时间较长。通常情况下,Code Prover 分析花费的时间要比 Bug Finder 分析长得多,在专用服务器端运行比较合适。 |
本地 | 源文件较小,分析执行时间较短。 |
远程分析的要求
运行远程分析的典型分布式网络由以下部分组成:
客户端节点:在客户端节点上,配置 Polyspace 工程或脚本,然后提交运行 Polyspace 的作业。
主节点:主节点将提交的作业分布到工作进程节点。
工作进程节点:Polyspace 分析在工作进程节点上运行。
在此工作流中,您将安装 MATLAB® Parallel Server™ 产品,用以管理来自多个客户端的提交。针对每次提交都会创建一个分析作业,并且会将作业置于队列中。一旦有工作进程节点可用,就会立即在该工作进程节点上运行队列中的下一个分析作业。
下表列出了远程分析的产品要求。
位置 | 要求 | 安装 |
---|---|---|
客户端节点 | Polyspace Bug Finder™ 要在服务器端触发 Bug Finder 或 Code Prover 分析并审查下载的分析结果,有 Polyspace Bug Finder 许可证就足够了。 | 在客户端桌面上运行 MathWorks 安装程序。为 Polyspace 桌面端产品选择一个许可证。 有关详细说明,请参阅安装和许可。 |
主节点 | MATLAB Parallel Server(之前称为 MATLAB Distributed Computing Server) | 在一个或多个服务器端运行 MathWorks 安装程序。为 MATLABParallel Server 安装选择一个许可证。 有关详细说明,请参阅使用网络许可证管理器安装 MATLAB 作业调度器 (MATLAB Parallel Server)。 |
工作进程节点 |
| 要安装:
|
在最简单的远程分析配置中,同一台计算机可以同时用作主节点和工作进程节点。
选择工作进程节点的数量
选择要分配的工作进程节点的数量时,请考虑以下事项:
Polyspace 不会将单个分析分布到多个工作进程,而只会在一个工作进程节点上执行一个完整的分析。如果您使用多个工作进程,不要期望单个分析会加速(除非您是在 Code Prover 中运行逐文件验证)。
只有当主节点同时处理多个分析作业时,您才能从多个工作进程中受益。如果多个客户端同时在短时间内提交分析作业,则可能出现这种情况。
每个工作进程节点都必须有可用于执行 Polyspace 分析的许可证。否则,工作进程节点可能要等待许可证释放,而您可能无法从多个工作进程中受益。
请确保您分配的工作进程数量不会超过可用许可证的数量。
使用 MATLAB Parallel Server 分发 Polyspace 作业不同于 MATLAB Parallel Server 的其他使用场合,这些场合支持在多个工作进程上并行执行单个作业。
配置和启动服务器
在充当服务器的工作进程节点计算机上,将 MATLAB Parallel Server 和 Polyspace 服务器端产品安装在两个不同的文件夹中。MATLAB Parallel Server 安装必须知道 Polyspace 服务器端产品的位置,以便对 Polyspace 分析进行路由。要将两个安装链接起来,请在您的 MATLAB Parallel Server 安装中指定 Polyspace 服务器端产品的根文件夹路径。
然后,在充当主节点和工作进程节点的所有计算机上配置并启动 MATLAB Parallel Server(mjs
服务)。
配置 mjs
服务设置
启动服务前,必须配置 mjs
服务设置。
导航到
,其中,matlabroot
\toolbox\parallel\bin
是 MATLAB Parallel Server 的安装文件夹,例如matlabroot
C:\Program Files\MATLAB\R2024b
。修改
mjs_def.bat
文件 (Windows®) 或mjs_def.sh
文件 (Linux®)。要编辑并保存该文件,必须在管理员模式下打开编辑器。阅读文件中的说明并根据需要取消注释某些行。您可能至少要取消注释下面这些行:
主机名:
(在 Windows 中)或REM set HOSTNAME=%strHostname%.%strDomain%
(在 Linux 中)。请手动指定您的计算机主机名。#HOSTNAME=`hostname -f`
安全级别:
(在 Windows 中)或REM set SECURITY_LEVEL=
(在 Linux 中)。请手动指定一个安全级别。#SECURITY_LEVEL=""
如果您稍后执行此步骤,请确保先使用以下命令停止
mjs
服务:然后进行更改,稍后使用以下命令重新启动这些服务:mjs stop -clean
mjs restart -clean
否则,稍后在启动作业调度器时可能会出现错误。
指定 Polyspace 安装路径
如果您使用 Polyspace 桌面端产品安装来转移分析负载,服务器必须使用同一版本的 Polyspace 服务器端产品安装来运行分析。例如,如果您从 R2024b 桌面端产品转移分析负载,则必须使用 R2024b 服务器端产品运行分析。要确保使用正确的 Polyspace 服务器端产品,您必须在 MATLAB Parallel Server 安装中指定 Polyspace 服务器端产品的安装路径。
要指定 Polyspace 安装路径,请执行以下操作:
导航到
。其中,matlabroot
\toolbox\parallel\bin\
是 MATLAB 的安装文件夹,例如matlabroot
C:\Program Files\MATLAB\R2024b
。取消注释并修改
mjs_polyspace.conf
文件中的以下行。要编辑并保存该文件,必须在管理员模式下打开编辑器。POLYSPACE_SERVER_ROOT=polyspaceserverroot
其中,
是服务器端产品的安装路径,例如:polyspaceserverroot
C:\Program Files\Polyspace Server\R2024b
如果您使用多个版本的 Polyspace 桌面端和服务器端产品,则 MATLAB Parallel Server 版本必须是较高的版本。例如,如果您使用 R2019a 和 R2019b Polyspace 桌面端和服务器端产品转移分析作业负载,则对应的 MATLAB Parallel Server 安装必须是 R2019b 版本。另请参阅从多个版本的 Polyspace 提交分析作业。
启动 mjs
服务并指定为主节点或工作进程节点
要配置具有多个工作进程的服务器端,请在充当主节点的计算机上和充当工作进程节点的所有计算机上启动运行作业调度器的服务(mjs
服务)。在最简单的配置中,同一台计算机可以同时充当主节点和工作进程节点。
要设置具有一个主节点和多个工作进程节点的集群,请在充当主节点的计算机上执行以下操作:
打开 Admin Center 窗口。导航到
并执行matlabroot
\toolbox\parallel\bin\admincenter.bat
文件 (Windows) 或admincenter.sh
文件 (Linux)。其中,
是 MATLAB 的安装文件夹,例如matlabroot
C:\Program Files\MATLAB\R2024b
。在 Hosts 部分中,添加要用作集群的主节点和工作进程节点的所有计算机的主机名。启动
mjs
服务。此服务使用在
mjs_def.bat
文件 (Windows) 或mjs_def.sh
文件 (Linux) 中指定的设置。右键点击每台主机。选择 Start MJS(主节点)或 Start Workers(工作进程节点)。
主机位于 MATLAB Job Scheduler 或 Workers 部分中。在每个部分中,选择主机并点击 Start 以启动 MATLAB 作业调度器或工作进程。
选择一台计算机作为主机,将在该计算机上启动 mjs
服务。您必须具有在网络中的其他计算机上启动服务的权限。例如,在 Windows 上,您必须在要启动 mjs
服务的其他计算机的管理员组中。否则,您必须在充当工作进程节点的每台计算机上分别启动 mjs
服务。
有关更多详细信息和命令行工作流,请参阅:
使用网络许可证管理器安装 MATLAB 作业调度器 (MATLAB Parallel Server)
用于启动服务的
mjs
(MATLAB Parallel Server) 命令,以及用于检查节点状态(例如,检查节点是否可以处理来自多个版本的提交)的nodestatus
(MATLAB Parallel Server) 命令。
有关用于启动 mjs
服务的命令行工作流示例,请参阅将 Bug Finder 分析从桌面端发送到本地托管的服务器端。
配置客户端
配置客户端节点,使其能够与用作 MATLAB Parallel Server 集群主节点的计算机进行通信。要调度作业,您可以使用随 MATLAB Parallel Server 提供的作业调度器(MATLAB 作业调度器)。如果已在使用第三方调度器(例如 HPC Server 或 PBS Professional),则可以继续使用该调度器。
使用 MATLAB 作业调度器
在 Polyspace 桌面端产品的用户界面中配置客户端节点:
选择工具 > 预设项。
点击服务器配置选项卡。在 MATLAB Parallel Server 集群配置下:
在作业调度器主机名字段中,指定充当集群主节点的计算机。此计算机托管着 MATLAB 作业调度器。
如果托管 MATLAB 作业调度器的计算机上使用的端口不是 27350,请使用注释
手动输入端口名称。hostName
:portNumber
在并行计算用户名字段中,定义作业提交的默认用户名。如果您使用 MATLAB Parallel Server 为作业提交指定 1 或更高的安全级别,则该用户名很有用。
由于网络设置,作业调度器可能无法连接回您的本地计算机。如果是这样,请在 Localhost IP 地址字段中输入客户端计算机的 IP 地址。
创建用于作业调度的集群配置文件
使用集群配置文件,您可以定义集群的某些属性,例如每个工作进程节点的线程数、超时、回调等。有关集群配置文件的详细信息,请参阅发现集群并使用集群配置文件 (Parallel Computing Toolbox)。
例如,您可以使用 HPC Server 或 PBS Professional 等第三方调度器,而不是使用随 MATLAB Parallel Server 提供的作业调度器。您可以创建集群配置文件来使用第三方调度器。您还可以创建使用 MATLAB 作业调度器但具有非默认属性的集群配置文件。例如,如果您使用 -certificate
标志以证书启动作业管理器,则可以创建使用此作业管理器的集群配置文件。
要创建并使用集群配置文件,请执行以下操作:
在 Polyspace 用户界面中,选择工具 > 预设项。
在 Polyspace 预设项窗口中,点击集群配置文件管理器旁边的设置按钮。
在“集群配置文件管理器”窗口中,点击添加集群配置文件。选择一个第三方调度器。您会看到使用此调度器的一个默认集群配置文件。
指定集群配置文件的属性。
点击编辑。根据需要修改默认属性。
点击验证。至少要完成集群连接测试和作业测试。
在 Polyspace 预设项窗口中,对于作业调度器主机名,指定您刚才创建的集群配置文件名称(例如,以上示例中的
HPCServerProfile1
)。
将 Polyspace 分析负载从桌面端转移到服务器端
配置完成后,您可以将分析负载从所安装的 Polyspace 桌面端产品转移到远程服务器端。可以执行以下操作之一:
从 Polyspace 桌面端产品的用户界面启动远程分析。
使用 Windows 或 Linux 脚本启动远程分析。
请参阅Send Polyspace Analysis from Desktop to Remote Servers Using Scripts。在最简单的配置中,同一台计算机可以同时充当客户端和服务器端。有关使用此配置并完成转移 Polyspace 分析负载的所有步骤的简单教程,请参阅将 Bug Finder 分析从桌面端发送到本地托管的服务器端。
使用 MATLAB 脚本启动远程分析。
请参阅在服务器端运行分析。
从多个版本的 Polyspace 提交分析作业
如果您升级到较新版本的 Polyspace 产品,则可以继续从较旧版本和新版本提交作业。例如,假设您之前使用 R2019a 版本的 Polyspace 产品和 MATLAB Parallel Server。当您升级到这两套产品的 R2019b 版本后,您可以继续从较旧版本提交作业。
用于处理 Polyspace 的多个版本(例如 R2019a 和 R2019b)的设置如下所示:
要通过单个 MATLAB Parallel Server 集群支持来自多个版本的提交,您必须将所安装的各种 Polyspace 产品和 MATLAB Parallel Server 链接起来。在上图显示的链接中,编号为 1、2 和 5 的链接是常规服务器-客户端安装的一部分,这类安装使用的所有产品均为同一版本。要创建所有链接,请执行以下步骤:
在所安装的 R2019b 版 Polyspace 桌面端产品中,打开用户界面并选择工具 > 预设项。如前所述,指定充当 R2019b 版 MATLAB Parallel Server 集群的主节点的计算机。
如果您能够从 R2019b 版的 Polyspace 桌面端产品提交作业,则表明您已完成了此步骤。
如前所述,在所安装的 R2019b 版 MATLAB Parallel Server 产品中,编辑
mjs_polyspace.conf
文件以指向所安装的 R2019b 版 Polyspace Server 产品。如果您安装的 R2019b 版 MATLAB Parallel Server 可以使用 R2019b 版 Polyspace Server 产品运行分析,则表明您已完成了此步骤。
在所安装的 R2019a 版 Polyspace 桌面端产品中,打开用户界面并选择工具 > 预设项。指定充当 R2019b 版 MATLAB Parallel Server 集群的主节点的计算机。
如果您在 R2019a 版本所在的同一台计算机上安装 R2019b 版本的 MATLAB Parallel Server,则已完成了此步骤。否则,此步骤在多版本工作流中可能为新增步骤。
在所安装的 R2019b 版 MATLAB Parallel Server 产品中,编辑
mjs_def.bat
或mjs_def.sh
文件(位于
中)来引用较早的版本。找到包含matlabroot
\toolbox\parallel\bin\MJS_ADDITIONAL_MATLABROOTS
的行,并按如下方式对其进行编辑。要编辑并保存该文件,必须在管理员模式下打开编辑器。set MJS_ADDITIONAL_MATLABROOTS=othermatlabroot
其中,
是所安装的较早版本的 MATLAB Parallel Server 的安装路径,例如:othermatlabroot
C:\Program Files\MATLAB\R2019a
此步骤在多版本工作流中为新增步骤。
如前所述,在所安装的 R2019a 版 MATLAB Parallel Server 产品中,编辑
mjs_polyspace.conf
文件以指向所安装的 R2019a 版 Polyspace Server 产品。如果您安装的 R2019a 版 MATLAB Parallel Server 可以使用 R2019a 版 Polyspace Server 产品运行分析,则表明您已完成了此步骤。
注意
使用此工作流可以与当前版本混合使用的最低 MATLAB Parallel Server 版本是 R2016a。
对于从 R2016a 到 R2018b 的版本,服务器端配置不同于 R2019a 及更高版本的配置。请查阅适用于较旧版本的文档来了解上述步骤 5。不过,如果您已在使用 R2019a 版之前的 MATLAB Parallel Server 安装从 R2019a 版之前的 Polyspace 安装提交作业,则您大概已完成了此步骤。