我有一个正在进行的项目,但是遇到了障碍。我们必须实现的游戏是game of morra。基本上,每个过程都是玩家,然后我们指定要进行多少轮游戏。因此,要运行该程序,我们使用以下命令:
mpiexec -n ./morra
我认为我对此程序逻辑不满意,因为它适用于少量播放器。我正在与4、6、10、25位玩家进行测试,一切都很好。但是,该项目的要求包括测试最多500或1000个播放器。
尝试此操作时,我的程序只是挂起,甚至没有启动。我首先将printf语句放在main()之后,并与500个玩家一起运行了游戏,一两分钟后,它最终打印出了该语句并运行了程序。这里发生了什么?系统是否在等待并尝试分配足够的资源以继续?
另外,另一个要求是在我们可用的节点集群上运行程序。我创建了主机文件,并确保可以无密钥登录所有服务器并运行它,但是我遇到了相同的等待时间问题,并且经常会断开服务器连接。我了解服务器上可能存在某些规则,这些规则在某些条件下会导致某人被踢出,但仍然无法解释何时无法将我踢出,程序也不会启动。
想知道是否有人可以提供关于这些问题的任何见解。我可以提供我编写的代码/代码节,程序的总体布局或任何我可能遗漏的信息。
非常感谢您。