Войти

Показать полную графическую версию : Работа с распределенным вычислением


lxa85
17-02-2016, 19:39
Здравствуйте.
Нужна теоретическая поддержка, т.к. я несколько запутался в абстракциях.
Что есть?
Есть ПО, которое рассчитывает функцию с использованием нескольких потоков.
Для того, чтобы потоки не мешали друг другу работать, но вместе с тем обменивались друг с другом информацией они считывают кусок области памяти и могут обновлять его.
Вопросы следующие:
Если код запускается на машине Java, то где запускаются дополнительные процессы?
Команда
#ljp -lV
отдает запущенные JVM: запущенную программу, среду разработки NetBeans.
Выполняемых потоков я не вижу. И сказать что их действительно есть несколько потоков - я не могу.
Так же я не могу получить утилизацию процессора на 100%. Работает одно из ядер на полную, другие "прохлаждаются".

Второй момент.
Задача перейти к распределенным вычислениям.
Распределенные вычисления подразумевают под собой использование нескольких JVM вычислительных узлов.
Программа управления ими (GridGain) вроде бы сама умеет распределять нагрузку, а вроде и не умеет, есть противоречивые свидетельства.

Тут еще сложней.
Я не совсем понимаю принципы согласования (т.е. работа так же в асинхронном режиме).
JVM должны так же обращаться не которой единственной точке и информацией, чтобы продолжать вычисления.
Среда получается гетерогенная и получается мне нужен сетевой ресурс?
С другой - получается надо отправить вычислительную процедуру (довольно громоздкую) на другую JVM и ждать от нее ответа.

Запутался я :(




© OSzone.net 2001-2012