«p4_error: ошибка дочернего процесса» при выполнении 256 потоков эталонного теста NAS на кластере из 32 узлов - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь получить тест UPC-NAS (скомпилированный для 256 потоков), работающий в кластере из 32 узлов. Когда я запускаю его, соединения rsh устанавливаются для 247 потоков, и он завершается, выдавая ошибку следующим образом

p0_11350:  p4_error: Child process exited while making connection to remote process on dell16: 0
506 rm_l_237_24446: (26.785156) net_send: corm_11947: (215.339844) net_srm_l_1rm_24412: (26.785156) net_send: could not write to fd=4, errnrrrm_l_127_5013: (121.984375) net_send: could not w    rite to fd=5, errno = 32

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

Отлично работает для небольших потоков, таких как 64, 128 и т. Д.

1 Ответ

2 голосов
/ 22 марта 2011

Errno 32 - это EPIPE (#define EPIPE 32 /* Broken pipe */).

Я предполагаю, что установлен некоторый предел дескриптора файла (отметьте ulimit -a).Или сетевые ограничения.Или сбой сети.

Также я должен упомянуть, что p4 является древним.Это может быть какой-то внутренний предел.Разработка p4 остановилась> 15 лет назад.Это своего рода очень стабильный код с точки зрения включения в Debian Stable.

Итак, почему вы используете mpich1?Можете ли вы перейти на менее древний mpich2?

...