Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовик.docx
Скачиваний:
12
Добавлен:
29.08.2019
Размер:
321.33 Кб
Скачать

2.11. Жизненный цикл задания

Жизненный цикл задания и связанных с ним подзаданий выглядит следующим образом (рисунок 2):

  • программа генерации заданий (разработанная специально для проекта) создает подзадачи и необходимые для их расчета входные файлы;

  • BOINC создает для каждого из подзаданий один или несколько одинаковых экземпляров (в зависимости от настроек проекта);

  • планировщик BOINC распределяет подзадания различным клиентским программам;

  • каждая клиентская программа загружает с сервера входные файлы;

  • после расчета подзадания клиентская программа загружает выходные файлы на сервер;

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

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

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

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

Еще раз обратим внимание на то, что некоторые службы являются стандартными и не зависят от конкретного проекта и его реализации. Однако другие службы необходимо разрабатывать отдельно для каждого проекта – в этом и состоит дополнительная сложность, которой приходится расплачиваться за возможность проведения распределенных вычислений.

Рисунок 2. Жизненный цикл задания  

В начало

Заключение

В этой статье представлено описание архитектурных основ, на которых строится система организации распределенных вычислений на базе BOINC. Модульный подход дает серверу BOINC гибкость, необходимую для обеспечения требуемого уровня безопасности, отказоустойчивости и производительности при больших нагрузках. Представленные здесь теоретические основы помогут нам в следующей статье развернуть полноценный сервер BOINC и создать первую программу, выполняющуюся с помощью распределенных вычислений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]