Подтвердить что ты не робот

Multi- node concurrency в Java

Я написал многопоточную Java-программу для решения неловко параллельной проблемы, так что он использует все свободные циклы процессора на многоядерном процессоре. Я хотел бы реорганизовать мое решение, чтобы он мог работать на нескольких узлах, сохраняя при этом большую часть кода, который я уже написал.

Я использовал MPI с C в прошлом, и мне сказали, что это "правильный" способ решить проблему максимизации циклов процессора, но я также знаю о других параллельных структурах на Java, таких как RMI, и задаюсь вопросом, так же хороши.

Есть ли хороший способ обработки multi- node и многоядерного concurrency в Java, где основной целью является максимально возможное использование большинства циклов процессора из кластера?

Изменить. У меня создается впечатление, что нет простого способа справиться с этим. Я не удивлен, но я надеялся.:)

4b9b3361

Ответ 1

JMS - хорошее место для начала.

Ответ 2

В зависимости от того, что вы делаете, и вашего бюджета, который вы, возможно, захотите изучить (в определенном порядке)

Также смотрите:

Ответ 3

Вы можете попробовать Hazelcast. Он имеет распределенный ExecutorService. Это должно позволить вам добавлять задачи к службе, которая проходит через любое количество узлов.

Ответ 4

Также рассмотрите Apache Hadoop, он использует MapReduce и хорошо подходит для многих параллельных решений.