Linux 如何增加转矩作业的OpenFabrics内存限制?

Linux 如何增加转矩作业的OpenFabrics内存限制?,linux,mpi,ulimit,torque,ofed,Linux,Mpi,Ulimit,Torque,Ofed,当我在InfiniBand上运行MPI作业时,我得到以下结果。我们使用扭矩管理器 -------------------------------------------------------------------------- WARNING: It appears that your OpenFabrics subsystem is configured to only allow registering part of your physical memory. This can ca

当我在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
    • *软memlock unlimited
    • *硬内存锁无限
  • /etc/pam.d/sshd
  • 确保
    /etc/init.d/pbs\u mom上未注释
    ulimit-c unlimited

  • 有人能帮我找出我遗漏了什么吗?

    您的
    mlx4_核心
    参数只允许注册
    2^20*2^4*4 KiB=64 GiB
    。由于每个节点有192 GiB的物理内存,并且建议至少有两倍的可注册内存,您应该将
    log_num_mtt
    设置为23,这会将限制增加到512 GiB,这是大于或等于两倍RAM量的最接近的二次幂。请确保重新启动节点或卸载然后重新加载内核模块


    您还应该提交一个执行
    ulimit-l
    的简单Torque作业脚本,以验证锁定内存的限制,并确保没有此类限制。请注意,
    ulimit-c unlimited
    并没有取消对锁定内存量的限制,而是取消了对核心转储文件大小的限制。

    非常感谢,Hristo。它解决了这个问题。我应该在这里为另一个面临同样问题的人提一件事。IPoIB似乎需要一段时间来准备,pbs_妈妈需要在IPoIB完全准备好后开始。因此,在chkconfig pbs_mom处于启用状态的情况下,如果上述所有操作都无法解决问题,则重新启动pbs_mom是值得尝试的。