首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的高性能集群计算(及MPI)

Java中的高性能集群计算(及MPI)
EN

Stack Overflow用户
提问于 2014-06-12 19:26:06
回答 1查看 1.6K关注 0票数 0

我正在尝试使用Java和Windows操作系统来实现集群计算系统。我在找一个解决办法

  1. 不太过时
  2. 相当容易安装和安装
  3. 有足够的文档来开始使用类和方法,而不需要事先了解MPI。
  4. 至少在某种程度上是用户友好的

这可能是不可能的,但如果它在使用上接近Java并发框架,也会更好。

最初,我了解了一些关于Java并发包的知识,并且能够轻松地学习使用Runnable Interface和ExecutorService在本地8核计算机上编写并行程序,从而使我的所有类都在这个过程中实现线程安全。然而,我还没有找到一个标准的机制来将这个编程框架扩展到集群。

然后,我了解到一个名为(https://github.com/MicrosoftHPC/Java-Interop-Library )的https://github.com/MicrosoftHPC/Java-Interop-Library项目,它可以与Microsoft一起使用。我通过亚马逊EC2联网了几台云计算机,并安装了HPC。是编译和设置的噩梦。我不得不手动编辑几个批处理文件,甚至一些Java代码来编译它。当我开始工作(但不是所有的事情)的时候,我开始认为必须有一个更简单的方法,于是我又开始寻找。

我的新搜索让我找到了MPJ (http://mpj-express.org)。我阅读了网站上的文档,似乎很容易设置。他们甚至有关于如何将其与Eclipse和调试集成的文档。但是,我从来没有找到任何关于如何实际使用类和方法的文档(这里有一个简单的hello world示例,但它还不够)。

更多的搜索让我找到了MPIJava、Hadoop和GridGain。我没有使用MPI或MPJ的经验,并且知道MPJ是从MPIJava发展而来的,于是我开始尝试找到相关的文档。我找到了一些文档,但有些已经很老了,我不太确定我是否走上了正确的道路。我在另一个StackOverflow帖子上看到了对StackOverflow的提及,并访问了他们的网站。他们似乎有一个集群计算框架,一个简单的发布示例甚至使用了一些类,这些类似乎使用了可运行的对象,这在我看来很有吸引力,因为我对Java并发框架有过一些经验。我对Hadoop不太了解,只是这可能是可能的。

我真的需要一些更好的方向来完成集群计算(I)。我觉得我只是在旋转我的轮子。

EN

回答 1

Stack Overflow用户

发布于 2014-06-13 07:42:30

您可以使用MPJ,我假设您已经给了它一次机会,环境设置已经完成。MPJ可以在多中心模式和集群模式下执行并行Java应用程序。在此必须指出,相同的应用程序在两种模式下都可以工作,无需任何修改,因此您可以选择在多核模式下开发和测试应用程序,并且这样做也会悄悄地运行集群模式。虽然不太清楚您最终想要开发什么,但是就其Java而言,您可以在这里找到它们:http://mpj-express.org/docs/javadocs/index.html。这些是开发任何并行java应用程序所需的所有类和方法。

使用MPJ学习集群编程非常容易,因为您可以访问一组全面的工作示例。为此目的,解压缩MPJ并探索测试目录。它包含多个测试用例和并行Java应用程序的工作示例。您可以在mpj-v0_xx/test/mpi/pt2pt和mpj-v0_xx/test/mpi/ccl中分别有点对点通信和集体通信的示例。您可以通过使用点对点和集体通信方法来开发任何基本的并行应用程序。它将使您在使用Java学习集群编程方面处于领先地位。

如果您在集群上设置MPJ或执行测试目录中提供的示例时遇到任何问题,请告诉我。您还可以在MPJ邮件列表中将查询张贴在以下页面上:http://sourceforge.net/p/mpjexpress/mailman/?source=navbar

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24192426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档