- •Метакомпьютинг и его задачи
- •2. Концепция Грид
- •Архитектура Грид
- •Фабрикаты: Интерфейсы локального управления.
- •Связь: Лёгкое и безопасное общение
- •Ресурс: Разделение отдельных ресурсов
- •3.4. Кооперация: Согласование множества ресурсов
- •Прикладной уровень
- •Понятие о виртуальной организации
- •Распределение ресурсов в Грид
- •2.Cистема boinc
- •2.2. База данных
- •2.3. Служба обработки состояния подзадач (Transitioner)
- •2.4. Служба проверки результатов (Validator)
- •2.5. Служба освоения (Assimilator)
- •2.6. Служба удаления файлов (File deleter)
- •2.7. Служба подачи (Feeder)
- •2.8. Планировщик (Scheduler)
- •2.9. Мост (Bridge)
- •2.10. Приложения boinc
- •2.11. Жизненный цикл задания
2.11. Жизненный цикл задания
Жизненный цикл задания и связанных с ним подзаданий выглядит следующим образом (рисунок 2):
программа генерации заданий (разработанная специально для проекта) создает подзадачи и необходимые для их расчета входные файлы;
BOINC создает для каждого из подзаданий один или несколько одинаковых экземпляров (в зависимости от настроек проекта);
планировщик BOINC распределяет подзадания различным клиентским программам;
каждая клиентская программа загружает с сервера входные файлы;
после расчета подзадания клиентская программа загружает выходные файлы на сервер;
клиентская программа отчитывается о выполнении подзадания (возможно, после небольшой задержки, необходимой для снижения нагрузки на программу-планировщик сервера);
служба проверки результатов (разработанная специально для проекта) проверяет выходные файлы, возможно, сравнивая результаты различных клиентских программ;
когда найдено каноническое решение, служба освоения (разработанная специально для проекта) обрабатывает результаты, например, помещая их в отдельную базу данных или отсылая на электронную почту;
когда все экземпляры подзадания завершены, служба удаления файлов удаляет ненужные больше входные и выходные файлы, а также очищает базу данных от информации о подзадании и его экземплярах.
Еще раз обратим внимание на то, что некоторые службы являются стандартными и не зависят от конкретного проекта и его реализации. Однако другие службы необходимо разрабатывать отдельно для каждого проекта – в этом и состоит дополнительная сложность, которой приходится расплачиваться за возможность проведения распределенных вычислений.
Рисунок 2. Жизненный цикл задания
В начало
Заключение
В этой статье представлено описание архитектурных основ, на которых строится система организации распределенных вычислений на базе BOINC. Модульный подход дает серверу BOINC гибкость, необходимую для обеспечения требуемого уровня безопасности, отказоустойчивости и производительности при больших нагрузках. Представленные здесь теоретические основы помогут нам в следующей статье развернуть полноценный сервер BOINC и создать первую программу, выполняющуюся с помощью распределенных вычислений.