Matlab 并行计算工具箱

 Matlab 并行计算工具箱

(一)Matlab分布式和并行编程

Distributed and Parallel Programming

11/29/2008 10:31:15 AM

Today's engineers and scientists, faced with the demand to model increasingly complex systems in less time, are pursuing distributed and parallel solutions in high-performance computing (HPC) distributed environments made out of commercial off-the-shelf (COTS) multiprocessor, multicore computers.

 

工程师和科学家们面临着用更少的时间建立复杂系统模型的需求,他们使用分布式和并行计算来解决高性能计算的问题。这些分布式的环境由多处理器和多核计算机来实现。
并行计算工具箱和Matlab分布式计算服务器允许你在Matlab中建模和开发分布式和并行应用,并在多核处理器和多核计算机中执行他们,而且并不离开你的及时开发环境。用这种方法来执行模型,你可以解决更大的问题,覆盖更多的仿真情景并减少桌面资源。
开发分布式应用
分布式应用或者并行应用,包含独立的任务,它可以独立的执行,而并不需要任务间的通信。对于分布式应用来说,你可以使用分布式计算工具箱中的函数来为你的应用定制独立的计算任务,它可以被收集到分布式的任务中并集群的提交执行。
开发并行应用
并行应用包含相互依存的任务,它在应用执行的过程中交换数据。工具箱和引擎包含基于MPI标准的函数,它支持Matlab开发并行应用中的通信。然而,使用这些基于MPI功能的函数包含跟踪消息传递的详细信息,像在处理器和控制处理器间的通信。
并行计算工具箱用两种重要的方式简化了并行应用的开发。首先,工具箱支持分布式矩阵,它在对待分布式处理器的数据时,把它作为一个单独的矩阵,而不是作为在不同处理器上的独立的矩阵。通过分布式矩阵,研究人员可以直接的在矩阵中展示操作,而并不需要处理复杂的信息传递。工具箱为分布式矩阵提供了超过150个的Matlab函数,包括基于ScaLAPACK的线性算数。第二,工具箱包含新的交换的并行执行模型。从而,研究人员可以在许多个处理器和内核中,并行同时的工作。这个模式可用于交互的开发、设计开发和解决问题。
支持调度程序
对于任务调度工作,你可以或者使用MathWorks的工具经理,这个调度程序。它配置在引擎中或者第三方的调度程序。这个工具箱和引擎支持所有的第三方的调度程序,像LSF平台,Microsoft Windows Compute Cluster Server, PBS, 和 Sun Grid Engine。或者直接的,或者通过基因调度接口来实现。这些资源包括安装脚本,在线技术解决和供应商提供的一体化脚本。这些都可以帮助你结合工具箱和引擎到你已经存在的计算环境中。 http://www.matlab-download.cn/Article/D-P.html

(二)Matlab分布式计算工具箱使用指南(转载)

使用Matlab进行分布式计算需要两个产品:
1、分布式计算工具箱(Distributed Computing Toolbox)
2、Matlab分布计算引擎MDCE(Matlab Distributed Computer Engine)

MDCE主要用于执行Clinet Session中定义的job和task


一、安装MDCE
MDCE安装在D:/Program Files/MATLAB/R2008a/toolbox/distcomp/bin目录下:
在Matlab的command windows中执行
复制内容到剪贴板
代码:
mdce install %安装引擎
mdce start %启动引擎
执行上面两条命令后,分布式计算引擎服务程序就安装完毕了。MDCE就是一个服务进程,在使用MDCE 之前需要首先启动它。

二、启动一个Job Manager
复制内容到剪贴板
代码:
startjobmanager -name matlabsky -v  %启动一个名为matlabsky的作业管理进程
jm = findResource('scheduler','type','jobmanager', 'Name', 'matlabsky'); %找出PC上有效的分布计算资源
三、启动Worker
复制内容到剪贴板
代码:
startworker    -name worker1
out = findResource('worker')
waitForState(job, 'finished',1000)
jm=findResource('scheduler','type','jobmanager','name','default_jobmanager');
四、分布式计算工具箱示例
在运行示例之前,必须先安装 MDCE,然后启动一个Job  Manager 和若干个 Worker,并且在Job Manager中注册Worker。要查看MDCE进程的状态,可以用nodestatus.bat批处理文件来查看。如果在Job Manager中没有注册Worker,那么Job Manager就没有办法把任务分配给Worker计算,当调用waitForState(job, 'finished')命令时,就会发生死锁。

1、Programming a Basic Job with a Job Manager
复制内容到剪贴板
代码:
jm=findResource('scheduler','type','jobmanager','name','ccy');
j = createJob(jm);
createTask(j, @sum, 1, {[1 1]});
createTask(j, @sum, 1, {[2 2]});
createTask(j, @sum, 1, {[3 3]});
submit(j);
waitForState(j)
results = getAllOutputArguments
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值