3

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

我开始了一个 matlabpool :

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

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

pdsh -A ps aux |grep dmlworker

当我启动 matlabpool 时,它开始时平均 CPU 使用率约为 35%,而当池未使用时,它会缓慢(在 5-7 分钟内)下降到平均约 2%。

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

4

1 回答 1

1

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

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

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

于 2012-10-09T10:56:57.647 回答