Как распространять и поддерживать программу java / scala в кластере Linux?

У меня есть небольшой кластер Linux-машин и учетная запись на всех из них.
У меня есть ssh-доступ ко всем из них без входа в систему без пароля.

Как я могу использовать акторов или другую абстракцию параллелизма Scala для распространения?
Каков самый простой путь?
Может ли какая-нибудь библиотека распределять процессы за меня?

Компьютеры ненадежны, они могут включаться и выключаться, когда им (студентам) это нравится.
Может ли какая-нибудь библиотека распределять процессы для меня и следить за готовыми компьютерами?
Могу ли я избежать сценариев bash?


person Łukasz Lew    schedule 09.09.2010    source источник


Ответы (3)


Я бы использовал вместо вас Akka. Это распределенная вычислительная платформа для Scala и Java, основанная на модели Erlang Actor. В частности, философия «дай-а-ля», которую он унаследовал от Erlang, особенно хорошо подходит для среды, где узлы могут отключиться в любой момент.

person Daniel C. Sobral    schedule 09.09.2010
comment
Как я могу распределить актеров Akka? - person Łukasz Lew; 09.09.2010

Вы можете использовать сборку Scala для поддержки удаленных участников. Просмотрите Интернет или см. удаленных субъектов Scala для получения дополнительной информации.

Вы также можете взглянуть на GridGain - очень простой в использовании фреймворк для грид-вычислений для Java и Scala.

person gruenewa    schedule 09.09.2010

То, что вы ищете, - это сетка. Чтобы получить бесплатный, посетите http://www.jppf.org/.

JavaSpaces позволяет создавать распределенные структуры данных, упрощающие распределенные вычисления. Недешево, но посмотрите на GigaSpaces для надежной реализации.

Эта книга открыла мне глаза на возможности.

person Romain Hippeau    schedule 09.09.2010