У меня есть проект, над которым я работаю, но столкнулся с препятствием. Игра, которую мы должны реализовать, - это игра morra . По сути, каждый процесс - это игрок, а затем мы указываем, сколько раундов игры нужно выполнить. Поэтому для запуска программы мы используем следующую команду:
mpiexec -n ./morra
Полагаю, у меня отключена логика программы, поскольку она отлично работает для небольшого количества игроков. Я тестировал с 4, 6, 10, 25 игроками, и все было хорошо. Тем не менее, требования проекта включали тестирование до 500 или 1000 игроков.
Когда я попробовал это, моя программа просто зависает и даже не запускается. Я поставил оператор printf первым после main () и запустил игру с 500 игроками, а через минуту или две он, наконец, распечатал оператор и запустил программу. Что здесь происходит? Система ожидает и пытается выделить достаточно ресурсов для продолжения?
Также еще одно требование - запускать программу на кластере доступных нам узлов. Я создал файл хоста и убедился, что могу войти без ключа на все серверы и запустить его, но у меня была та же проблема времени ожидания, и часто сервер отключался. Я понимаю, что на серверах могут существовать правила, которые запускают кого-то при определенных условиях, но это все равно не объясняет, когда это не запускает меня, программа также не запустится.
Хотите знать, может ли кто-нибудь дать представление об этих проблемах? Я могу предоставить код / разделы кода, которые я написал, или общий макет моей программы или любую информацию, которую я мог бы опустить.
Большое спасибо.