当前位置:文档之家› MATLAB分布式并行计算服务器配置和使用方法

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

Windows下MATLAB分布式并行计算服务器配置和使用方法1MATLAB分布式并行计算服务器介绍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)之间的关系。

2MATLAB分布式并行计算服务器配置方法要求参与并行运算的机器matlab版本相同,操作系统可以不同(待考证)。

2.1配置主机2.1.1Windows防火墙设置a.以管理员权限登陆计算机b.将matlab添加到防火墙,在DOS命令窗口下执行以下命令matlabroot\toolbox\distcomp\bin\addMatlabToWindowsFirewall.bat其中matlabroot是指matlab安装位置,比如在我的计算机里是C:\Program Files\MATLAB\R2013a。

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

2.1.2配置多用户电脑若某机器是多用户的,则需要进行如下配置。

目前测试成功的机器不需要这一步,所以这一步暂时可以忽略。

a.编辑配置文档mdce_def.batmatlabroot\toolbox\distcomp\bin\mdce_def.batb.找到MDCEUSER参数,按照domain\username的形式进行配置set MDCEUSER=mydomain\myusernamemydomain可以是电脑ip地址,myusername是电脑的用户名。

c.找到并配置MDCEPASSset MDCEPASS=passwordpassword是电脑的登陆密码。

d.保存文档。

2.2关闭老版本matlab的mdce服务器配置a.以必要的权限打开DOS命令窗口。

Win7下开启方法是以管理员身份运行cmd.exe程序。

开始->搜索cmd->以管理员的身份运行。

b.在DOS窗口下打开老版本matlab的目录,命令是:cd oldmatlabroot\toolbox\distcomp\binc.停止老版本的mdce服务并移除关联文件。

命令是:mdce uninstall -cleand.在所有的worker节点上重复以上步奏。

2.3安装mdce等服务,配置节点,开启MJS、worker2.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直到出现startthe services,点击以开启服务。

若Status栏是红色,则查看任务管理器->服务里mdced服务是否是开启状态。

若服务没有开启则需要手动开启服务。

开始->搜索->服务->以管理员身份运行,找到对应的服务并开启。

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

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

2.4开启MJSa.在MJS(Matlab Job Scheduler)模块单击Start。

b.点击OK以继续。

2.5开启Workersa.在Workers模块点击Start。

b.在弹出的Start Workers对话框Workers栏输入每台机器开启的Workers数。

该数目与计算机核数一直效率最高。

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

d.点击OK以继续。

此后会初始化Workers,此过程需要几分钟时间。

3MDCE server 的使用3.1找到clustersa.点击matlab工具栏Parallel右下角的三角符号,并选择DiscoverClusters.b.勾选On your network 并按next。

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

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

3.2管理并检测Cluster配置文件a.点击matlab工具栏Parallel右下角的三角符号,并选择ManageCluster Profiles。

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

在Validation Results栏可以进行有效性检测。

点击右下角Validate进行检测,若通过则如下图所示。

3.3Monitor Jobsa.点击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 示例24.2仿真参数两台机器,每台机器开2个Workers,共4个Workers。

4.3仿真结果表格4-1 示例1仿真结果仿真结果runtimes 无并行仿真时间(S)有并行仿真时间(S)加速比1E80.48 0.48 1.00 1E9 4.49 3.68 1.22 1E1090.89 36.05 2.52表格4-2 示例2仿真结果5附录5.1关闭防火墙的方法进入控制面板,点击“查看网络状态和任务”。

点击左下角的“windows防火墙”。

选择“打开或关闭windows防火墙”。

.将防火墙关闭。

.。

相关主题