什么是matlabpool的开销?

时间:2012-09-18 10:07:36

标签: matlab parallel-processing distributed-computing

有人能指出我运行matlabpool的开销是多少?

我开始了一个matlabpool:

matlabpool open 132procs 100
Starting matlabpool using the '132procs' configuration ... connected to 100 labs.

并遵循节点上的cpu使用情况:

pdsh -A ps aux |grep dmlworker

当我启动matlabpool时,它开始时平均使用〜35%的CPU使用率 没有慢慢使用它(在5-7分钟内)平均下降到约2%。

这是正常的吗?什么是典型的开销?如果matlabpooljob作为“批处理”作业启动,那会改变吗?

1 个答案:

答案 0 :(得分:1)

这很正常。 ps aux报告自进程启动以来的平均CPU利用率,而不是滚动窗口。这意味着,虽然工作人员相对较快地初始化然后变为空闲,但这需要更长的时间来反映CPU%。例如,这与Linux top命令不同,后者将反映自%CPU中上次屏幕更新以来的利用率。

至于典型的开销,这取决于许多因素:显然工作人员的数量,提交的工作的速率和数据大小(以及维护工作进程,编组输入和输出有一些开销,这不是“有用的计算”的一部分,无论Matlab池是本地的还是附加到作业管理器,以及Matlab版本和O / S.

根据经验,作为现代* nix服务器上的粗略指南,我认为闲置工作者不应该消耗超过单个核心的20%(例如,<~1%)除非存在配置问题,否则启动后16核盒上的总CPU利用率。我不应期望这会受到您提交的工作类型的影响(例如,使用“createJob”或“batch”或“parfor”):下面的工人和沟通机制基本相同。