2013-07-19 2 views
2

Когда я запускаю работу MPI через InfiniBand, я получаю следующее беспокойство. Мы используем Torque Manager.Как увеличить ограничение памяти OpenFabrics для заданий Torque?

-------------------------------------------------------------------------- 
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. 

-------------------------------------------------------------------------- 

Я прочитал ссылку на предупреждающее сообщение, и я сделал это до сих пор;

  1. Добавить options mlx4_core log_num_mtt=20 log_mtts_per_seg=4 на /etc/modprobe.d/mlx4_en.conf.
  2. Убедитесь, что следующие строки написаны на /etc/security/limits.conf
    • * soft memlock unlimited
    • * hard memlock unlimited
  3. Append session required pam_limits.so на /etc/pam.d/sshd
  4. Убедитесь ulimit -c unlimited является раскомментирована на /etc/init.d/pbs_mom

Может ли кто-нибудь помочь мне узнать, что мне не хватает?

ответ

3

Параметры mlx4_core позволяют регистрировать только 2^20 * 2^4 * 4 KiB = 64 GiB. С 192 ГБ физической памяти на узел и учитывая, что рекомендуется иметь как минимум в два раза больше регистрируемой памяти, вы должны установить log_num_mtt на 23, что увеличит предел до 512 ГБ - ближайшая мощность двух больше или равна вдвое объем оперативной памяти. Обязательно перезагрузите узел (ы) или выгрузите, а затем перезагрузите модуль ядра.

Вы также должны отправить простой скрипт задания момента, который выполняет ulimit -l, чтобы проверить ограничения на заблокированную память и убедиться, что такого ограничения нет. Обратите внимание, что ulimit -c unlimited не снимает ограничение на количество заблокированной памяти, а ограничивает размер файлов дампа ядра.

+0

Большое спасибо, Христо. Это исправляет проблему. – kjtanaka

+0

Я должен, вероятно, упомянуть об одном для другого человека, который сталкивается с той же проблемой. Кажется, IPoIB требует немного времени, чтобы подготовиться, и pbs_mom нужно запустить после того, как IPoIB полностью готов. Итак, в случае, когда chkconfig pbs_mom включен, перезапуск pbs_mom стоит попробовать, если все вышеописанное не устраняет проблему. – kjtanaka

Смежные вопросы