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