MATLAB分布式并行计算服务器配置和使用方法

更新时间:2023-09-19 03:49:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Windows下MATLAB分布式并行计算服务器配置和使用方

1 MATLAB分布式并行计算服务器介绍

MATLAB Distributed Computing Server可以使并行计算工具箱应用程序得到扩

展,从而可以使用运行在任意数量计算机上的任意数量的worker。MATLAB Distributed Computing Server还支持交互式和批处理工作流。此外,使用 Parallel Computing Toolbox 函数的 MATLAB 应用程序还可利用 MATLAB Compiler(MATLAB 编译器)编入独立的可执行程序和共享软件组件,以进行免费特许分发。这些可执行应用程序和共享库可以连接至 MATLAB Distributed Computing Server的worker,并在计算机集群上执行MATLAB同时计算,加快大型作业执行速度,节省运行时间。

MATLAB Distributed Computing Server 支持多个调度程序:MathWorks作业管理器(随产品提供)或任何其他第三方调度程序,例如 Platform LSF、Microsoft Windows Compute Cluster Server(CCS)、Altair PBS Pro,以及TORQUE。 使用工具箱中的 Configurations Manager(配置管理器),可以维护指定的设置,例如调度程序类型、路径设置,以及集群使用政策。通常,仅需更改配置名称即可在集群间或调度程序间切换。

MATLAB Distributed Computing Server 会在应用程序运行时在基于用户配置文件的集群上动态启用所需的许可证。这样,管理员便只需在集群上管理一个服务器许可证,而无需针对每位集群用户在集群上管理单独的工具箱和模块集许可证。

作业(Job)是在MATLAB中大量的操作运算。一个作业可以分解不同的部分称为任务(Task),客户可以决定如何更好的划分任务,各任务可以相同也可以不同。MALAB中定义并建立作业及其任务的会话(Session)被称为客户端会话,通常这是在你用来编写程序那台机器上进行的。客户端用并行计算工具箱来定义和建立作业及其任务,MDCE通过计算各个任务来执行作业并负责把结果返

回客户端。作业管理器(Job Manager)是MDCE的一个组成部分,用来协调各个作业及其任务在各个woker上的执行。如图所示,MATLAB客户端(Client)与调度或作业管理器(Sheudler/Jobmanager)和计算节点(Worker)之间的关系。

2 MATLAB分布式并行计算服务器配置方法

要求参与并行运算的机器matlab版本相同,操作系统可以不同(待考证)。

2.1 配置主机

2.1.1 Windows防火墙设置

a. 以管理员权限登陆计算机

b. 将matlab添加到防火墙,在DOS命令窗口下执行以下命令

matlabroot\\toolbox\\distcomp\\bin\\addMatlabToWindowsFirewall.bat 其中matlabroot是指matlab安装位置,比如在我的计算机里是C:\\Program Files\\MATLAB\\R2013a。

若这样添加两台机器依然无法ping通,请将防火墙关闭,关闭方法见附录。

2.1.2 配置多用户电脑

若某机器是多用户的,则需要进行如下配置。目前测试成功的机器不需要这一步,所以这一步暂时可以忽略。 a. 编辑配置文档mdce_def.bat

matlabroot\\toolbox\\distcomp\\bin\\mdce_def.bat

b. 找到MDCEUSER参数,按照domain\%username的形式进行配置 set MDCEUSER=mydomain\\myusername

mydomain可以是电脑ip地址,myusername是电脑的用户名。 c. 找到并配置MDCEPASS set MDCEPASS=password password是电脑的登陆密码。 d. 保存文档。

2.2 关闭老版本matlab的mdce服务器配置

a. 以必要的权限打开DOS命令窗口。

Win7下开启方法是以管理员身份运行cmd.exe程序。开始->搜索cmd->以管理员的身份运行。

b. 在DOS窗口下打开老版本matlab的目录,命令是: cdoldmatlabroot\\toolbox\\distcomp\\bin

c. 停止老版本的mdce服务并移除关联文件。命令是: mdce uninstall -clean

d. 在所有的worker节点上重复以上步奏。

2.3 安装mdce等服务,配置节点,开启MJS、worker

2.3.1 安装和开启mdce服务

a. 以管理员身份运行cmd.exe。

b. 如果matlab没有安装在C盘,则需要指定matlab安装盘。如安装在D盘,则输入“D:”

c. 输入mdce服务命令文件所在目录,格式是: “cd matlabroot\\toolbox\\distcomp\\bin ”。

d. 输入mdce install 安装mdce服务。 e. 输入mdce start 开启mdce服务。

f. 开启RPC服务。开始->搜索->服务->以管理员身份运行。将下图红色圈内的两项服务开启并设为自动开启。根据目前测试,该步骤可忽略。

2.3.2 配置节点

a. 找到matlab目录atlabroot\\toolbox\\distcomp\\bin,运行admincenter.bat文件。

b. 点击Add or Find。

Add or Find Hosts对话窗口被打开

c. 选择Enter Hostname or IP Addresses,并输入参与并行计算的机器的IP地址或主机名称。

d. 点击OK打开Start mdce service对话窗口。一直点击next直到出现start the services,点击以开启服务。

若Status栏是红色,则查看任务管理器->服务里mdced服务是否是开启状态。若服务没有开启则需要手动开启服务。开始->搜索->服务->以管理员身份运行,找到对应的服务并开启。

e. 点击Test connectivity 并查看测试结果。

红色圈处显示Passed表示连接测试通过。

2.4 开启MJS

a. 在MJS(Matlab Job Scheduler)模块单击Start。

b. 点击OK以继续。

2.5 开启Workers

a. 在Workers模块点击Start。

b. 在弹出的Start Workers对话框内Workers栏输入每台机器开启的Workers数。该数目与计算机核数一直效率最高。

c. 选择要运行Workers的主机。

d. 点击OK以继续。此后会初始化Workers,此过程需要几分钟时间。

3 MDCE server 的使用 3.1 找到clusters

a. 点击matlab工具栏Parallel右下角的三角符号,并选择Discover Clusters.

b. 勾选On your network 并按next。

c. 选择之前建立的Cluster并按next。

d. 如红线所示显示成功后勾选“Set new cluster profile as default”将其作为默认设置,点击finish。

3.2 管理并检测Cluster配置文件

a. 点击matlab工具栏Parallel右下角的三角符号,并选择Manage Cluster Profiles。

b. 在Cluster Profile栏选择上一步中设为默认的Profile(红线处),在Properties栏可以编辑一些属性,不编辑则使用默认属性。

在Validation Results栏可以进行有效性检测。点击右下角Validate进行检测,若通过则如下图所示。

3.3 Monitor Jobs

a. 点击matlab工具栏Parallel右下角的三角符号,并选择Monitor Jobs。

b. 在新出现的Job Monitor窗口中选择默认的profile。

之后就可以通过此窗口观察Job的状态。

3.4 进行并行计算

a. 开启并行。在matlab命令窗口输入matlabpool open,开启所有的works。此时Job Monitor窗口会显示工作状态。

b. 运行并行程序。

c. 关闭并行。在matlab命令窗口输入matlabpool close。

4 测试结果 4.1 仿真程序

图4-1示例1图4-2示例2

本文来源:https://www.bwwdw.com/article/uu8h.html

Top