Matlab分布式计算工具箱使用指南
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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_jobma nager');
四、分布式计算工具箱示例
在运行示例之前,必须先安装 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(j)
destroy(j)
2、使用分布式计算工具箱来计算Pi的值
jm=findResource('scheduler','type','jobmanager','name','ccy');
j = createJob(jm);
fun=inline('4./(1+x.^2)','x');
worker_number=20;
for i=1:worker_number
createTask(j,@quad,1,{fun,(i-1)/worker_number,i/worker_number });
end
submit(j);
waitForState(j);
results = getAllOutputArguments(j);
val_pi=0;
for i=1:worker_number
val_pi=val_pi+results{i};
end
destroy(j);
str=sprintf('PI=%e,Error=%e',val_pi,val_pi-pi);
disp(str);
val_pi