有人能指出我运行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作为“批处理”作业启动,那会改变吗?
答案 0 :(得分:1)
这很正常。 ps aux
报告自进程启动以来的平均CPU利用率,而不是滚动窗口。这意味着,虽然工作人员相对较快地初始化然后变为空闲,但这需要更长的时间来反映CPU%。例如,这与Linux top
命令不同,后者将反映自%CPU中上次屏幕更新以来的利用率。
至于典型的开销,这取决于许多因素:显然工作人员的数量,提交的工作的速率和数据大小(以及维护工作进程,编组输入和输出有一些开销,这不是“有用的计算”的一部分,无论Matlab池是本地的还是附加到作业管理器,以及Matlab版本和O / S.
根据经验,作为现代* nix服务器上的粗略指南,我认为闲置工作者不应该消耗超过单个核心的20%(例如,<~1%)除非存在配置问题,否则启动后16核盒上的总CPU利用率。我不应期望这会受到您提交的工作类型的影响(例如,使用“createJob”或“batch”或“parfor”):下面的工人和沟通机制基本相同。