0

我开发了一个使用Java和MPJ Express的MPI应用程序。它在多核配置中完美工作。MPI应用程序在群集配置中使用大型库集合冻结

最近,它被授予我访问分布式内存环境,以测试我的应用程序。首先,我使用MPJ HelloWorld应用程序来检查群集配置是否正常。在那之后,我开始运行我的应用程序,但它显示后冻结:

MPJ快递(0.38)在群集配置

更糟糕的开始,是我杀了使用Ctrl + C和我的过程无法运行HelloWorld应用程序。我必须杀死所有机器中的MPJ守护进程并重新启动它们。

我甚至用同样的HelloWorld类的内容替换我的主类的内容,看它是否打印了一些东西。它没有。另外,我创建了一个HelloWorld应用程序,它具有与我的应用程序类似的包结构,并且HelloWorld非常棒。

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

我将不胜感激任何意见和建议。

谢谢!

回答

1

访问mpj-express.org/readme.html,并选择基础平台上的一个文件:

应该安装(Windows)服务“MPJ守护程序”一次

尽管如此,线程将在之前启动并暂停后每 MPJ应用程序, 如果您使用的是Eclipse IDE。

注意:在命令行上,您可以启动线程,根据需要运行尽可能多的程序,并最终终止它们。


  • 写 '机' 文件
  • 开始守护程序:mpjboot机
  • 编译:javac的-cp:$ MPJ_HOME/lib中/ mpj.jar HelloWorld.java
  • 执行:mpjrun.sh -np 4 -dev niodev HelloWorld
  • 停止守护进程:mpjhalt机器