О: Мы наблюдали такую проблему при инсталляциях, использующих AFS. Программа удаленной shell rsh, поставляемая с некоторыми системами AFS, ограничивает количество задач, которые могут использовать стандартный вывод. Это предотвращает выход для некоторых процессов, вызывая зависание задачи. Существует четыре возможных пути решения:
int mask;вместо
mask |= 1 « fd;
select ( fd+1, &mask, ... );
fd_set mask;то этот код неправильный (вызов select изменился, чтобы разрешить более 32 десткипрторов файлов очень давно, а программа rsh (или программист!) не изменились со временем).
FD_SET (fd,&mask);
select ( fd+1, &mask, ... );
О: Это может произойти при использовании устройства ch_p4 и системы, имеющей исключительно малые ограничения на число удаленных shell, принадлежащих Вам. Некоторые системы используют ``Kerberos'' (пакет безопасности сети), позволяющий иметь только три или четыре удаленных shell; на этих системах размер MPI_COMM_WORLD будет ограничен этим же числом (плюс один, если Вы используете и локальную машину).
Единственный способ обойти это - попытаться использовать безопасный сервер; это описано в руководстве по инсталляции mpich. Отметьте, что Вы должны запускать серверы ``вручную'', поскольку скрипт chp4_servs использует удаленную shell для запуска серверов.