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的目录,命令是: cd oldmatlabroot\\toolbox\\distcomp\\bin
c. 停止老版本的mdce服务并移除关联文件。命令是: mdce uninstall -clean