Фреймворк Java / инструмент для простой задачи распределенных вычислений - PullRequest
3 голосов
/ 27 августа 2009

Мы генерируем PDF-файлы с данными о ежемесячном финансовом балансе десятков тысяч клиентов. На пике (100 000 файлов на конец года) процесс может занять до 5 дней, используя распределение нагрузки между 5 серверами. Распределение рабочей нагрузки выполняется вручную (например, сервер 1 генерирует pdf для клиентов с 1 по 20.000, сервер 2 с с 20.001 по 40.000 и т. Д.).

Мы используем Java, поэтому мы хотели бы использовать инструмент или инфраструктуру Java таким же образом, как BOINC (BOINC не закодирован в Java), что позволило бы нам иметь:

  • сервер, автоматически распространяющий данные и код среди рабочих и управляющий ими
  • рабочие (обычные двухъядерные рабочие столы, использующие бесплатные (или не очень) циклы ЦП) получают код, отправленный сервером, и исполняют его, используя данные в качестве входных данных, предоставляя некоторую обратную связь о состоянии и, наконец, что-то делают с выходными данными, например. отправка PDF-файлов в сетевое хранилище.

Пока что мы не хотим пробовать мощные и мощные наборы инструментов, такие как Globus Toolkit.

¿Знаете ли вы какие-либо Java-фреймворки / инструменты, подходящие для наших нужд? Открытый код был бы хорош, но мы не отказываемся от коммерческих решений.

Ответы [ 5 ]

2 голосов
/ 04 мая 2010

Оформить Сервис распределенных исполнителей Hazelcast . Он использует стандартный API Java ExecutorService.

2 голосов
/ 27 августа 2009
2 голосов
/ 27 августа 2009
0 голосов
/ 27 августа 2009

Еще один, на что вы можете посмотреть: Терракота .

0 голосов
/ 27 августа 2009

Google говорит, что здесь есть порт Java BOINC: http://boincoid.sf.net

В основном это касается андроида: - / но, очевидно, все, кроме графического интерфейса, могут работать на обычной виртуальной машине.

...