当我通过 InfiniBand 运行 MPI 作业时,出现以下磨损情况。我们使用扭矩管理器。
--------------------------------------------------------------------------
WARNING: It appears that your OpenFabrics subsystem is configured to only
allow registering part of your physical memory. This can cause MPI jobs to
run with erratic performance, hang, and/or crash.
This may be caused by your OpenFabrics vendor limiting the amount of
physical memory that can be registered. You should investigate the
relevant Linux kernel module parameters that control how much physical
memory can be registered, and increase them to allow registering all
physical memory on your machine.
See this Open MPI FAQ item for more information on these Linux kernel module
parameters:
http://www.open-mpi.org/faq/?category=openfabrics#ib-locked-pages
Local host: host1
Registerable memory: 65536 MiB
Total memory: 196598 MiB
Your MPI job will continue, but may be behave poorly and/or hang.
--------------------------------------------------------------------------
我已阅读警告消息上的链接,到目前为止我所做的是;
- 在
/etc/modprobe.d/mlx4_en.conf
上附加选项 mlx4_core log_num_mtt=20 log_mtts_per_seg=4
。 - 确保以下行写入
/etc/security/limits.conf
* 软内存锁无限制
* 硬内存锁无限制
- 在
/etc/pam.d/sshd
上附加session 所需的 pam_limits.so
- 确保
/etc/init.d/pbs_mom
上的ulimit -c unlimited
未注释
谁能帮我找出我缺少的东西吗?
最佳答案
您的 mlx4_core
参数仅允许注册 2^20 * 2^4 * 4 KiB = 64 GiB
。每个节点有 192 GiB 物理内存,并且建议至少拥有两倍的可注册内存,您应该将 log_num_mtt
设置为 23,这会将限制增加到 512 GiB - 最接近的幂两个大于或等于 RAM 量的两倍。请务必重新启动节点或卸载然后重新加载内核模块。
您还应该提交一个执行ulimit -l
的简单 Torque 作业脚本,以验证锁定内存的限制并确保不存在此类限制。请注意,ulimit -c unlimited
不会取消锁定内存量的限制,而是取消核心转储文件大小的限制。
关于linux - 如何增加 Torque 作业的 OpenFabrics 内存限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755433/