Java中的多节点并发

时间:2010-08-03 19:36:12

标签: java concurrency parallel-processing

我编写了一个多线程Java程序来解决一个令人尴尬的并行问题,它利用了多核CPU上的所有空闲CPU周期。我想重构我的解决方案,以便它可以在多个节点上运行,同时仍保留我已编写的大部分代码。

我过去曾使用过MP的MPI,并被告知这是解决CPU周期最大化问题的“正确”方法,但我也知道Java中的其他并发框架,如RMI,并想知道它们是否存在同样好。

有没有一种很好的方法来处理Java中的多节点和多核并发,其主要目标是尽可能利用群集中最多的CPU周期?

编辑:我的印象是没有简单的方法来处理这些问题。我并不感到惊讶,但我希望。 :)

4 个答案:

答案 0 :(得分:10)

取决于您正在做什么以及您可能想要查看的预算(无特定顺序)

另见:

答案 1 :(得分:7)

您可以尝试Hazelcast。它有一个分布式ExecutorService。这应该允许您将任务添加到跨任意数量的节点运行的服务。

答案 2 :(得分:5)

JMS是一个很好的起点。

答案 3 :(得分:4)

另外考虑Apache Hadoop,它使用MapReduce,非常适合许多并行解决方案。