Как я могу создать систему для распределенных вычислений? - PullRequest
1 голос
/ 06 января 2011

Я студентка факультета кибернетики и хочу написать один проект с использованием Java. Я хочу создать систему для распределенных вычислений.

Содержит следующие компоненты:
1. Основная программа пользователя (разная для каждой конкретной ситуации)
2. Программа задач пользователя, которая может решить только небольшую задачу (также различную для каждого случая)
3. Моя программа, которая будет взаимодействовать с основной программой пользователя, чтобы знать, какие задачи необходимо решить 4. Моя программа, которая будет взаимодействовать с программой задач пользователя, чтобы сообщить ей входные данные и получить выходные данные 5. Apache Tomcat и мои сервлеты + база данных, все это позволит:

  • зарегистрировать основную программу и узел расчетов в системе
  • сохранить в базе данных задачи из основной программы, сохранить результаты задач, которые будут отправлены с узлов
  • посмотреть статистическую информацию (сколько задач решено, сколько узлов в системе и т. Д.)

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

p.s. спасибо, извините за мой английский и помню, что я хочу написать свою собственную систему (поэтому я не могу использовать существующие решения)

Ответы [ 4 ]

2 голосов
/ 06 января 2011

Читайте о Линде и JavaSpaces .Затем прочтите Apache Hadoop и MapReduce .Это должно дать вам некоторые идеи о способах решения этих проблем.

0 голосов
/ 06 января 2011

Для изучения концепций я бы рекомендовал изучить, как работает Hadoop . Вы выучите тонну!

0 голосов
/ 06 января 2011

Скорость вашей сетевой системы будет зависеть, прежде всего, от того, насколько автономен каждый узел (т. Е. Зависит от новых данных), и насколько равномерно распределены процессы.Я уверен, что ваше решение будет напоминать многопроцессорную модель по необходимости.

0 голосов
/ 06 января 2011

Посмотрите Учебное пособие по удаленному вызову методов Java, чтобы понять основные принципы распределенного программирования.

...