MPI应用程序在使用大量库的集群配置中冻结



我已经使用Java和MPJ Expresss开发了一个MPI应用程序。它在多核配置中完美工作。

最近,它允许我访问分布式内存环境,以便测试我的应用程序。首先,我使用MPJ HelloWorld应用程序检查集群配置是否正常工作。之后,我继续运行我的应用程序,但它在显示后冻结

MPJ Express(0.38)在集群配置中启动

更糟糕的是,我用Ctrl+C杀死了这个进程,并且无法运行HelloWorld应用程序。我不得不杀死所有机器中的MPJ守护进程,然后重新启动它们。

我甚至用HelloWorld类的相同内容替换我的主类的内容,看看它是否打印了什么。它没有。此外,我创建了一个HelloWorld应用程序,它的包结构与我的应用程序类似,HelloWorld运行得很好。

我可以注意到HelloWorld和我的应用程序之间的一大区别是,我有一组大小约为29.8MB的库,所以我尝试不将这些库添加到执行类路径中。它起了作用,但当然,我的应用程序是无用的,因为它在运行时找不到所需的库。

如果有任何意见和建议,我将不胜感激。

谢谢!

访问mpj express.org/readme.html并根据您的平台选择一个文件:

  • Linux/UNIX/Mac-http://mpj-express.org/docs/readme/README
  • Windows-http://mpj-express.org/docs/readme/README-win.txt

(Windows)服务"MPJ守护程序"应安装一次

然而,线程将在每个MPJ应用程序之前启动,并在MPJ应用之后停止,如果您使用的是Eclipse IDE。

注意:在命令行中,您可以启动线程,运行任意数量的程序,最后终止它们。


  • 写入"machine"文件
  • 启动守护程序:mpjboot计算机
  • 编译:javac-cp.:$MPJ_HOME/lib/MPJ.jar HelloWorld.java
  • 执行:mpjrun.sh-np 4-dev niodev HelloWorld
  • 停止守护程序:mpjhalt计算机

最新更新